iOS 视频AVFoundation使用
来源:互联网 发布:java入门什么书 编辑:程序博客网 时间:2024/04/29 18:18
iOS9弃用了MPMoviePlayerViewController 使用了AVPlayerViewViewController 框架
其中:
1.AVPlayer 播放音视频
2.AVPlayerItem 音频的对象
3.AVPlayerLayer 播放显示视频的图层界面
4.AVPlayerViewController 调节控件
流程:
AVPlayer(视频播放器) ->去播放AVPlayerItem视频播放的元素 ->展示播放的视图AVPlayerLayer方法:
//监听播放状态[AVPlayerItemaddObserver:selfforKeyPath:@"status"options:NSKeyValueObservingOptionNewcontext:nil];
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSString *,id> *)change context:(void *)context
{
// NSLog(@"%@",change[@"new"]);
switch ([change[@"new"]integerValue]) {
case0:{
NSLog(@"未知状态");
break;
}
case1:{
NSLog(@"获得视频总时长 %f",CMTimeGetSeconds(player.currentItem.duration));
break;
}
case2:{
NSLog(@"加载失败");
break;
}
default:
break;
}
}
记得
removeObserver
//监听结束[[NSNotificationCenterdefaultCenter]addObserver:selfselector:@selector(moviePlayDidEnd:)name:AVPlayerItemDidPlayToEndTimeNotificationobject:player.currentItem];
//开始暂停进度调整等都提供了API
视频截图
#pragma mark -截取视频-
- (UIImage*) thumbnailImageForVideo:(NSURL *)videoURL {
AVURLAsset *asset = [[AVURLAssetalloc] initWithURL:videoURLoptions:nil];
AVAssetImageGenerator *gen = [[AVAssetImageGeneratoralloc] initWithAsset:asset];
gen.appliesPreferredTrackTransform =YES;
CMTime time =CMTimeMakeWithSeconds(2.0,600);
NSError *error =nil;
CMTime actualTime;
CGImageRef image = [gencopyCGImageAtTime:time actualTime:&actualTimeerror:&error];
UIImage *thumbImg = [[UIImagealloc] initWithCGImage:image];
return thumbImg;
}
- iOS 视频AVFoundation使用
- IOS开发:怎样使用AVFoundation生成视频缩略图
- IOS 用AVFoundation 展示视频
- 使用 AVFoundation 实现视频倒序
- iOS开发-AVFoundation 视频流处理
- iOS学习:AVFoundation 视频流处理
- iOS学习:AVFoundation 视频流处理
- iOS AVFoundation(二)之视频播放
- iOS-音视频采集 by AVFoundation
- IOS使用AVFoundation在视频上添加字幕以及控制字幕时间
- iOS 视频录制、播放,使用视听媒体框架AVFoundation实现视频录制播放 —— HERO博客
- iOS - AVFoundation
- IOS 使用AVFoundation 扫描条形码、二维码等
- iOS使用AVFoundation实现二维码扫描
- iOS开发进阶 - 用AVFoundation自定义视频录制功能
- iOS 加载网络视频之(AVFoundation.framewor)的MPMoviePlayerController
- iOS 视频捕获系列Swift之AVFoundation(一)
- ios开发技巧之:用AVFoundation自定义视频录制功能
- WinCE下应用程序开机自启动
- form表单提交数据丢失问题
- Android应用端秒开优化体验
- Oracle Fusion Middleware产品系简介
- Git 进阶:Submodule
- iOS 视频AVFoundation使用
- Servlet的生命周期方法
- Wire protocol buffers的使用
- 深入理解SQL的四种连接
- Linux上安装Qt-SDK
- 关于Ehcache缓存中timeToLiveSeconds和timeToIdleSeconds
- ACM--大数相加--HDOJ 1002--A + B Problem II
- 播放功能
- 【CodeForces】[615A]Bulbs