原生js与微信小程序 控制<video>标签 视频播放倍率
最近公司小程序有个需求 要求里面的视频可以让用户控制播放的倍率
需求很简单 但是要注意 在不同终端上 写法可能有些许区别
这里大家主要关注js的部分
原生js
html部分
<div id="box">
<video id="myVideo" style="width: 100%;" controls
src="https://cdrbonlinecourse.cdrb.com.cn/upload/mp4/171400903680674433667.mp4"></video>
<div>
请选择视频倍率:
<div class="speed">
<span onclick="changeSpeed(0.5)">0.5x</span>
<span onclick="changeSpeed(1)">1x</span>
<span onclick="changeSpeed(1.5)">1.5x</span>
<span onclick="changeSpeed(2)">2x</span>
</div>
</div>
</div>
js部分
function changeSpeed (speed) {
let myVideo = document.getElementById('myVideo')
myVideo.playbackRate = speed
}
原生微信小程序
wxml部分
<view class="videoplay">
<view>视频播放速率:</view>
<view class="videoPlaySpeedBox">
<view class="videoplayspeed {{videoSpeed == 0.5 ? 'selectSpeed' :''}}" data-speed="0.5" bindtap="switchVideoSpeed">0.5x</view>
<view class="videoplayspeed {{videoSpeed == 1 ? 'selectSpeed' :''}}" data-speed="1" bindtap="switchVideoSpeed">1x</view>
<view class="videoplayspeed {{videoSpeed == 1.5 ? 'selectSpeed' :''}}" data-speed="1.5" bindtap="switchVideoSpeed">1.5x</view>
<view class="videoplayspeed {{videoSpeed == 2 ? 'selectSpeed' :''}}" data-speed="2" bindtap="switchVideoSpeed">2x</view>
</view>
</view>
js部分
switchVideoSpeed:function(e){
var video = wx.createVideoContext('myVideo');
video.playbackRate(Number(e.target.dataset.speed)); // 设置播放速度
this.setData({
videoSpeed : e.target.dataset.speed
})
}
当然 原生的都会写了 vue自然也就不在话下了哈 我这里就不写了
本人写这篇文章的目的是记录 方便以后需要的时候直接用
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)