iOS中 MPMoviePlayer 实现视频音频播放 作者:韩俊强
来源:互联网 发布:js手册中文版下载 编辑:程序博客网 时间:2024/05/29 10:12
ios播放视频文件一般使用 MPMoviePlayerViewController 和 MPMoviePlayerController。前者是一个view,后者是个Controller。区别就是 MPMoviePlayerViewController里面包含了一个MPMoviePlayerController
注意:MPMoviePlayerViewController 必须 presentMoviePlayerViewControllerAnimated方式添加,否则Done按钮是不会响应通知MPMoviePlayerPlaybackDidFinishNotification事件的;
首先要包含 #import <MediaPlayer/MediaPlayer.h>头文件和MediaPlayer.framework。
MPMovieControlModeDefault 显示播放 / 暂停、音量和时间控制
MPMovieControlModeVolumeOnly 只显示音量控制
MPMovieControlModeHidden 没有控制器
你可以使用下列宽高比值:
MPMovieScallingModeNone 不做任何缩放
MPMovieScallingModeAspectFit 适应屏幕大小,保持宽高比
MPMovieScallingModeAspectFill 适应屏幕大小,保持宽高比,可裁剪
MPMovieScallingModeFill 充满屏幕,不保持宽高比
//通知
MPMoviePlayerContentPreloadDidFinishNotification 当电影播放器结束对内容的预加载后发出。因为内容可以在仅加载了一部分的情况下播放,所以这个通知可能在已经播放后才发出。
MPMoviePlayerScallingModeDidChangedNotification 当用户改变了电影的缩放模式后发出。用户可以点触缩放图标,在全屏播放和窗口播放之间切换。
MPMoviePlayerPlaybackDidFinishNotification 当电影播放完毕或者用户按下了 Done 按钮后发出
===============================================================================
需要引进的框架:MediaPlayer.framework
第一步:引进框架设置属性
#import "RootViewController.h"#import <MediaPlayer/MediaPlayer.h>@interface RootViewController ()@property (nonatomic, strong) MPMoviePlayerController *moviePlayer;@end@implementation RootViewController
调用:
- (void)viewDidLoad { [super viewDidLoad]; // 5.调用播放器 //播放网络视频 NSString *urlString = @"http://video.szzhangchu.com/qiaokeliruanxinbudingA.mp4"; //播放本地视图,找到文件的路径 // NSString *urlStr = [[NSBundle mainBundle] pathForResource:@"优酷网-唐豆豆微信摇一摇惨被骗.mp4" ofType:nil]; [self createMPPlayerController:urlString]; }
第二步:创建播放器
- (void)createMPPlayerController:(NSString *)string{ // 1.初始化播放器 //准备网址// NSURL *urlString = [NSURL fileURLWithPath:fileNamePath]; NSURL *urlString = [NSURL URLWithString:string]; //初始化播放器 self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:urlString]; //准备播放// [_moviePlayer prepareToPlay]; //设置moviePlayer的frame _moviePlayer.view.frame = self.view.frame; //添加到父视图 [self.view addSubview:_moviePlayer.view]; // 2.配置属性 //是否自动播放,默认是NO _moviePlayer.shouldAutoplay = YES; //设置播放器的样式 [_moviePlayer setControlStyle:(MPMovieControlStyleFullscreen)]; //开始播放 [_moviePlayer play]; // 3.注册通知 //注册通知 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinshed:) name:MPMoviePlayerPlaybackDidFinishNotification object:nil]; }
第三步:实现通知方法
// 4.实现通知中的方法- (void)movieFinshed:(NSNotification *)sender{ //取出通知中心的moviePlayer MPMoviePlayerController *movie = [sender object]; //移除观察者 [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:nil]; //将movie移出父视图 [movie.view removeFromSuperview]; }
最终效果:
关注博主微博每日更新技术:http://weibo.com/hanjunqiang
- iOS中 MPMoviePlayer 实现视频音频播放 作者:韩俊强
- MPMoviePlayer 视频播放
- iphone之MPMoviePlayer 视频播放
- iphone之MPMoviePlayer 视频播放
- iOS音频、视频播放
- iphone之MPMoviePlayer 视频播放(转)
- IOS自动播放音频/视频
- iOS 视频音频播放器
- iOS 视频音频播放器 文件管理的实现
- iOS音频播放,视频播放连接
- iOS中 MediaPlayer framework实现视频播放 韩俊强的博客
- iOS 实现播放本地音频
- iOS开发 音频播放、录音、视频播放、拍照、视频录制
- iOS 音频播放,录音,视频播放,拍照,视频录制
- iOS 音频播放、录音、视频播放、拍照、视频录制
- iOS开发:音频播放、录音、视频播放、拍照、视频录制
- iOS音频播放、录音、视频播放、拍照、视频录制
- iOS--音频播放、录音、视频播放、拍照、视频录制
- Myeclipse中使用Myeclipse Hibernate工作模式创建数据库连接详细流程
- ubuntu下安装beyond compare3.3.13,含key
- android拍照获得图片URI为null的处理方法
- android 更新SDK错误
- android requestWindowFeature使用详解
- iOS中 MPMoviePlayer 实现视频音频播放 作者:韩俊强
- Pdf文档在线编辑控件源码及演示
- Git Technical Notes
- mvp android 另一篇文章
- LPC2388驱动PHY-DP83848
- iOS之 view视图的创建和它的Frame、bounds、center属性
- 字符串的简单处理
- Git Cheetsheet
- javascript函数的使用