Tôi có ứng dụng iOS7 với trình phát nhạc. Tôi đang sử dụng mã sau để kiểm tra các thay đổi trạng thái phát lại từ MPMusicPlayerController để cập nhật giao diện người dùng. Chính xác hơn, tôi chuyển đổi giao diện của nút phát giữa phát và tạm dừng.iOS7 MPMusicPlayerBộ điều khiển trạng thái không chính xác
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector (handle_NowPlayingItemChanged:)
name: MPMusicPlayerControllerNowPlayingItemDidChangeNotification
object: self.musicPlayer];
[[NSNotificationCenter defaultCenter] addObserver: self
selector: @selector (handle_PlaybackStateChanged:)
name: MPMusicPlayerControllerPlaybackStateDidChangeNotification
object: self.musicPlayer];
[self.musicPlayer beginGeneratingPlaybackNotifications];
nếu tôi chạy ứng dụng trên iOS7 trên iPad hoặc iPhone, tôi nhận được chuỗi sau đây thay vì chỉ một callback duy nhất:
-[MyMediaPlayer handle_PlaybackStateChanged:] :: playbackState: 1
-[MyMediaPlayer handle_PlaybackStateChanged:] :: playbackState: 2
-[MyMediaPlayer handle_PlaybackStateChanged:] :: playbackState: 1
-[MyMediaPlayer handle_PlaybackStateChanged:] :: playbackState: 2
playbackState 2 có nghĩa MPMusicPlaybackStatePaused và gây ra ứng dụng của tôi để hiển thị sai trạng thái trong giao diện người dùng, trong khi bài hát thực sự được phát lại. Nó không có nghĩa là gọi lại được gọi là 4 lần, với giá trị xen kẽ.
Điều này xảy ra khi chỉ thay đổi hàng đợi. Có vẻ như hệ thống không xóa hàng đợi đúng cách.
Bất kỳ ý tưởng nào về cách giải quyết vấn đề này?
Có, tôi đã gửi một lỗi cho Apple nhưng tôi cần một giải pháp để giải quyết ... – swifferina
@ user1763004 Không có cách nào giải quyết vấn đề này. Nếu bạn đôi khi được phát sai trạng thái phát lại, không có cách nào để xác định xem nó có đúng hay sai trong một thời gian nhất định. Tôi đoán lựa chọn duy nhất khác là có cả nút phát và tạm dừng, nhưng tôi đoán đó không phải là thứ bạn muốn. – sooper
Tôi gặp sự cố này trên trình phát nhạc.Không có cách nào để thoát khỏi điều đó cho đến nay. Đây là một vấn đề nghiêm trọng trên iOS7. – loretoparisi