zoukankan      html  css  js  c++  java
  • 视频播放

    AVPlayer

    可以播放本地,也可以播放远程的音频视频,它是基于layer显示的,需要自己编写控制面板

    一个URL对应一个player,不能更改

    如果想要在初始化后更改需要使用AVPlayerItem

    不能全屏播放,也没有播放控制(暂停开始,全屏,播放位置,播放时间等)

            // 1.获取URL(远程/本地)
            NSURL *url = [NSURL URLWithString:@"http://v1.mukewang.com/a45016f4-08d6-4277-abe6-bcfd5244c201/L.mp4"];
            
            // 2.创建AVPlayerItem
            AVPlayerItem *item = [AVPlayerItem playerItemWithURL:url];
            
            // 3.创建AVPlayer
            _player = [AVPlayer playerWithPlayerItem:item];
            
            // 4.添加AVPlayerLayer 播放器一般为16:9
            AVPlayerLayer *layer = [AVPlayerLayer playerLayerWithPlayer:self.player];
            layer.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.width * 9 / 16);
            [self.view.layer addSublayer:layer];

    MPMoviePlayerController

    它是继承自UIViewController的一个控制器,可以通过设置其view的frame来显示要播放的视频,这个有播放控制,也可以全屏

    通过通知中心来监听改变

            // 1.获取视频的URL
            NSURL *url = [NSURL URLWithString:@"http://v1.mukewang.com/19954d8f-e2c2-4c0a-b8c1-a4c826b5ca8b/L.mp4"];
            
            // 2.创建控制器
            _playerController = [[MPMoviePlayerController alloc] initWithContentURL:url];
            
            // 3.设置控制器的View的位置
            _playerController.view.frame = CGRectMake(0, 0, self.view.bounds.size.width, self.view.bounds.size.width * 9 / 16);
            
            // 4.将View添加到控制器上
            [self.view addSubview:_playerController.view];
            
            // 5.设置属性(嵌入式的)
            _playerController.controlStyle = MPMovieControlStyleEmbedded;

    MPMoviePlayerViewController

    它是继承自NSObject的,只能全屏播放,内部封装了MPMoviePlayerController

    通过modal方式弹出控制器

    [self presentMoviePlayerViewControllerAnimated:self.playerVc];
  • 相关阅读:
    前端之JQuery
    前端之BOM和DOM
    前端之js
    Django之创建项目、目录层级、基本操作
    前端小练习-Michael的博客界面(粗糙版)
    前端之CSS(下)
    Django简介(MVC、MTV)
    react中自定义函数、生命周期钩子函数、修改状态、组件、组件传值
    react中类组件、函数组件、state、单层遍历、多层遍历、先遍历后渲染、if-else、三目运算符
    搭建react的架手架
  • 原文地址:https://www.cnblogs.com/sea-star3/p/5333795.html
Copyright © 2011-2022 走看看