• 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]];
    }
    


  • 相关阅读:
    深度学习面试问题
    重新学习pytorch的库函数等..
    新电脑的操作系统win10的所有设置问题汇总
    二叉搜索树,和红黑树,
    Most common words
    Word histogram
    Random numbers
    Word frequency analysis
    DSU
    Sequences of sequences
  • 原文地址:https://www.cnblogs.com/yangykaifa/p/6921595.html
Copyright © 2020-2023  润新知