这篇文章主要围绕带有avplayerviewcontroller播放控件的AVPlayer和avplayerapp展开,旨在为您提供一份详细的参考资料。我们将全面介绍带有avplayerviewcon
这篇文章主要围绕带有avplayerviewcontroller播放控件的AVPlayer和avplayer app展开,旨在为您提供一份详细的参考资料。我们将全面介绍带有avplayerviewcontroller播放控件的AVPlayer的优缺点,解答avplayer app的相关问题,同时也会为您带来AVPlayer 与 AVPlayerViewController 媒体播放器、AVPlayerLayer与AVPlayer媒体播放器、DZVideoPlayerViewController iOS 视频播放控件、How to play video with AVPlayerViewController (AVKit) in Swift的实用方法。
本文目录一览:- 带有avplayerviewcontroller播放控件的AVPlayer(avplayer app)
- AVPlayer 与 AVPlayerViewController 媒体播放器
- AVPlayerLayer与AVPlayer媒体播放器
- DZVideoPlayerViewController iOS 视频播放控件
- How to play video with AVPlayerViewController (AVKit) in Swift
带有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 媒体播放器
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:只是播放视频,没有暂停、快进等其他按钮生成
#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 介绍
DZVideoPlayerViewController 是一款 iOS 的视频播放器控件,有播放控制、远程控制,背景回放。它由 AVPlayer
实施,同时支持在线和离线视频,高度根据界面生成器高度自定义。
特性:
-
播放在线、离线视频
-
播放控制:播放,暂停,切换全屏,当前时间和剩余时间标签
-
进度指示器,显示下载的量,并允许用户快退
-
支持远程指挥中心
-
支持遥控器(耳机)
-
背景回放
-
现在播放的信息更新
-
在界面生成器下轻松定制
DZVideoPlayerViewController 官网
https://github.com/DZamataev/DZVideoPlayerViewController
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播放控件的AVPlayer和avplayer app的分享就到这里,希望大家有所收获,若想了解更多关于AVPlayer 与 AVPlayerViewController 媒体播放器、AVPlayerLayer与AVPlayer媒体播放器、DZVideoPlayerViewController iOS 视频播放控件、How to play video with AVPlayerViewController (AVKit) in Swift等相关知识,可以在本站进行查询。
本文标签: