1010cc时时彩标准版 > 操作系统 > AVPlayerViewController录制播放器,各种摄像播放介绍

原标题:AVPlayerViewController录制播放器,各种摄像播放介绍

浏览次数:126 时间:2019-08-12

AVPlayerViewController摄像播放器,avplayercontroller

前言

iOS8随后系统自带使用AVPlayerViewController播放录制

录制播放

一. 录制播放介绍

落到实处方案多种

  • AVPlayer

亮点: 能够自定义UI, 进行支配> 短处: 单纯的广播, 未有调节UI, 而且假使要呈现播放分界面, 供给借助AVPlayerLayer, 增多图层到须求体现的图层上

  • MPMoviePlayerController

优点: 自带的播放调节UI, 无需手动增多 > 劣势: 无法自定义UI 只好将此调控器视图增添到别的视图实行体现 此调整器不是视图调节器, 不能够弹出

  • MPMoviePlayerViewController

可取: 自带的播放调控UI, 无需手动加多 此调控器是视图调节器, 能够弹出, 可以压栈 也能够手动调度视图大小, 加多到别的视图上 > 瑕玷: 不可能自定义UI

  • 针对于第2种和第3种完成方案, 在iOS9.0之后, 统一运用AVPlayerViewController

可取: 自带的播放调控UI, 无需手动增加 此调控器是视图调整器, 能够弹出, 能够压栈 也能够手动调节视图大小, 增多到其余视图上 > 缺点: 不能自定义UI

落到实处方案各类AVPlayer

前言

iOS8从此系统自带使用AVPlayerViewController播放录像

AVPlayerViewController

AVPlayerViewController和导航调整器大约,须求将它加多在一个视图调节器上,将它的视图增多视图上

一. 录制播放介绍

二. 使用AVPlayer 播放远程录像

    1. 兑现广播效果
      透过远程U揽胜L创造AVPlayer对象
NSURL *remoteURL = [NSURL URLWithString:@"http://v1.mukewang.com/57de8272-38a2-4cae-b734-ac55ab528aa8/L.mp4"]; _player = [AVPlayer playerWithURL:remoteURL];
开始播放
[self.player play];

- 存在问题

只可以播放音响, 看不到图像解决方案: 须求借助AVPlayerLayer对象, 依照player创造图层, 加多到视图上

  • 2 落成录像体现效果
根据player对象, 创建 AVPlayerLayer 对象
AVPlayerLayer *layer = [AVPlayerLayer playerLayerWithPlayer:self.player];
设置图层 AVPlayerLayer 的大小
layer.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height * 9 / 16);
添加到需要展示的视图上即可
[self.view.layer addSublayer:layer];
  • 3 最棒封装特地用于广播的视图( 首要封装一些操作的工具条)

  • 4 备注

iOS9.0 网络央浼适配 (HTTPS-->HTTP)
<key>NSAppTransportSecurity</key>
<dict> <key>NSAllowsArbitraryLoads</key> <true/></dict>

可取: 能够自定义UI, 实行调整劣势: 单纯的播音, 未有调整UI, 何况假如要展示播放分界面, 须要借助AVPlayerLayer, 加多图层到必要出示的图层上

AVPlayerViewController

AVPlayerViewController和导航调控器差不离,必要将它加多在三个视图调控器上,将它的视图增多视图上

1.导入头文件

#import <AVKit/AVKit.h>
#import <AVFoundation/AVFoundation.h>

落到实处方案多样

  1. AVPlayer

     > 优点: 
         可以自定义UI, 进行控制
     > 缺点: 
         单纯的播放, 没有控制UI, 而且如果要显示播放界面, 需要借助AVPlayerLayer, 添加图层到需要展示的图层上
    
  2. MPMoviePlayerController

    > 优点: 
        自带的播放控制UI, 不需要手动添加

    > 缺点:
        不能自定义UI
        只能将此控制器视图添加到其他视图进行展示
        此控制器不是视图控制器, 不能弹出
  1. MPMoviePlayerViewController

     > 优点: 
         自带的播放控制UI, 不需要手动添加
         此控制器是视图控制器, 可以弹出, 可以压栈
         也可以手动调整视图大小, 添加到其他视图上
    
     > 缺点:
         不能自定义UI
    
  2. 针对于第2种和第3种实现方案, 在iOS9.0过后, 统一使用AVPlayerViewController

     > 优点: 
         自带的播放控制UI, 不需要手动添加
         此控制器是视图控制器, 可以弹出, 可以压栈
         也可以手动调整视图大小, 添加到其他视图上
    
     > 缺点:
         不能自定义UI
    

三. 使用MPMoviePlayerController播放摄像

比较于AVPlayer播放, 自带一些调整按钮
导入框架 #import <MediaPlayer/MediaPlayer.h>

根据URL, 创建控制器 MPMoviePlayerController
NSURL *remoteURL = [NSURL URLWithString:@"http://v1.mukewang.com/57de8272-38a2-4cae-b734-ac55ab528aa8/L.mp4"]; _moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:remoteURL];
设置播放视图frame, 添加到需要展示的视图上
// 设置播放视图的frame
self.moviePlayer.view.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height * 9 / 16); // 设置播放视图控制样式 self.moviePlayer.controlStyle = MPMovieControlStyleFullscreen; // 添加播放视图到要显示的视图 [self.view addSubview:self.moviePlayer.view];

播放
[self.moviePlayer play];

留意: 此调整器不是视图调控器, 无法直接弹出
1010cc时时彩标准版,播放器的广播状态, 是通过文告的主意告知外部
iOS9.0过后, 须要选取AVPlayerViewController
导入框架

#import <AVFoundation/AVFoundation.h>
#import <AVKit/AVKit.h>

根据URL创建AVPlayer

NSURL *remoteURL = [NSURL URLWithString:@"http://v1.mukewang.com/57de8272-38a2-4cae-b734-ac55ab528aa8/L.mp4"]; AVPlayer *player = [AVPlayer playerWithURL:remoteURL];
根据AVPlayer, 创建AVPlayerViewController控制器
_playerVC = [[AVPlayerViewController alloc] init];
 _playerVC.player = player;  

设置播放视图frame, 增多到供给出示的视图上

// 设置播放视图的frame
 self.playerVC.view.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height * 9 / 16);
 // 添加播放视图到要显示的视图 [self.view addSubview:self.playerVC.view]; 或者
*[self presentViewController:self.playerVC animated:YES completion:nil];*
播放
// 开始播放
 [self.playerVC.player play];

MPMoviePlayerController

1.导入头文件

#import <AVKit/AVKit.h>
#import <AVFoundation/AVFoundation.h>

2.注脚成员变量

   AVPlayerViewController      *_playerController;
    AVPlayer                    *_player;
    AVAudioSession              *_session;
    NSString                    *_urlString;

二. 使用AVPlayer 播放远程摄像

四. 使用MPMoviePlayerViewController播放摄像

  1. 兑现步骤

导入框架 #import <MediaPlayer/MediaPlayer.h>
遵照UTiguanL, 创设调整器 MPMoviePlayerViewController

NSURL *remoteURL = [NSURL URLWithString:@"http://v1.mukewang.com/57de8272-38a2-4cae-b734-ac55ab528aa8/L.mp4"]; _playerVC = [[MPMoviePlayerViewController alloc] initWithContentURL:remoteURL];

一贯模态弹出该调节器(恐怕: 设置播放视图frame, 增多到须求显示的视图上)

[self presentViewController:self.playerVC animated:YES completion:^{    [self.playerVC.moviePlayer play];
 }];
播放
[self.playerVC.moviePlayer play];

iOS9.0过后, 要求选拔AVPlayerViewController

导入框架
#import <AVFoundation/AVFoundation.h>#import <AVKit/AVKit.h>

根据URL创建AVPlayer
NSURL *remoteURL = [NSURL URLWithString:@"http://v1.mukewang.com/57de8272-38a2-4cae-b734-ac55ab528aa8/L.mp4"]; AVPlayer *player = [AVPlayer playerWithURL:remoteURL];

根据AVPlayer, 创建AVPlayerViewController控制器
_playerVC = [[AVPlayerViewController alloc] init];
 _playerVC.player = player;  

设置播放视图frame, 添加到需要展示的视图上
// 设置播放视图的frame
 self.playerVC.view.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.height * 9 / 16);
 // 添加播放视图到要显示的视图 [self.view addSubview:self.playerVC.view]; 或者
*[self presentViewController:self.playerVC animated:YES completion:nil];*

播放
// 开始播放
 [self.playerVC.player play];

亮点: 自带的播报调控UI, 无需手动增加劣点: 无法自定义UI 只好将此调控器视图增添到其余视图举办体现 此调整器不是视图调控器, 不可能弹出

2.声称成员变量

   AVPlayerViewController      *_playerController;
    AVPlayer                    *_player;
    AVAudioSession              *_session;
    NSString                    *_urlString;

3.施用播放器

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    self.view.backgroundColor = [UIColor whiteColor];
    _session = [AVAudioSession sharedInstance];
    [_session setCategory:AVAudioSessionCategoryPlayback error:nil];

    _player = [AVPlayer playerWithURL:[NSURL URLWithString:@"https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"]];
    _playerController = [[AVPlayerViewController alloc] init];
    _playerController.player = _player;
    _playerController.videoGravity = AVLayerVideoGravityResizeAspect;
    _playerController.allowsPictureInPicturePlayback = true;    //画中画,iPad可用
    _playerController.showsPlaybackControls = true;

    [self addChildViewController:_playerController];
    _playerController.view.translatesAutoresizingMaskIntoConstraints = true;    //AVPlayerViewController 内部可能是用约束写的,这句可以禁用自动约束,消除报错
    //self.view.bounds
    _playerController.view.frame = CGRectMake(0, 0, 320, 300);
    [self.view addSubview:_playerController.view];
    [_playerController.player play];    //自动播放
}

1. 落到实处播放效果

  1. 经过远程U奥德赛L创制AVPlayer对象

     NSURL *remoteURL = [NSURL URLWithString:@"http://v1.mukewang.com/57de8272-38a2-4cae-b734-ac55ab528aa8/L.mp4"];
     _player = [AVPlayer playerWithURL:remoteURL];
    
  2. 开班广播

     [self.player play];
    
  3. 存在难点

     只能播放声音, 看不到图像
     解决方案: 需要借助AVPlayerLayer对象, 根据player创建图层, 添加到视图上
    

MPMoviePlayerViewController

本文由1010cc时时彩标准版发布于操作系统,转载请注明出处:AVPlayerViewController录制播放器,各种摄像播放介绍

关键词:

上一篇:【1010cc时时彩标准版】cmd命令大全,CMD命令大全

下一篇:没有了