解决vue动态绑定audio/video的src不能播放

更新日期: 2019-12-19 阅读: 4.9k 标签: audio

方法一: 用$refs动态设置src

html代码如下(给video绑定个ref值):

<video ref="videoPlay" controls="controls" width='100%' height="100%">
   您的浏览器不支持 video 元素。
</video>

在需要动态绑定的方法里用$refs动态设置src

this.$refs.videoPlay.src = res.data.videoUrl;


方法二:src地址已切换或已重新赋值,重新加载audio/video

html代码如下:

<video :src="videoURL" ref="videoPlay" controls="controls" width='100%' height="100%">
   您的浏览器不支持 video 元素。
</video>

给video的src赋值,且重新加载video

getVideoURL() {
  this.videoURL = "视频地址"
  // 如果动态切换src地址,也要加上下面的事件(前提是src地址已切换或已重新赋值,再走这个事件)
  this.$nextTick(() => {
	this.$refs.videoPlay.load()
  })
}

本文内容仅供个人学习/研究/参考使用,不构成任何决策建议或专业指导。分享/转载时请标明原文来源,同时请勿将内容用于商业售卖、虚假宣传等非学习用途哦~感谢您的理解与支持!

链接: https://fly63.com/article/detial/6914

小程序wx.createInnerAudioContext()获取不到时长问题

开发小程序中需要用到音频播放功能。但在初始化时,使用InnerAudioContext.duration获取不到音频的时长。使用innerAudioContext.onPlay()监听播放获取时长,此方法用于播放音频后获取;使用innerAudioContext.onCanplay()监听音频进入可以播放状态,此方法用于初始化时获取

HTML5的video和audio

HTML5引入的<audio>和<video>元素,使用起来和<img>元素一样简单。对于支持HTML5的浏览器,不再需要使用插件(像flash)来在HTML文档中嵌入音频和视频:实际上,使用这些元素的时候要更加巧妙。由于各家浏览器制造商未能在对标准音频和视频编码支持上达成一致

audio标签以及audio对象

autoplay如果出现该属性,则音频在就绪后马上播放。controls如果出现该属性,则向用户显示控件,比如播放按钮。loop如果出现该属性,则每当音频结束时重新开始播放。

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!