百度智能云AR开放平台使用指南-AR场景开发专题在线视频(音频)播放 |
产品推荐: 1、安全稳定的云服务器租用,2核/2G/5M仅37元,点击抢购>>>; 2、高防物理服务器20核/16G/50M/500G防御仅350元,点击抢购>>> 3、百度智能建站(五合一网站)仅880元/年,点击抢购>>> 模板建站(PC+手机站)仅480元/年,点击抢购>>> 4、阿里云服务器2核2G3M仅99元/年、2核4G5M仅199元/年,新老同享,点击抢购>>> 5、腾讯云服务器2核2G4M仅99元/年、新老同享,点击抢购>>> 点击这里申请百度智能云特邀VIP帐号,立即体验AR开放平台>>> 百度智能云AR开放平台使用指南-AR场景开发专题在线视频(音频)播放 在线视频(音频)播放为了减少视频展示类Case场景包的大小提升加载速度,使内容展示更灵活,DuMix AR支持网络地址视频以及音频的播放,开发者可以在自己的项目中配置网络视频链接,如电台链接、网络电视地址、直播视频(HLS)等,并提供了音视频缓冲状态、播放状态、播放进度等状态回调和接口查询,开发者可以根据自己的业务灵活配置相应的事件响应。 Sample case: 代码下载 播放在线视频和在线音频的接口使用原理是一致的,下面以播放在线视频为例提出几点在API使用上以及能力应用上需要注意的地方。 API接口
注意:
video_info = video_id:get_video_play_info ()
duration=video_info['duration'] 当应用场景为播放直播视频或者其他不可预计时间的视频时,从字典中获取的视频总时长会为0或者-1。 应用视频要求播放在线视频的视频源需要符合以下规范: 1、分辨率:整体宽不超过1920&高不超过1080,且宽&高皆为8的倍数。 音频要求音频源格式为MP3。 能力使用video_id = scene.videoPlane1:video()
:path('http://ar-fm.cdn.bcebos.com/ar-website%2FARcasejinji12-21.mp4')
:from_time(0)
:repeat_count(1)
:is_remote(1)
:on_complete(function ()
end)
:start() 与播放本地视频一样,首先需新建一个节点播放器videoPlane1,地址为一个在线播放视频链接,is_remote字段为1表示播放在线视频且播放在线视频时该字段必须设置为1。 Video.call_back = function(data)
play_status = data['data']['play_status']
ARLOG("play_status:"..play_status)
--首次进入,播放状态是准备成功时,先暂停
if(tostring(play_status) == "1")then
if(clickNUM==0)then
video_id:pause()
clickNUM=1
end
end
--获取视频的播放进度
msg_id = data['data']['play_progress']
ARLOG("progress:"..msg_id)
end play_status和play_progress为data表中的字段,该字段返回的是播放器状态和播放进度,同样从data['platform']、data['type']等字段中可以得到播放器的平台和信息。 示例中获取了播放器状态,1表示准备成功,准备成功后判断是否为首次进入AR,是的话先暂停播放视频并改变标记状态,在后面需要播放视频的时候再调用video_id:start()播放。 video_info = video_id:get_video_play_info()
for key,value in pairs(video_info) do
ARLOG(key.." :"..tostring(value))
end
buffer_status=video_info['buffer_progress']
if(tostring(buffer_progress)=="100")then
scene.fengmian:set_visible(false)
end get_video_play_info可以在需要查询播放器状态的地方使用,既可以遍历获取所有开放的信息,也可以单独取出其中的某个字段,如示例代码,当视频缓冲完成时隐藏封面图片准备播放视频。 |