Tôi đang làm việc để cập nhật MPNowPlayingInfoCenter và gặp một chút rắc rối. Tôi đã thử một chút đến mức tôi đang thua lỗ. Sau đây là mã của tôi:MPNowPlayingInfoCenter defaultCenter sẽ không cập nhật hoặc truy xuất thông tin
self.audioPlayer.allowsAirPlay = NO;
Class playingInfoCenter = NSClassFromString(@"MPNowPlayingInfoCenter");
if (playingInfoCenter) {
NSMutableDictionary *songInfo = [[NSMutableDictionary alloc] init];
MPMediaItemArtwork *albumArt = [[MPMediaItemArtwork alloc] initWithImage:[UIImage imageNamed:@"series_placeholder"]];
[songInfo setObject:thePodcast.title forKey:MPMediaItemPropertyTitle];
[songInfo setObject:thePodcast.author forKey:MPMediaItemPropertyArtist];
[songInfo setObject:@"NCC" forKey:MPMediaItemPropertyAlbumTitle];
[songInfo setObject:albumArt forKey:MPMediaItemPropertyArtwork];
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:songInfo];
}
này không làm việc, tôi cũng đã cố gắng:
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:nil];
Trong một nỗ lực để có được nó để loại bỏ các thông tin hiện có từ các ứng dụng iPod (hoặc bất kỳ có thể có thông tin ở đó). Bên cạnh đó, chỉ để xem nếu tôi có thể tìm ra được vấn đề, tôi đã cố gắng lấy thông tin hiện hành về ra mắt ứng dụng:
NSDictionary *info = [[MPNowPlayingInfoCenter defaultCenter] nowPlayingInfo];
NSString *title = [info valueForKey:MPMediaItemPropertyTitle];
NSString *author = [info valueForKey:MPMediaItemPropertyArtist];
NSLog(@"Currently playing: %@ // %@", title, author);
và tôi nhận được Currently playing: (null) // (null)
Tôi đã nghiên cứu này khá một chút và các bài viết sau đây giải thích nó khá kỹ lưỡng, tuy nhiên, tôi vẫn không thể làm việc này đúng cách. Tui bỏ lỡ điều gì vậy? Sẽ có bất cứ điều gì can thiệp với điều này? Đây có phải là dịch vụ mà ứng dụng của tôi cần đăng ký để truy cập (không thấy điều này trong bất kỳ tài liệu nào) không?
Change lock screen background audio controls
là phương tiện truyền thông chơi khi mã này thực hiện? – Ravin
Tôi đã thử với phát âm thanh (qua MPMoviePlayer) và không có cùng kết quả –
in [MPNowPlayingInfoCenter defaultCenter] bằng nslog. Trong tài liệu họ nói: Trung tâm thông tin hiện đang chơi mặc định giữ thông tin đang phát cho ứng dụng được chỉ định làm người nhận cho các sự kiện điều khiển từ xa. Bạn đang phát phương tiện trên một số thiết bị từ xa? đảm bảo phương tiện đang phát trên một số thiết bị từ xa. Bởi vì các tài liệu nói: Các sự kiện điều khiển từ xa cho phép người dùng điều khiển đa phương tiện ứng dụng thông qua các điều khiển vận chuyển hệ thống hoặc thông qua một phụ kiện bên ngoài. – Ravin