iOS 后台音频播放控制,锁屏音频播放控制及音频信息设置,效果图如下:
1.在 AppDelegate.m 中实现下面方法,获取音频播放、暂停、上一首、下一首点击事件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
- ( BOOL )canBecomeFirstResponder
{
return YES;
}
//锁屏界面控制监听
- ( void )remoteControlReceivedWithEvent:(UIEvent *)event
{
if (event.type == UIEventTypeRemoteControl) {
switch (event.subtype) {
case UIEventSubtypeRemoteControlPlay:
{
//播放
NSLog(@ "Play" );
break ;
}
case UIEventSubtypeRemoteControlPause:
{
//暂停
NSLog(@ "Pause" );
break ;
}
case UIEventSubtypeRemoteControlNextTrack:
{
//下一首
NSLog(@ "Next" );
break ;
}
case UIEventSubtypeRemoteControlPreviousTrack:
{
//上一首
NSLog(@ "Previous" );
break ;
}
default :
break ;
}
}
}
|
2.设置锁屏信息:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
//设置锁屏信息
- ( void )setLockingInfo
{
Class playingInfoCenter = NSClassFromString(@ "MPNowPlayingInfoCenter" );
if (playingInfoCenter) {
//音频模型
HWMusicModel *model = [HWMusicTool playingMusic];
//数据信息
NSMutableDictionary *songInfo = [[NSMutableDictionary alloc] init];
//图片
MPMediaItemArtwork *albumArt = [[MPMediaItemArtwork alloc] initWithImage:[UIImage imageWithUrlString:model.icon]];
[songInfo setObject:albumArt forKey:MPMediaItemPropertyArtwork];
//当前播放时间
[songInfo setObject:[NSNumber numberWithDouble:[[[HWMusicTool shareMusicTool] Player] currentPlaybackTime]] forKey:MPNowPlayingInfoPropertyElapsedPlaybackTime];
//速率
[songInfo setObject:[NSNumber numberWithFloat:1.0f] forKey:MPNowPlayingInfoPropertyPlaybackRate];
//剩余时长
[songInfo setObject:[NSNumber numberWithDouble:[[[HWMusicTool shareMusicTool] Player] duration]] forKey:MPMediaItemPropertyPlaybackDuration];
//设置标题
[songInfo setObject:model.title forKey:MPMediaItemPropertyTitle];
//设置副标题
[songInfo setObject:@ "周杰伦 - 周杰伦的床边故事" forKey:MPMediaItemPropertyArtist];
//设置音频数据信息
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:songInfo];
}
}
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/hero_wqb/article/details/51777183