有关AvAudioPlayer,AvPlayer的音、视频后台播放的问题
2016-05-16 17:07
441 查看
| 本地音频 | 网络音频 | 本地视频 | 网络视频 |
AvAudioPlayer | 可播、 可后台 | 可播、 可后台 | 可播、 可后台 | 不可播 |
AvPlayer | 可播、 可后台 | 可播、 可后台 | 可播、 不可后台 | 可播、 不可后台 |
#后台播放实现方法:
1.在plist文件中加入以下字段:
2.在播放器创建的后面加上这些代码:
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setActive:YES error:nil];
[session setCategory:AVAudioSessionCategoryPlayback error:nil];
完成以上两步,就可实现后台播放功能。
#远程控制的实现方法:
1.在创建播放器的类中添加如下代码:
(代码1)声明App接收远程控制事件
- (void) viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[[UIApplication sharedApplication]
beginReceivingRemoteControlEvents];
[self becomeFirstResponder];
}
- (void) viewWillDisappear:(BOOL)animated
{
[super viewWillDisappear:animated];
[[UIApplication sharedApplication]
endReceivingRemoteControlEvents];
[self resignFirstResponder];
}
- (BOOL)canBecomeFirstResponder
{
return YES;
}
(代码2)处理具体的播放、暂停、前进、后退等具体事件
- (void)remoteControlReceivedWithEvent:(UIEvent *)event{
if (event.type ==
UIEventTypeRemoteControl) {
switch (event.subtype) {
case UIEventSubtypeRemoteControlTogglePlayPause:
[self playAction:self.playBtn];
break;
case UIEventSubtypeRemoteControlPreviousTrack://上一曲
[self playLastButton:self.nextButton];
break;
case UIEventSubtypeRemoteControlNextTrack: //下一曲
[self playNextSong:self.nextButton];
break;
case UIEventSubtypeRemoteControlPlay://播放
[self playAndStopSong:self.playButton];
break;
case UIEventSubtypeRemoteControlPause: //暂停
[self playAndStopSong:self.playButton];
break;
default:
break;
}
}
}
说明:
1、 后台播放视频时的个人观点:使用AvPlayer播放视频,到后台时,使用AvAudioPlayer播放相同视频的音频,并设置音频的进度和音量从视频的断点开始,即可实现无缝后台播放,但此视频必须是本地视频,流视频无法实现。
(参照MoliPlayer App中的本地视频后台播放)
相关文章推荐
- linux下数据库实例、监听开机自启动设置
- openstack 创建虚拟机
- CentOs7 网卡出现问题Job for network.service failed
- 微雪的Open103V STM32F103VET6 最新版的HAL库全套示例程序和手册
- linux单机LAMP环境搭建
- Centos 系统下快速安装pip
- Linux 一些问题
- centos系统查看系统版本、内核版本、系统位数、cpu个数、核心数、线程数
- zabbix在centos下安装
- 开源新闻速递:Linux 4.6 内核发布
- linux 下备份那些事
- 嵌入式Linux之我行——ARM MMU工作原理剖析
- Xshell复制粘贴便捷设置
- [iPhone高级] 基于XMPP的IOS聊天客户端程序(XMPP服务器架构)
- Linux grep基本用法与正则表达式
- Mac 搭建本地Apache服务器
- 前端一些网站
- part1:12-sudo用户管理和Linux密码故障排除
- tomcat编译乱码问题
- django static + apache mod_wsgi部署