iOS音樂后臺播放及鎖屏信息顯示
本文實(shí)例為大家分享了iOS實(shí)現(xiàn)音樂的后臺播放,以及播放時,可以控制其暫停,下一首等操作,以及鎖屏圖片歌曲名等的顯示
此實(shí)例需要真機(jī)調(diào)試,效果圖如下:
工程下載:github工程下載
實(shí)現(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) { //判斷是否為遠(yuǎn)程控制 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、遠(yuǎn)程控制設(shè)置
- (void)viewDidAppear:(BOOL)animated { // 接受遠(yuǎn)程控制 [self becomeFirstResponder]; [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; } - (void)viewDidDisappear:(BOOL)animated { // 取消遠(yuǎn)程控制 [self resignFirstResponder]; [[UIApplication sharedApplication] endReceivingRemoteControlEvents]; }
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Flutter Widgets MediaQuery控件屏幕信息適配
這篇文章主要為大家介紹了Flutter Widgets 之 MediaQuery控件獲取屏幕信息和屏幕適配示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11詳解iOS游戲開發(fā)中Cocos2D的坐標(biāo)位置關(guān)系
這篇文章主要介紹了iOS游戲開發(fā)中Cocos2D的坐標(biāo)位置關(guān)系,Cocos2D是專門用來開發(fā)iOS游戲的開源框架,文中示例代碼采用Objective-C語言,需要的朋友可以參考下2016-02-02iOS實(shí)現(xiàn)換膚功能的簡單處理框架(附源碼)
這篇文章主要給大家介紹了關(guān)于iOS實(shí)現(xiàn)換膚功能的簡單處理框架,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02