繁体   English   中英

背景音频 - 锁屏上的图像

[英]Background Audio - Image on Lock Screen

有一种方法可以将图像添加到背景音频的锁定屏幕,同时设置轨道和艺术家名称。 在WWDC 2011视频中也提到过,但没有具体的内容。 我在文档中无处不在,无法找到它。 我知道它只是iOS5的一部分,Spotify的最新版本具有此功能。 有谁知道他们可以指向正确的方向?

谢谢,马修

这是我找到的答案:

(1)您必须处理远程控制事件。 除非你这样做,否则你不能成为正在播放的应用程序。 (请参阅AudioMixer(MixerHost)示例)代码 。)

(2)设置正在播放信息:

MPNowPlayingInfoCenter *infoCenter = [MPNowPlayingInfoCenter defaultCenter]; 
infoCenter.nowPlayingInfo = 
    [NSDictionary dictionaryWithObjectsAndKeys:@"my title", MPMediaItemPropertyTitle,
                                               @"my artist", MPMediaItemPropertyArtist,
                                               nil];

这与您用于播放音频或视频的API无关。

根据迈克尔斯的回答,只需追加即可

@{MPMediaItemPropertyArtwork: [[MPMediaItemArtwork alloc] initWithImage:[UIImage ...]]}

到nowPlayingInfo dict

可用密钥的完整选项是......

// MPMediaItemPropertyAlbumTitle
// MPMediaItemPropertyAlbumTrackCount
// MPMediaItemPropertyAlbumTrackNumber
// MPMediaItemPropertyArtist
// MPMediaItemPropertyArtwork
// MPMediaItemPropertyComposer
// MPMediaItemPropertyDiscCount
// MPMediaItemPropertyDiscNumber
// MPMediaItemPropertyGenre
// MPMediaItemPropertyPersistentID
// MPMediaItemPropertyPlaybackDuration
// MPMediaItemPropertyTitle

使控制工作....

- (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设备,而不适用于模拟器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM