iOS音樂后臺播放及鎖屏信息顯示
更新時間:2019年12月23日 09:24:01 作者:Zsk_Zane
這篇文章主要為大家詳細介紹了iOS音樂后臺播放及鎖屏信息顯示,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了iOS實現(xiàn)音樂的后臺播放,以及播放時,可以控制其暫停,下一首等操作,以及鎖屏圖片歌曲名等的顯示
此實例需要真機調(diào)試,效果圖如下:

工程下載:github工程下載
實現(xiàn)步驟:
1、首先修改info.plist

2、其次引入兩個需要的框架
#import <AVFoundation/AVFoundation.h> #import <MediaPlayer/MediaPlayer.h>
3、設(shè)置播放器及后臺播放
- (void)viewDidLoad {
[super viewDidLoad];
// 設(shè)置后臺播放
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
// 設(shè)置播放器
NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"那些花兒" ofType:@"mp3"] ];
_player = [[AVPlayer alloc] initWithURL:url];
[_player play];
_isPlayingNow = YES;
//后臺播放顯示信息設(shè)置
[self setPlayingInfo];
}
#pragma mark - 接收方法的設(shè)置
- (void)remoteControlReceivedWithEvent:(UIEvent *)event {
if (event.type == UIEventTypeRemoteControl) { //判斷是否為遠程控制
switch (event.subtype) {
case UIEventSubtypeRemoteControlPlay:
if (!_isPlayingNow) {
[_player play];
}
_isPlayingNow = !_isPlayingNow;
break;
case UIEventSubtypeRemoteControlPause:
if (_isPlayingNow) {
[_player pause];
}
_isPlayingNow = !_isPlayingNow;
break;
case UIEventSubtypeRemoteControlNextTrack:
NSLog(@"下一首");
break;
case UIEventSubtypeRemoteControlPreviousTrack:
NSLog(@"上一首 ");
break;
default:
break;
}
}
}
4、設(shè)置后臺播放時顯示的東西,例如歌曲名字,圖片等
- (void)setPlayingInfo {
// <MediaPlayer/MediaPlayer.h>
MPMediaItemArtwork *artWork = [[MPMediaItemArtwork alloc] initWithImage:[UIImage imageNamed:@"pushu.jpg"]];
NSDictionary *dic = @{MPMediaItemPropertyTitle:@"那些花兒",
MPMediaItemPropertyArtist:@"樸樹",
MPMediaItemPropertyArtwork:artWork
};
[[MPNowPlayingInfoCenter defaultCenter] setNowPlayingInfo:dic];
}
5、遠程控制設(shè)置
- (void)viewDidAppear:(BOOL)animated {
// 接受遠程控制
[self becomeFirstResponder];
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
}
- (void)viewDidDisappear:(BOOL)animated {
// 取消遠程控制
[self resignFirstResponder];
[[UIApplication sharedApplication] endReceivingRemoteControlEvents];
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
iOS開發(fā)中不合法的網(wǎng)絡(luò)請求地址如何解決
這篇文章主要介紹了iOS開發(fā)中不合法的網(wǎng)絡(luò)請求地址的解決方案,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-09-09
iOS開發(fā)中UIImageView控件的常用操作整理
這篇文章主要介紹了iOS開發(fā)中UIImageView控件的常用操作整理,代碼基于傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-01-01
iOS數(shù)據(jù)持久化UserDefaults封裝器使用詳解
這篇文章主要為大家介紹了iOS數(shù)據(jù)持久化UserDefaults封裝器使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-02-02

