ios後臺播放音樂
来源:互联网 发布:java电信计费系统 编辑:程序博客网 时间:2024/06/10 09:02
1、首先在didFinishLaunchingWithOptions加如下代碼:
//后台播放音频设置
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setActive:YES error:nil];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];
//让app支持接受远程控制事件
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
加了AVAudioSession在後臺的時候會上一首、暫停、下一首的一排控件出現。
2、在Supporting Files的info.plist 的required background modes選項選擇App plays audio。
3、上面設置完了就可以後臺播放,要控制上一首什麼的畫需要在didFinishLaunchingWithOptions設置:
//让app支持接受远程控制事件
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
然後再需要控制的View,的viewDidLoad和dealloc分別設置:
[self becomeFirstResponder];
[self resignFirstResponder];
在加上:
-(BOOL)canBecomeFirstResponder
{
returnYES;
}
- (void) remoteControlReceivedWithEvent: (UIEvent *) receivedEvent {
if (receivedEvent.type == UIEventTypeRemoteControl) {
switch (receivedEvent.subtype) {
case UIEventSubtypeRemoteControlPause:
{
//暫停
}
break;
case UIEventSubtypeRemoteControlPlay:
{
//播放
}
break;
case UIEventSubtypeRemoteControlPreviousTrack:
{
//上一首
}
break;
case UIEventSubtypeRemoteControlNextTrack:
{
//下一首
}
break;
default:
break;
}
}
}
這樣就可以控制音樂的上一首、下一首。暫停等操作了。
4、為了後臺控制畫面漂亮一點,可以加藝術家、歌名、照片等。需要導入MediaPlayer.framework,在該view加入頭文件,增加設置方法。
#import <MediaPlayer/MPNowPlayingInfoCenter.h>
#import <MediaPlayer/MPMediaItem.h>
-(void)configPlayingInfo
{
if(NSClassFromString(@"MPNowPlayingInfoCenter")){
NSMutableDictionary *dict=[[NSMutableDictionary alloc]init];
[dict setObject:@“愛你一萬年” forKey:MPMediaItemPropertyTitle];
[dict setObject:@“劉德華” forKey:MPMediaItemPropertyArtist]
MPMediaItemArtwork *albumArt = [ [MPMediaItemArtwork alloc] initWithImage: [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:url]]]];
[dict setObject: albumArt forKey:MPMediaItemPropertyArtwork ];
[[MPNowPlayingInfoCenter defaultCenter]setNowPlayingInfo:dict];
}
}
5、這樣就是一個像樣的播放器了,但是播放網絡歌曲,在後臺切換,老是會閃一下,網上說是音樂停止播放,程序會suspend,
要通过申请后台taskID达到后台切换播放文件,但是試了好像沒效果,後來在每次音樂play的適合都調一下configPlayingInfo,就不閃了。
//后台播放音频设置
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setActive:YES error:nil];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];
//让app支持接受远程控制事件
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
加了AVAudioSession在後臺的時候會上一首、暫停、下一首的一排控件出現。
2、在Supporting Files的info.plist 的required background modes選項選擇App plays audio。
3、上面設置完了就可以後臺播放,要控制上一首什麼的畫需要在didFinishLaunchingWithOptions設置:
//让app支持接受远程控制事件
[[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
然後再需要控制的View,的viewDidLoad和dealloc分別設置:
[self becomeFirstResponder];
[self resignFirstResponder];
在加上:
-(BOOL)canBecomeFirstResponder
{
returnYES;
}
- (void) remoteControlReceivedWithEvent: (UIEvent *) receivedEvent {
if (receivedEvent.type == UIEventTypeRemoteControl) {
switch (receivedEvent.subtype) {
case UIEventSubtypeRemoteControlPause:
{
//暫停
}
break;
case UIEventSubtypeRemoteControlPlay:
{
//播放
}
break;
case UIEventSubtypeRemoteControlPreviousTrack:
{
//上一首
}
break;
case UIEventSubtypeRemoteControlNextTrack:
{
//下一首
}
break;
default:
break;
}
}
}
這樣就可以控制音樂的上一首、下一首。暫停等操作了。
4、為了後臺控制畫面漂亮一點,可以加藝術家、歌名、照片等。需要導入MediaPlayer.framework,在該view加入頭文件,增加設置方法。
#import <MediaPlayer/MPNowPlayingInfoCenter.h>
#import <MediaPlayer/MPMediaItem.h>
-(void)configPlayingInfo
{
if(NSClassFromString(@"MPNowPlayingInfoCenter")){
NSMutableDictionary *dict=[[NSMutableDictionary alloc]init];
[dict setObject:@“愛你一萬年” forKey:MPMediaItemPropertyTitle];
[dict setObject:@“劉德華” forKey:MPMediaItemPropertyArtist]
MPMediaItemArtwork *albumArt = [ [MPMediaItemArtwork alloc] initWithImage: [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:url]]]];
[dict setObject: albumArt forKey:MPMediaItemPropertyArtwork ];
[[MPNowPlayingInfoCenter defaultCenter]setNowPlayingInfo:dict];
}
}
5、這樣就是一個像樣的播放器了,但是播放網絡歌曲,在後臺切換,老是會閃一下,網上說是音樂停止播放,程序會suspend,
要通过申请后台taskID达到后台切换播放文件,但是試了好像沒效果,後來在每次音樂play的適合都調一下configPlayingInfo,就不閃了。
0 0
- ios後臺播放音樂
- iOS播放提示音
- iOS播放系统提示音
- 实现ios提示音播放与震动
- 实现ios提示音播放与震动
- iOS播放自定义提示音和震动
- iOS-音视频播放的简单实现
- iOS 音视频之mp3播放
- ios 播放声音 播放震动
- iOS播放系统声音
- iOS-播放系统声音
- ios后台播放音乐
- ios后台播放
- iOS视频播放代码
- iOS 播放gif 动画
- ios音频播放--归纳
- IOS 播放音乐实例
- IOS 视频播放实例
- 项目BUG总结
- mysql常用语句
- Java任意时间获得该时间所在周周一
- Maven详解之仓库------本地仓库、远程仓库
- 关于PATHINFO的重写规则解析
- ios後臺播放音樂
- iOS数组count操作(NSUInteger)的安全性
- Microsoft COM+组件接口的方法的重载问题。
- Codeforces Round #312 (Div. 2) C. Amr and Chemistry(技巧)
- java AJAX实现级联下拉框
- Linux虚拟机ftp客户端与Windows ftp服务器建立连接的方法
- 启动tomcat提示内存不足
- Android使用Ant自动编译签名打包详解
- Error pulling origin: error: The following untracked working tree files would be overwritten by