前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >replay视频播放器_怎么让手机音乐跟视频一起放

replay视频播放器_怎么让手机音乐跟视频一起放

作者头像
全栈程序员站长
发布2022-08-02 13:28:58
1.4K0
发布2022-08-02 13:28:58
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

以前项目中需要播放在线视频和在线音频,当时就研究了一下。下面只显示核心代码。

1.AVPlayer (负责视频操作,例如播放,暂停,声音的大小,跳到指定的时间)

2.AVPlayerLayer(负责视频的可视化区域,视频的播放模式,注意是CALayer,不能接手触摸)

3.AVPlayItem (表示AVPlayer播放的资源对象,可以监听其状态)

全屏的实现有2种方式

1.可以通过transform 来让view旋转(缺点是不能触发屏幕的旋转)。2可以通过autolayout 来实现

当视频或音频播放完之后,我们可以使App 自动去播放下一首视频或者音频。这是我们就需要为去注册一个通知,用这个通知去实现监听avplayer.currentItem

代码如下

//给AVPlayerItem添加播放完成通知

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playbackFinished:) name:AVPlayerItemDidPlayToEndTimeNotification object:self.player.currentItem];

//播放完成之后会执行这个函数

-(void)playbackFinished:(NSNotification *)notification{

MyLog(@”视频播放完成“);

AVPlayerItem * p = [notification object];

//关键代码

[p seekToTime:kCMTimeZero];

[self pause];

self.playBtn.selected=NO;

self.playBtn.hidden=NO;

if([_delegate respondsToSelector:@selector(playNextMusic)]){ //在这里我们可以去实现播放下一首视频和视频的操作。

[self.delegate playNextMusic];

}

}

//监听当前资源的状态属性,监听网络加载情况属性,监控缓存区大小此时我们都需要监听AVPlayerItem,

//监控状态属性,注意AVPlayer也有一个status属性,通过监控它的status也可以获得播放状态

[playerItem addObserver:self forKeyPath:@”status” options:NSKeyValueObservingOptionNew context:nil];

//监控网络加载情况属性

[playerItem addObserver:self forKeyPath:@”loadedTimeRanges” options:NSKeyValueObservingOptionNew context:nil];

//监控缓冲区大小

[playerItem addObserver:self forKeyPath:@”playbackBufferEmpty” options:NSKeyValueObservingOptionNew context:nil];

//我们可以使用这个方法来来显示当前的播放时的时间,代码如下

[self performSelectorInBackground:@selector(initPlayTime) withObject:nil];

有时音乐播放器和视频播放器还需要一个播放进度条。

待续……………………..

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/125308.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年4月1,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云点播
面向音视频、图片等媒体,提供制作上传、存储、转码、媒体处理、媒体 AI、加速分发播放、版权保护等一体化的高品质媒体服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档