iOS开发,AVPlayer本地视频和网络视频播放

个人链接
  • 博客园主页 : 博客园主页
  • GitHub : 我的GitHub
  • iOS程序猿(媛)~~ : 这是我个人整理的一个技术专题, 这里的文章都是比较有技术含量(不断更新)!
  • 微信公众号 :
iOS开发,AVPlayer本地视频和网络视频播放_第1张图片
微信公众号.jpg
前言:

AVPlayer是用于管理媒体资产的播放和定时控制器对象它提供了控制播放器的有运输行为的接口,如它可以在媒体的时限内播放,暂停,和改变播放的速度,并有定位各个动态点的能力。可以使用AVPlayer来播放本地和远程的视频媒体文件,如QuickTime影片和MP3音频文件,以及视听媒体使用HTTP流媒体直播服务。

大概过程:

1.引入系统框架
2.创建视频的url
3.创建播放项目
4.初始化播放器
5.设置播放页面

代码如下:
#import "filmViewController.h"
//导入系统框架
#import 

@interface filmViewController ()
@property (strong, nonatomic) AVPlayer *avPlayer;
@end

@implementation filmViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];
    self.navigationItem.title = @"视频播放";

    //网络视频播放
    NSString *playString = @"http://static.tripbe.com/videofiles/20121214/9533522808.f4v.mp4";
    NSURL *url = [NSURL URLWithString:playString];
    
    //本地视频播放
    NSString *audioPath = [[NSBundle mainBundle] pathForResource:@"霍建华、赵丽颖 - 不可说" ofType:@"mp4"];
    NSURL *url = [NSURL fileURLWithPath:audioPath];

    //设置播放的项目
    AVPlayerItem *item = [[AVPlayerItem alloc] initWithURL:url];
    //初始化player对象
    self.avPlayer = [[AVPlayer alloc] initWithPlayerItem:item];
    //设置播放页面
    AVPlayerLayer *layer = [AVPlayerLayer playerLayerWithPlayer:_avPlayer];
    //设置播放页面的大小
    layer.frame = CGRectMake(0, 64, [UIScreen mainScreen].bounds.size.width, 230);
    layer.backgroundColor = [UIColor cyanColor].CGColor;
    //设置播放窗口和当前视图之间的比例显示内容
    //1.保持纵横比;适合层范围内
    //2.保持纵横比;填充层边界
    //3.拉伸填充层边界
    /*
    第1种AVLayerVideoGravityResizeAspect是按原视频比例显示,是竖屏的就显示出竖屏的,两边留黑;
    第2种AVLayerVideoGravityResizeAspectFill是以原比例拉伸视频,直到两边屏幕都占满,但视频内容有部分就被切割了;
    第3种AVLayerVideoGravityResize是拉伸视频内容达到边框占满,但不按原比例拉伸,这里明显可以看出宽度被拉伸了。
     */
    layer.videoGravity = AVLayerVideoGravityResizeAspect;
    //添加播放视图到self.view
    [self.view.layer addSublayer:layer];
    //视频播放
    [self.avPlayer play];
    //视频暂停
    //[self.avPlayer pause];
}
声明
  • 所有文章出自 KennyHito博客园 的博客!
  • 未经本人允许不得转载, 转载请标明来源与作者, 谢谢合作!

你可能感兴趣的