有一种方法可以将图像添加到背景音频的锁定屏幕,同时设置曲目和艺术家名称。在WWDC 2011视频中也提到过,但没有具体的内容。我在文档中无处不在,无法找到它。我知道它只是iOS5的一部分,Spotify的最新版本具有此功能。有谁知道他们在哪里可以指出我正确的方向?
谢谢你, 马修
答案 0 :(得分:10)
以下是我找到的答案:
(1)您必须处理远程控制事件。你不能成为现在 除非你这样做,否则玩app。 (参见AudioMixer (MixerHost) sample) code。)
(2)设置正在播放信息:
MPNowPlayingInfoCenter *infoCenter = [MPNowPlayingInfoCenter defaultCenter];
infoCenter.nowPlayingInfo =
[NSDictionary dictionaryWithObjectsAndKeys:@"my title", MPMediaItemPropertyTitle,
@"my artist", MPMediaItemPropertyArtist,
nil];
这与您用于播放音频的API无关 视频。
答案 1 :(得分:3)
根据迈克尔斯的回答,只需附加
@{MPMediaItemPropertyArtwork: [[MPMediaItemArtwork alloc] initWithImage:[UIImage ...]]}
到nowPlayingInfo dict
可用密钥的完整选项是......
// MPMediaItemPropertyAlbumTitle
// MPMediaItemPropertyAlbumTrackCount
// MPMediaItemPropertyAlbumTrackNumber
// MPMediaItemPropertyArtist
// MPMediaItemPropertyArtwork
// MPMediaItemPropertyComposer
// MPMediaItemPropertyDiscCount
// MPMediaItemPropertyDiscNumber
// MPMediaItemPropertyGenre
// MPMediaItemPropertyPersistentID
// MPMediaItemPropertyPlaybackDuration
// MPMediaItemPropertyTitle
答案 2 :(得分:1)
使控制工作....
- (BOOL)canBecomeFirstResponder {
return YES;
}
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
}
- (void)viewWillDisappear:(BOOL)animated {
[[UIApplication sharedApplication] endReceivingRemoteControlEvents];
[self resignFirstResponder];
[super viewWillDisappear:animated];
}
- (void)remoteControlReceivedWithEvent:(UIEvent *)receivedEvent {
if (receivedEvent.type == UIEventTypeRemoteControl) {
switch (receivedEvent.subtype) {
case UIEventSubtypeRemoteControlPlay:
[player play];
break;
case UIEventSubtypeRemoteControlPause:
[player pause];
break;
case UIEventSubtypeRemoteControlTogglePlayPause:
if (player.playbackState == MPMoviePlaybackStatePlaying) {
[player pause];
}
else {
[player play];
}
break;
default:
break;
}
}
}
它仅适用于真实的iOS设备,而不适用于模拟器