你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS用MPMoviePlayerViewController 播放MP4視頻

iOS用MPMoviePlayerViewController 播放MP4視頻

編輯:IOS開發綜合

iOS播放視頻

iOS sdk為播放視頻提供了非常簡便方法,提供的MPMoviePlayerViewController類作為開發使用,在iOS4以前的版本是MPMoviePlayerController。

在iPhone開發規范中禁止使用私有API播放視頻,因此播放畫面的控制的控件都是有iPhone提供好的,我們沒有別的選擇。我們能做的:

加載URL中視頻

播放、暫停視頻

用戶控制行為和縮放模式

產生通知

MPMoviePlayerController還可以播放互聯網上的視頻文件。但是建議你先將視頻文件下載到本地,然後播放。如果你不這樣做,iOS可能會拒絕播放很大的視頻文件。

這個類定義在MediaPlayer framework中。在你的應用程序中,先添加這個引用,然後修改MediaPlayerViewController.h文件。

ViewController.h

#import

#import

@interface ViewController : UIViewController

{

MPMoviePlayerViewController *moviePlayerView;

}

- (IBAction)playMovies:(id)sender;

-(void)playingDone;

@end


ViewController.m

#import "ViewController.h"

@interface ViewController ()

@end


@implementation ViewController

- (void)viewDidLoad

{

[super viewDidLoad];

//初始化通知

[[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(playingDone) name:MPMoviePlayerPlaybackDidFinishNotification object:nil];

}

- (IBAction)playMovies:(id)sender {

//初始化播放器並且設定播放模式

moviePlayerView = [[MPMoviePlayerViewController alloc]initWithContentURL:[NSURL fileURLWithPath: [[NSBundle mainBundle]pathForResource:@"po" ofType:@"mp4"]]];

//設定播放模式

moviePlayerView.moviePlayer.controlStyle = MPMovieControlStyleFullscreen;

//控制模式(觸摸)

moviePlayerView.moviePlayer.scalingMode = MPMovieScalingModeAspectFill;

// MPMovieControlStyleNone

//MPMovieControlStyleEmbedded

//MPMovieControlStyleDefault

//開始播放

[[[UIApplication sharedApplication]keyWindow]addSubview:moviePlayerView.view];

/*視頻文件可以播放資源目錄、沙箱目錄和網絡播放。本例中我們采用資源目錄。

moviePlayerView.moviePlayer屬性是MPMoviePlayerController類型,它有的controlStyle屬性

可以控制播放行為,它的取值有:

MPMovieControlStyleFullscreen

MPMovieControlStyleNone沒有播放控件

MPMovieControlStyleEmbedded

MPMovieControlStyleDefault

MPMoviePlayerController類還有scalingMode屬性用於控制影片的尺寸,它的取值有:

MPMovieScalingModeNone原始尺寸

MPMovieScalingModeAspectFit縮放到一個填充方向

MPMovieScalingModeAspectFill填充兩邊可能會切除一部分

MPMovieScalingModeFill填充兩邊可能會改變比例

*/}


-(void)playingDone

{

NSLog(@"播放完成");

[moviePlayerView.view removeFromSuperview];

moviePlayerView = nil;

}


-(void)dealloc

{

//移除通知

[[NSNotificationCenter defaultCenter]removeObserver:self];

}

@end


  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved