HTML5 Audio playbackRate 不生效的一种原因

环境: firefox
obj.playbackRate 放到 obj.load() 前不生效,只有放到 obj.load() 后才产生效果,请注意。
实时修改此参数不受影响。

 

 

 

### 实现 UniApp 中 H5 平台下的播放速率控制 在 UniApp 开发环境中,对于 H5 平台而言,可以通过原生 HTML5 `<video>` 标签来更灵活地操作视频组件的功能。具体到调整播放速度(playbackRate),可以利用 JavaScript 对应 API 来完成。 当使用 `uni.createVideoContext` 创建视频上下文对象时,在某些平台上可能不支持直接通过该方式修改播放倍速。但对于 H5 环境来说,则可以直接访问 DOM 节点并调用其内置方法来进行设置[^1]。 下面是一个简单的例子展示如何改变 H5 页面上 video 组件的播放速度: ```html <template> <view class="content"> <!-- 使用原生 video 标签 --> <video id="my-video" controls></video> <button @click="changeSpeed">Change Speed</button> </view> </template> <script> export default { data() { return { speed: 1, }; }, mounted() { const myVideo = document.getElementById('my-video'); // 设置初始播放地址和其他参数... myVideo.src = 'your_video_url_here'; }, methods: { changeSpeed() { let newSpeed; do { newSpeed = prompt("Enter a number to set the playback rate (e.g., 0.5, 1, 2):", this.speed); if (!newSpeed || isNaN(newSpeed)) break; // 用户取消输入或非法数值则退出循环 } while(false); try{ const myVideo = document.getElementById('my-video'); myVideo.playbackRate = parseFloat(newSpeed); // 修改播放速度 console.log(`Playback rate changed to ${myVideo.playbackRate}`); } catch(error){ alert("Failed to change playback rate."); console.error(error.message); } } } }; </script> ``` 此代码片段展示了如何创建一个按钮用于更改当前页面内指定 ID 的 `<video>` 元素的播放速度。每次点击都会弹出提示框让用户输入想要设定的新播放率值,并尝试应用这个新值给实际媒体文件。如果成功改变了播放速度会打印日志信息;如果有任何错误发生也会被捕获并向用户显示警告消息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值