GVKun编程网logo

带有avplayerviewcontroller播放控件的AVPlayer(avplayer app)

16

这篇文章主要围绕带有avplayerviewcontroller播放控件的AVPlayer和avplayerapp展开,旨在为您提供一份详细的参考资料。我们将全面介绍带有avplayerviewcon

这篇文章主要围绕带有avplayerviewcontroller播放控件的AVPlayeravplayer app展开,旨在为您提供一份详细的参考资料。我们将全面介绍带有avplayerviewcontroller播放控件的AVPlayer的优缺点,解答avplayer app的相关问题,同时也会为您带来AVPlayer 与 AVPlayerViewController 媒体播放器、AVPlayerLayer与AVPlayer媒体播放器、DZVideoPlayerViewController iOS 视频播放控件、How to play video with AVPlayerViewController (AVKit) in Swift的实用方法。

本文目录一览:

带有avplayerviewcontroller播放控件的AVPlayer(avplayer app)

带有avplayerviewcontroller播放控件的AVPlayer(avplayer app)

我将n
avplayer放置在视图控制器中,以自定义视图控制器的其他一些元素,但是我仍然想要AVPlayerViewController中使用的播放和清理控件。当我不使用AvPlayerViewcontroller时,是否可以为Avplayer启用这些控件?

答案1

小编典典

否。通常的解决方案(Apple明确建议)是将AVPlayerViewController用作嵌入式视图控制器-即,使您的视图控制器成为自定义父视图控制器,使AVPlayerViewController作为其子视图,现在您可以放置​​其视图(电影和控件)作为子视图按顺序排列。示例(self是您的视图控制器):

let url = // whateverlet player = AVPlayer(URL:url)let avPlayerViewController = AVPlayerViewController()avPlayerViewController.player = playeravPlayerViewController.view.frame = // whateverself.addChild(avPlayerViewController)self.view.addSubview(avPlayerViewController.view)avPlayerViewController.didMove(toParent: self)

AVPlayer 与 AVPlayerViewController 媒体播放器

AVPlayer 与 AVPlayerViewController 媒体播放器

1. 简介・AVPlayer 是一个可以播放任何格式的全能影音播放器,使用 AVPlayer 需要导入 AVFoundation.h。・支持视频格式:WMV,AVI,MKV,RMVB,RM,XVID,MP4,3GP, MPG 等。・支持音频格式:MP3,WMA,RM,ACC,OGG,APE,FLAC,FLV 等。・在开发中,单纯使用 AVPlayer 类是无法显示视频的,要将视频层添加至 AVPlayerLayer 中,这样才能将视频显示出来。・AVPlayer 并未提供视频操作组件,需用户自定义。 2.AVPlayerLayer

・bounds: 设置播放矩形区域;・position: 设置播放区域中心点位置;

・videoGravity: 设置拉伸模式・player: 设置播放媒体

・status: 获取播放媒体状态

・rate: 设置播放速度

3.AVPlayerViewController

AVPlayerViewController 提供了默认的可视化控制界面,要使用 AVPlayerViewController 需导入 AVKit.h。

AVPlayerViewController 整合了一个完整的播放器,可以作为控制器进行操作显 示。

AVPlayerViewController 可以支持播放本地及网络视频文件,支持以下格 式:.mov、.mp4、.mpv、.3gp。

常用的属性:

・player: 设置播放器・showsPlaybackControls: 设置是否显示媒体播放组件,默认 YES・videoGravity: 设置视频拉伸模式

・allowsPictureInPicturePlayback: 设置是否允许画中画回放,默认 YES

・delegate: 设置代理

4.AVPlayerLayer视频播放实现:

//1.引入AVFoundation和AVKit框架

#import <AVFoundation/AVFoundation.h>
#import <AVKit/AVKit.h>
//2.定义参数
{
    //播放器
    AVPlayer *_player;
    //显示画面的Layer
    AVPlayerLayer *imageLayer;
    UIProgressView*progress;
}
    //3.Avplayer实现
    //添加视频文件路径
    NSString *path=[[NSBundle mainBundle]pathForResource:@"Paradise-art--Hello.mp4" ofType:nil];
    NSURL*url=[NSURL fileURLWithPath:path];
    //创建播放对象
    _player=[[AVPlayer alloc]initWithURL:url];
    //将显示画面的Layer和播放对象链接
    imageLayer=[AVPlayerLayer playerLayerWithPlayer:_player];
    //设置播放视图的大小
    imageLayer.frame=CGRectMake(0, 0, WIDTH, HEIGHT);
    //将显示画面的Layer添加到self.view.laye上
    [self.view.layer addSublayer:imageLayer];
    //设置播放速度
    _player.rate=1.5;
    //播放
    [_player play];
    //暂停
    [_player pause];
 //4.添加视频播放的进度条
-(void)addProgressView{
    progress=[[UIProgressView alloc]initWithFrame:CGRectMake(10,HEIGHT-20, WIDTH-20, 10)];
    [self.view addSubview:progress];
    __weak UIProgressView *p = progress;
    [_player addPeriodicTimeObserverForInterval:CMTimeMake(1,10 ) queue:dispatch_get_main_queue() usingBlock:^(CMTime time) {
        //更新进度
        //总时间
        float total =  _player.currentItem.duration.value / _player.currentItem.duration.timescale;
        //当前时间
        float current = time.value * 1.0f/time.timescale;
        
        p.progress = current/total;
    }];
}

 5. AVPlayerViewController实现视频播放
 //1.创建AVPlayerViewController为类属性

@property(nonatomic ,strong)AVPlayerViewController*avPlayViewController;
//2.2 AVPlayerViewController播放实现
-(void)playMV{
    //创建视频的播放路径
    //播放本地文件
    NSString*PlayPath=[[NSBundle mainBundle]pathForResource:@"我是艺术.mp4" ofType:nil];
    NSURL*url=[NSURL fileURLWithPath:PlayPath];
    //播放网络文件
    NSString*NetPath=@"http://static.tripbe.com/videofiles/20121214/9533522808.f4v.mp4";
    NSURL*urlNet=[NSURL URLWithString:NetPath];
    //创建一个播放器
    AVPlayer *player=[AVPlayer playerWithURL:urlNet];
    //实例化播放视频控制器
    _avPlayViewController=[[AVPlayerViewController alloc]init];
    _avPlayViewController.player=player;
    //模态跳转
    [self presentViewController:_avPlayViewController animated:YES completion:nil];
    //[player play];
}

AVPlayerLayer与AVPlayer媒体播放器

AVPlayerLayer与AVPlayer媒体播放器

AVPlayerLayer:只是播放视频,没有暂停、快进等其他按钮生成

#import <AVFoundation/AVFoundation.h>

#import <AVKit/AVKit.h>

-(void)playII{

1、//文件路径

NSString* path=[[NSBundle mainBundle]pathForResource:@"胡彦斌-还魂门.mp4" ofType:nil];

2、// 转换成url

NSURL* url=[NSURL fileURLWithPath:path];

3、//AVPlayer可以播放任何格式视频的播放器 需要引进AVFoundation框架

AVPlayer* player=[AVPlayer playerWithURL:url];

AVPlayerLayer* playerLayer=[AVPlayerLayer playerLayerWithPlayer:player];

playerLayer.frame=CGRectMake(0, 0, WIDTH, HEIGHT);//WIDTH、HEIGTH全局的宏定义

//加载到layer图层上

[self.view.layer addSublayer:playerLayer];

[player play];//播放

[player pause];//暂停

}

AVPlayer:同时生成播放视频的暂停、快进等其他按钮生成

//需要引进#import <AVKit/AVKit.h>框架 

-(void)playMedio:(UIButton*)sender

{

NSString* path=[[NSBundle mainBundle]pathForResource:@"张韶涵-第一页.mp4" ofType:nil];//文件路径

NSURL* url=[NSURL fileURLWithPath:path]; //路径

AVPlayer* player=[AVPlayer playerWithURL:url]; //创建一个播放器 需要导入AVKit

player.rate=2.0; //float 类型 (0.5-2.0之间) 1.0表示正常播放,它也是默认值。2.0表示以最快的速度进行播放,0.5表示以最慢的速度进行播放

_AVplayer=[[AVPlayerViewController alloc]init];//实例化播放视图控制器

_AVplayer.player=player;//设置播放器

[_AVplayer setShowsPlaybackControls:YES];//设置是否显示媒体播放组建 默认YES

[_AVplayer setAllowsPictureInPicturePlayback:YES];//设置是否允许画中画回放 默认YES

//模态跳转

[self presentViewController:_AVplayer animated:YES completion:nil];

[player play];

 

}

 

DZVideoPlayerViewController iOS 视频播放控件

DZVideoPlayerViewController iOS 视频播放控件

DZVideoPlayerViewController 介绍

DZVideoPlayerViewController 是一款 iOS 的视频播放器控件,有播放控制、远程控制,背景回放。它由 AVPlayer
实施,同时支持在线和离线视频,高度根据界面生成器高度自定义。

特性:

  • 播放在线、离线视频

  • 播放控制:播放,暂停,切换全屏,当前时间和剩余时间标签

  • 进度指示器,显示下载的量,并允许用户快退

  • 支持远程指挥中心

  • 支持遥控器(耳机)

  • 背景回放

  • 现在播放的信息更新

  • 在界面生成器下轻松定制

DZVideoPlayerViewController 官网

https://github.com/DZamataev/DZVideoPlayerViewController

How to play video with AVPlayerViewController (AVKit) in Swift

How to play video with AVPlayerViewController (AVKit) in Swift

http://stackoverflow.com/questions/25932570/how-to-play-video-with-avplayerviewcontroller-avkit-in-swift

Swift 3.0

Necessary: import AVKit,import AVFoundation

If you want to use AVPlayerViewController:

let videoURL = NSURL(string: “https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4“)
let player = AVPlayer(url: videoURL! as URL)
let playerViewController = AVPlayerViewController()
playerViewController.player = player
self.present(playerViewController,animated: true) {
playerViewController.player!.play()
}
or just AVPlayer:

let videoURL = NSURL(string: “https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4“)
let player = AVPlayer(url: videoURL! as URL)
let playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = self.view.bounds
self.view.layer.addSublayer(playerLayer)
player.play()
It’s better to put this code into the method: override func viewDidAppear(_ animated: Bool) or somewhere after.

Swift 2.x

AVPlayerViewController:

let videoURL = NSURL(string: “https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4“)
let player = AVPlayer(URL: videoURL!)
let playerViewController = AVPlayerViewController()
playerViewController.player = player
self.presentViewController(playerViewController,animated: true) {
playerViewController.player!.play()
}
AVPlayer:

let videoURL = NSURL(string: “https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4“)
let player = AVPlayer(URL: videoURL!)
let playerLayer = AVPlayerLayer(player: player)
playerLayer.frame = self.view.bounds
self.view.layer.addSublayer(playerLayer)
player.play()
Objective-C

AVPlayerViewController:

NSURL *videoURL = [NSURL URLWithString:@”https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4“];
AVPlayer *player = [AVPlayer playerWithURL:videoURL];
AVPlayerViewController *playerViewController = [AVPlayerViewController new];
playerViewController.player = player;
[self presentViewController:playerViewController animated:YES completion:nil];
or just AVPlayer:

NSURL *videoURL = [NSURL URLWithString:@”https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4“]; AVPlayer *player = [AVPlayer playerWithURL:videoURL]; AVPlayerLayer *playerLayer = [AVPlayerLayer playerLayerWithPlayer:player]; playerLayer.frame = self.view.bounds; [self.view.layer addSublayer:playerLayer]; [player play];

今天关于带有avplayerviewcontroller播放控件的AVPlayeravplayer app的分享就到这里,希望大家有所收获,若想了解更多关于AVPlayer 与 AVPlayerViewController 媒体播放器、AVPlayerLayer与AVPlayer媒体播放器、DZVideoPlayerViewController iOS 视频播放控件、How to play video with AVPlayerViewController (AVKit) in Swift等相关知识,可以在本站进行查询。

本文标签: