ios 视频播放代码Demo

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ios 视频播放代码Demo相关的知识,希望对你有一定的参考价值。

方法一:
- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.  
    //利用自带MPMoviePlayerController来实现视频播放,首先要在 项目中导入MediaPlayer.Framework框架包.
    //在试图控制器中导入#import "MediaPlayer/MPMoviePlayerController.h"
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 568)];
    imageView.image = [UIImage imageNamed:@"00013"];
    [self.view addSubview:imageView];
    [imageView release];
    
    // 播放视频按钮
    UIButton *playButton = [UIButton buttonWithType:UIButtonTypeSystem];
    playButton.frame = CGRectMake(200, 30, 100, 30);
    [playButton addTarget:self action:@selector(playClick:) forControlEvents:UIControlEventTouchUpInside];
    [playButton setTitle:@"播放视频" forState:UIControlStateNormal];
    
    playButton.backgroundColor = [UIColor greenColor];
    playButton.layer.cornerRadius = 5;
    playButton.layer.masksToBounds = YES;
    [self.view addSubview:playButton];
}

- (void)playClick:(UIButton *)btn
{
    //视频文件路径,此视频已经存入项目包中.属于本地播放
    NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"mp4"];
    //视频URL
    NSURL *url = [NSURL fileURLWithPath:path];
    //视频播放对象
    MPMoviePlayerController *movie = [[MPMoviePlayerController alloc] initWithContentURL:url];
    movie.controlStyle = MPMovieControlStyleFullscreen;
    [movie.view setFrame:self.view.bounds];
    movie.initialPlaybackTime = -1;
    [self.view addSubview:movie.view];
    //注冊一个播放结束的通知, 当播放结束时, 监听到而且做一些处理
    //播放器自带有播放通知的功能, 在此只只须要注冊观察者监听通知的就可以
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(myMovieFinishedCallback:) name:MPMoviePlayerPlaybackDidFinishNotification
      object:movie];
    [movie play];
}

- (void)myMovieFinishedCallback:(NSNotification *)notify
{
    //视频播放对象
    MPMoviePlayerController *theMovie = [notify object];
    //销毁播放通知
    [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerPlaybackDidFinishNotification object:(theMovie)];
    //释放视频对象
    [theMovie.view release];
}

方法二:
- (void)viewDidLoad
{
    //首先要在 项目中导入MediaPlayer.Framework框架包.
    //在试图控制器中导入#import <MediaPlayer/MediaPlayer.h>
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    NSURL *videoURL;
    NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"mp4"];
    //推断是网络地址还是本地播放地址
    if ([path hasPrefix:@"http://"]) {
        videoURL = [NSURL URLWithString:path]; 
    }else{
        videoURL = [NSURL fileURLWithPath:path];
    }
    MPMoviePlayerViewController *_moviePlayerController= [[MPMoviePlayerViewController alloc] initWithContentURL:videoURL];
    [_moviePlayerController.view setFrame:CGRectMake(0,100,320,200)];
    _moviePlayerController.moviePlayer.movieSourceType=MPMovieSourceTypeFile;
    [_moviePlayerController.moviePlayer setScalingMode:MPMovieScalingModeNone];
    [_moviePlayerController.moviePlayer setRepeatMode:MPMovieRepeatModeNone];
    [_moviePlayerController.moviePlayer setControlStyle:MPMovieControlModeVolumeOnly];
    [_moviePlayerController.moviePlayer setFullscreen:NO animated:YES];
    [_moviePlayerController.moviePlayer play];
    //视频播放组件的容器,加这个容器是为了兼容ios6,假设不加容器在iOS7以下没有不论什么问题,假设在iOS6以下视频的播放画面会自己主动铺满self.view;
    UIView *moviePlayView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 320, 568)];
    [self.view addSubview:moviePlayView];
    [moviePlayView addSubview:[_moviePlayerController.moviePlayer view]];
}




以上是关于ios 视频播放代码Demo的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发_初识视频直播

12mmaction2 行为识别商用级别X3D复现 demo实现 检测自己的视频 Expanding Architecturesfor Efficient Video Recognition(代码片段

如何使用iOS实现视频的直播点播缓存?-HTTP Live Streaming (HLS)

android 视频开发 集成vitamio 播放rtsp m3u8 视频 有图有demo

任务完成但出现错误 - 代码:-999 ios 使用 avplayer 播放视频

如何在本地搭建一个EasyPlayer的H5 demo 播放H265视频流?