MPMoviePlayerViewController和MPMoviePlayerController的使用

ios播放视频文件一般使用 MPMoviePlayerViewController 和 MPMoviePlayerController。前者是一个view,后者是个Controller。区别就是MPMoviePlayerViewController里面包含了一个MPMoviePlayerController

先说MPMoviePlayerController

首先要包含 #import <MediaPlayer/MediaPlayer.h>头文件和MediaPlayer.framework。

- (void)createMPPlayerController:(NSString *)sFileNamePath {

NSURL *movieURL = [NSURL fileURLWithPath:sFileNamePath];

MPMoviePlayerController *movewController =[[MPMoviePlayerController alloc] initWithContentURL:movieURL];

[movewController prepareToPlay];

[self.view addSubview:movewController.view];//设置写在添加之后   // 这里是addSubView

movewController.shouldAutoplay=YES;

[movewController setControlStyle:MPMovieControlStyleDefault];

[movewController setFullscreen:YES];

[movewController.view setFrame:self.view.bounds];

这里注册相关操作的通知

[[NSNotificationCenter defaultCenter] addObserver:self

selector:@selector(movieFinishedCallback:)

name:MPMoviePlayerPlaybackDidFinishNotification

object:moveViewController.movewController]; //播放完后的通知

[movewController release];

}

-(void)movieFinishedCallback:(NSNotification*)notify {

MPMoviePlayerController* theMovie = [notify object];

[[NSNotificationCenter defaultCenter] removeObserver:self

name:MPMoviePlayerPlaybackDidFinishNotification

object:theMovie];

[theMovie.view removeFromSuperview];

[theMovie release];

}

//////////////////////////////// end

2.介绍下MPMoviePlayerViewController。

注意:MPMoviePlayerViewController 必须 presentMoviePlayerViewControllerAnimated方式添加,否则Done按钮是不会响应通知MPMoviePlayerPlaybackDidFinishNotification事件的;

- (void)createMPPlayerController:(NSString *)sFileNamePath {

MPMoviePlayerViewController *moviePlayer =[[MPMoviePlayerViewController alloc] initWithContentURL:[NSURL fileURLWithPath:sFileNamePath]];

[moviePlayer.moviePlayer prepareToPlay];

[self presentMoviePlayerViewControllerAnimated:moviePlayer]; // 这里是presentMoviePlayerViewControllerAnimated

[moviePlayer.moviePlayer setControlStyle:MPMovieControlStyleFullscreen];

[moviePlayer.view setBackgroundColor:[UIColor clearColor]];

[moviePlayer.view setFrame:self.view.bounds];

[[NSNotificationCenter defaultCenter] addObserver:self

selector:@selector(movieFinishedCallback:)

name:MPMoviePlayerPlaybackDidFinishNotification

object:moviePlayer.moviePlayer];

[moviePlayer release];

}

-(void)movieStateChangeCallback:(NSNotification*)notify  {

//点击播放器中的播放/ 暂停按钮响应的通知

}

-(void)movieFinishedCallback:(NSNotification*)notify{

// 视频播放完或者在presentMoviePlayerViewControllerAnimated下的Done按钮被点击响应的通知。

MPMoviePlayerController* theMovie = [notify object];

[[NSNotificationCenter defaultCenter] removeObserver:self

name:MPMoviePlayerPlaybackDidFinishNotification

object:theMovie];

[self dismissMoviePlayerViewControllerAnimated];

}

以下是资料

moviePlayer.moviewControlMode = MPMovieControlModeDefault;

MPMovieControlModeDefault            显示播放/暂停、音量和时间控制

MPMovieControlModeVolumeOnly         只显示音量控制

MPMovieControlModeHidden             没有控制器

moviePlayer.scallingMode = MPMovieScallingModeAspectFit;

你可以使用下列宽高比值:

MPMovieScallingModeNone            不做任何缩放

MPMovieScallingModeAspectFit       适应屏幕大小,保持宽高比

MPMovieScallingModeAspectFill      适应屏幕大小,保持宽高比,可裁剪

MPMovieScallingModeFill            充满屏幕,不保持宽高比

你会观察到以下通知:

MPMoviePlayerContentPreloadDidFinishNotification

当电影播放器结束对内容的预加载后发出。因为内容可以在仅加载了一部分的情况下播放,所以这个通知可能在已经播放后才发出。

MPMoviePlayerScallingModeDidChangedNotification

当用户改变了电影的缩放模式后发出。用户可以点触缩放图标,在全屏播放和窗口播放之间切换。

MPMoviePlayerPlaybackDidFinishNotification

当电影播放完毕或者用户按下了Done按钮后发出。

MPMoviePlayerViewController和MPMoviePlayerController的使用,布布扣,bubuko.com

时间: 2024-11-13 18:12:56

MPMoviePlayerViewController和MPMoviePlayerController的使用的相关文章

iOS开发--利用MPMoviePlayerViewController播放视频简单实现

一.MPMoviePlayerViewController和MPMoviePlayerController区分开,前者继承自NSObject,后者继承自UIViewController 二.MPMoviePlayerViewController只能用modal出来的形式播放,并且一定是全屏的播放 1 #import "ViewController.h" 2 #import <MediaPlayer/MediaPlayer.h> 3 4 @interface ViewCont

关于MPMoviePlayerController以及MPMoviePlayerViewControlle流媒体视频播放

项目中用到了视频播放,我网上查了一下,发现了用类MPMoviePlayerController以及MPMoviePlayerViewControlle来实现.其实后面的MPMoviePlayerViewControlle还是通过MPMoviePlayerController来实现的.因为MPMoviePlayerViewController.moviePlayer  =   MPMoviePlayerController .所以,下面我主要说MPMoviePlayerController. MP

iOS开发系列--音频播放、录音、视频播放、拍照、视频录制

iOS开发系列--音频播放.录音.视频播放.拍照.视频录制 转载:http://www.cnblogs.com/kenshincui/p/4186022.html#avFoundationCamera --iOS多媒体 概览 随着移动互联网的发展,如今的手机早已不是打电话.发短信那么简单了,播放音乐.视频.录音.拍照等都是很常用的功能.在iOS中对于多媒体的支持是非常强大的,无论是音视频播放.录制,还是对麦克风.摄像头的操作都提供了多套API.在今天的文章中将会对这些内容进行一一介绍: 音频 音

直播代码

iOS开发系列--音频播放.录音.视频播放.拍照.视频录制 2014-12-26 09:15 by KenshinCui, 223819 阅读, 81 评论, 收藏,  编辑 --iOS多媒体 概览 随着移动互联网的发展,如今的手机早已不是打电话.发短信那么简单了,播放音乐.视频.录音.拍照等都是很常用的功能.在iOS中对于多媒体的支持是非常强大的,无论是音视频播放.录制,还是对麦克风.摄像头的操作都提供了多套API.在今天的文章中将会对这些内容进行一一介绍: 音频 音效 音乐 音频会话 录音

音频播放、录音、视频播放、拍照、视频录制-b

随着移动互联网的发展,如今的手机早已不是打电话.发短信那么简单了,播放音乐.视频.录音.拍照等都是很常用的功能.在iOS中对于多媒体的支持是非常强大的,无论是音视频播放.录制,还是对麦克风.摄像头的操作都提供了多套API.在今天的文章中将会对这些内容进行一一介绍: 音频 音效 音乐 音频会话 录音 音频队列服务 视频 MPMoviePlayerController MPMoviePlayerViewController AVPlayer 摄像头 UIImagePickerController拍照

(转载)iOS 多媒体

音频:(音效.音乐) 在iOS中音频播放从形式上可以分为音效播放和音乐播放.前者主要指的是一些短音频播放,通常作为点缀音频,对于这类音频不需要进行进度.循环等控制.后者指的是一些较长的音频,通常是主音频,对于这些音频的播放通常需要进行精确的控制.在iOS中播放两类音频分别使用AudioToolbox.framework和AVFoundation.framework来完成音效和音乐播放. 音效: AudioToolbox.framework是一套基于C语言的框架,使用它来播放音效其本质是将短音频注

iOS开发 - 多媒体

音频播放 在iOS中音频播放从形式上可以分为音效播放和音乐播放.前者主要指的是一些短音频播放,通常作为点缀音频,对于这类音频不需要进行进度.循环等控制.后者指的是一些较长的音频,通常是主音频,对于这些音频的播放通常需要进行精确的控制.在iOS中播放两类音频分别使用AudioToolbox.framework和AVFoundation.framework两个框架来完成音效和音乐播放. 一.音效 AudioToolbox.framework是一套基于C语言的框架,使用它来播放音效其本质是将短音频注册

iOS中 MPMoviePlayer 实现视频音频播放 作者:韩俊强

ios播放视频文件一般使用 MPMoviePlayerViewController 和 MPMoviePlayerController.前者是一个view,后者是个Controller.区别就是 MPMoviePlayerViewController里面包含了一个MPMoviePlayerController 注意:MPMoviePlayerViewController 必须   presentMoviePlayerViewControllerAnimated方式添加,否则Done按钮是不会响应

github视频录制播放相关功能-参考

lookingstars/JZVideoDemo  视频播放器 Updated on 11 Aug Objective-C 15 10 caoguoqing/VideoEditDemo  iOS video cut ,also can add blackgroundmusic iOS 视频剪辑,视频添加背景音乐 Updated on 13 Jun 2014 Objective-C 139 50 835239104/KrVideoPlayerPlus  根据36Kr开源的KRVideoPlayer