博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
避免MPMoviePlayerViewController播放完毕后自动dismiss,进入后台自动dismiss
阅读量:6637 次
发布时间:2019-06-25

本文共 1640 字,大约阅读时间需要 5 分钟。

 

MPMoviePlayerViewController已经实现了一些通知的监听并对MPMoviePlayerController实现了一些控制,比如:

 


1. 监听UIApplicationDidEnterBackgroundNotification通知,调用[movieplayer stop],播放器停止。

2. 监听MPMoviePlayerPlaybackDidFinishNotification(调用stop方法或视频播放结束时发送通知)通知,调用dismiss方法移除自身。


 

需求1:app中一个课程包含若干个章节,所以每次播放完一个章节后要求直接加载播放下一个课程。

遇到问题:由于MPMoviePlayerViewController监听了MPMoviePlayerPlaybackDidFinishNotification通知,当一个视频播放完毕,它会在监听方法中       调用dismissMoviePlayerViewControllerAnimated方法,播放器视图就直接移除了。

解决方法:

// self为MPMoviePlayerViewController的一个实例对象。        [[NSNotificationCenter defaultCenter] removeObserver:self                                                        name:MPMoviePlayerPlaybackDidFinishNotification                                                      object:nil];

 

需求2: app进入后台时播放器暂停,回到应用时继续播放

遇到问题:由于MPMoviePlayerViewController监听了UIApplicationDidEnterBackgroundNotification通知,当进入后台时,调用stop方法,随后接      收到MPMoviePlayerPlaybackDidFinishNotification通知,调用dismiss方法移除自身视图。

解决方法:移除MPMoviePlayerViewController对UIApplicationDidEnterBackgroundNotificationMPMoviePlayerPlaybackDidFinishNotification      通知的监听,并实现自己的监听方法

// UIApplicationDidEnterBackgroundNotification通知 - (void)appEnterBackground:(NSNotification*)notice{
  // 进入后台时记录当前播放时间 overlay_flags.playTimeWhenEnterBackground = _player.currentPlaybackTime; [_player pause];} // UIApplicationWillEnterForegroundNotification通知 - (void)appEnterForeground:(NSNotification*)notice {
  // 设置播放速率为正常速度,设置当前播放时间为进入后台时的时间 [_player setCurrentPlaybackRate:1.0]; [_player setCurrentPlaybackTime:overlay_flags.playTimeWhenEnterBackground]; }

 

 

转载于:https://www.cnblogs.com/sagiwei/archive/2012/11/28/2792696.html

你可能感兴趣的文章
mysql分表的3种方法(转)
查看>>
WCF RIA Services使用详解(转载)
查看>>
TabActivity与Activity之间的动画跳转(主要Tabhost中跳转出来的动画效果解决)
查看>>
MySql 密码过期
查看>>
高斯混合模型 GMM
查看>>
[hihoCoder] 后序遍历
查看>>
模型选择的方法:AIC,k-折交叉验证
查看>>
JAVA中的内部类
查看>>
[ Algorithm ] LCS 算法 动态规划解决
查看>>
Kettle提高输入输出数据总结
查看>>
-Linux下的虚拟机安装与管理
查看>>
Servlet和JSP之有关Servlet和JSP的梳理(二)
查看>>
linux下如何制作ext4文件系统镜像
查看>>
GPIO_Mode
查看>>
iOS总结一
查看>>
SimpleDateFormat使用详解
查看>>
如何获取DedeCms相关文章的代码
查看>>
采访~
查看>>
我对接口测试的理解
查看>>
软件工程师能力自我评价
查看>>