播放电影文件:

iOS sdk中可以使用MPMoviePlayerController来播放电影文件。但是在iOS设备上播放电影文件有严格的格式要求,只能播放下面两个格式的电影文件。

• H.264 (Baseline Profile Level 3.0)

• MPEG-4 Part 2 video (Simple Profile)
MPMoviePlayerController可以播放本地视频文件,也可以播放互联网上的视频文件。

首先在项目中需要引入Media Player 框架

项目-->Targets-->Build Phases-->Link Binary With Libraries

点击左下角的+号

IOS上MediaPlayer framework实现视频播放-LMLPHP

找到MediaPlayer.framework并添加

IOS上MediaPlayer framework实现视频播放-LMLPHP

在需要使用库的地方添加下面的代码:

  1. #import <MediaPlayer/MediaPlayer.h>

本项目名为MediaPlayerTest,源码如下:

VideoPlayerViewController.h 头文件代码:

  1. #import <UIKit/UIKit.h>
  2. #import <MediaPlayer/MediaPlayer.h>
  3. @interface ViewController : UIViewController
  4. {
  5. UIButton *playBtn;
  6. MPMoviePlayerController *moviePlayer;
  7. }
  8. @property (retain, nonatomic) IBOutlet UIButton *playBtn;
  9. @property (retain, nonatomic) MPMoviePlayerController *moviePlayer;
  10. - (IBAction)playVideo:(id)sender;
  11. @end

VideoPlayerViewController.m 实现文件代码:

  1. #import "ViewController.h"
  2. #import <MediaPlayer/MediaPlayer.h>
  3. @interface ViewController ()
  4. @end
  5. @implementation ViewController
  6. @synthesize playBtn;
  7. @synthesize moviePlayer;
  8. - (void)viewDidLoad
  9. {
  10. [super viewDidLoad];
  11. self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:
  12. [NSURL URLWithString:@"http://v.youku.com/player/getRealM3U8/vid/XNTY2MTAxOTUy/type/video.m3u8"]];
  13. self.moviePlayer.movieControlMode = MPMovieControlModeDefault;
  14. [self.moviePlayer.view setFrame:CGRectMake(0, 0, 320, 380)];
  15. // Do any additional setup after loading the view, typically from a nib.
  16. }
  17. - (void)didReceiveMemoryWarning
  18. {
  19. [super didReceiveMemoryWarning];
  20. // Dispose of any resources that can be recreated.
  21. }
  22. - (IBAction)playVideo:(id)sender
  23. {
  24. NSLog(@"Into playvideo.");
  25. [self.view insertSubview:[self.moviePlayer view] atIndex:10];
  26. [self.moviePlayer play];
  27. }
  28. @end

MainStoryboard.storyboard:

将ViewController的playBtn和IB的Button关联起来

IOS上MediaPlayer framework实现视频播放-LMLPHP

将Button的Touch Up Inside事件和View Controller的playVideo操作关联起来

IOS上MediaPlayer framework实现视频播放-LMLPHP

运行结果:

IOS上MediaPlayer framework实现视频播放-LMLPHP

IOS上MediaPlayer framework实现视频播放-LMLPHP

参考:

IOS 6编程-使用MPMoviePlayerController类实现视频播放器

iOS开发之多媒体播放

简单iPhone视频播放器

05-26 01:00