MPMoviePlayer浅谈
2015-05-19 15:38
288 查看
初始化
准备工作
属性
协议控制
本地文件:
网络文件:
registerMPMoviePlayerLoadStateDidChangeNotification notification
check load state by accessing the loadState property
配置属性
movieSourceType(可以加快加载速度)
fullscreen (是否全屏)
scalingMode (适屏模式)
controlStyle (控制界面)
playableDuration (已播放)
view (播放视图)
backgroundView (可自定义播放控制)
initialPlaybackTime 视频播放的起始点
(关于解决iOS貌似不支持到问题)
endPlaybackTime 视频播放的结束点
缓存属性
在播放代码[player play];之后,New一个timer执行上面的代码。
[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(moviePlay) userInfo:nil repeats:YES];
准备工作
属性
协议控制
初始化
(instancetype)initWithContentURL:(NSURL *)url本地文件:
[[NSBundle mainBundle]URLForAuxiliaryExecutable:] [NSURL fileURLWithPath:]
网络文件:
[NSURL URLWithstring:]
准备工作
call the prepareToPlay methodregisterMPMoviePlayerLoadStateDidChangeNotification notification
check load state by accessing the loadState property
配置属性
movieSourceType(可以加快加载速度)
fullscreen (是否全屏)
scalingMode (适屏模式)
controlStyle (控制界面)
属性
duration (时长)playableDuration (已播放)
view (播放视图)
backgroundView (可自定义播放控制)
initialPlaybackTime 视频播放的起始点
(关于解决iOS貌似不支持到问题)
[[NSNotificationCenter defaultCenter] addObserverForName:MPMoviePlayerLoadStateDidChangeNotification object:nil queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification *note) { if (IOSSystemVersion >= 6.0) { if (moviePlayerView.moviePlayer.playbackState == MPMoviePlaybackStatePlaying) { [moviePlayerView.moviePlayer setCurrentPlaybackTime:initialPlaybackTime]; } } }];
endPlaybackTime 视频播放的结束点
缓存属性
NSArray *events = playerViewController.moviePlayer.accessLog.events; int count = events.count; for (int i = 0; i < count; i++) { MPMovieAccessLogEvent *currentEvent = [events objectAtIndex:i]; double byts = currentEvent.indicatedBitrate; int64_t byte = currentEvent.numberOfBytesTransferred; int64_t bytes = currentEvent.numberOfBytesTransferred >> 10; NSMutableString *strBytes = [[NSMutableString alloc] initWithCapacity:100]; [strBytes appendFormat:@"totalSize = %d byte", bytes]; if (bytes > 1024) { bytes = bytes >> 10; [bytesS setString:@""]; [bytesS appendFormat:@"total = %d M", bytes]; } NSLog(@"byte = %f M bytes = %lld", (float)byte / (1024 * 1024), bytes); }
在播放代码[player play];之后,New一个timer执行上面的代码。
[NSTimer scheduledTimerWithTimeInterval:0.5 target:self selector:@selector(moviePlay) userInfo:nil repeats:YES];
协议控制
MPMediaPlayback 不需要delegate,只用遵守协议方法即可相关文章推荐
- Android开发入门之音乐播放器
- Android开发入门之在线视频播放器
- Android MediaPlayUtil 简单工具类
- Android--MediaPlayDemo简单的音乐播放器
- 垂直的SeekBar探讨
- 音乐播放
- 安卓开发 第十四篇 视频播放
- Android多媒体播放器
- Android入门教程 MediaPlayer教程【使用进度条】
- Android自定义系列(2)——拟物化类弹窗式视频播放窗口
- Android中实现一个简单音乐播放器
- android mediaplay的使用中,stop和start的调用问题
- PMP考试答题九技巧-刘俊平
- PMP计算公式
- PMI职业道德规范
- PMP重要考试点总结
- [IOS]使用MPMoviePlayerController播放在线音频
- src.rpm包安装方法
- 【数据运营】产品经理思维如何颠覆营销?
- rpm 使用