2017-09-04 23 views
6

Tôi gặp vấn đề với máy nghe nhạc, hầu hết các ca khúc mang đến cho LỗiMPMusicPlayer Lỗi miền = MPErrorDomain Code = 4?

Lỗi miền = MPErrorDomain Mã = 4

Các thiết bị thử nghiệm có đăng ký nhạc Apple và các ca khúc mang đến cho lỗi trên ứng dụng họ đang làm việc tốt trong ứng dụng âm nhạc của Apple!

Đây là mã:

let applicationMusicPlayer = MPMusicPlayerController.systemMusicPlayer() 
applicationMusicPlayer.setQueueWithStoreIDs([ID]) 

     if #available(iOS 10.1, *) 
     { 

     applicationMusicPlayer.prepareToPlay { (error) in 

      if (error != nil) 
      { 
       print("[MUSIC PLAYER] Error preparing : \(String(describing: error))") 
       return 
      }else 
      { 
       self.start_timer(); 
       self.applicationMusicPlayer.play() 
      } 

     } 

     }else 
     //Play directly ios below version 10.1 
     { 
     self.applicationMusicPlayer.play() 
     } 

    } 

Nhưng những gì tôi đã cố gắng, khi theo dõi cho lỗi này, tôi đi đến máy nghe nhạc của Apple và chơi nó từ đó làm việc của mình, sau đó tôi trở lại của tôi ứng dụng và chơi nó từ ứng dụng của tôi làm việc của nó cũng tốt, vì vậy tôi cần phải đi đến ứng dụng âm nhạc của Apple để chơi bài hát không chơi trong ứng dụng của tôi để làm cho họ làm việc trong ứng dụng của tôi! Đó là kỳ lạ bất kỳ ý tưởng tại sao?

PS: các thiết bị thử nghiệm có của Apple âm nhạc thuê bao

+0

Các bài hát có đưa ra lỗi được tải xuống thiết bị không? Hoặc là họ trong thư viện người dùng nhưng không được tải xuống điện thoại? –

+0

@MicahWilson các bài hát từ API từ xa, nó cung cấp các bài hát táo với epf_id <- store ID trong táo, một số là công trình và hầu hết trong số họ không đưa ra lỗi trên – Jack

+0

Nhưng khi tôi đi đến âm nhạc táo và chơi nó từ đó chơi, sau đó chúng tôi tôi đã trở lại ứng dụng và chơi nó từ ứng dụng của tôi chơi của nó cũng không có lỗi – Jack

Trả lời

6

tôi đã có một số vấn đề tương tự khi thêm bài hát vào danh sách phát, giải quyết nó bằng cách sử dụng:

DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(5)) { 
    // Code 
} 

tôi sẽ chơi xung quanh với chờ đợi một chút trước khi hoặc sau khi chuẩn bị.

5 giây có thể quá nhiều, nhưng bạn có thể bắt đầu từ đó

Các vấn đề liên quan