为什么 没有用呀 playbackRate 改了倍数没有用呀

为什么 没有用呀 playbackRate 改了倍数没有用呀

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>音频 API </title>
    <style>
    .video{
        display: inline-block;
        width: 100px;
        height: 40px;
        border-radius: 10%;
        background: #fafaaa;
        line-height: 40px;
        text-align: center;
        cursor: pointer;
    }
    
    </style>
</head>
<body>
    <!-- Video API playbackRate -->
    <video id="myVideo" width="1000px" controls src="data/imooc.mp4"></video>
    <input type="range" id="range" max="100" min="0" value="50">
    <div id="playVideo" class="video">播放</div>
    <div id="stopVideo" class="video">暂停</div>
    <div id="goVideo" class="video">快进</div>
    <div id="loopVideo">不循环</div>
    <script>
    // 选中的Video 标签
    var VideoNode=document.getElementById('myVideo');

    // palybackRate  设置/返回视频的播放的速度
// console.log(VideoNode.playbackRate)
VideoNode.playbackRate=2;
console.log(VideoNode.playbackRate)





// loop 视频结束后是否循环播放
// console.log(VideoNode.loop);
// VideoNode.loop=true;
var loop=document.getElementById('loopVideo')
loop.onclick=function(){
if(VideoNode.loop==false){
    this.innerHTML='循环'
    VideoNode.loop=true;

}else{
    this.innerHTML='不循环'
    VideoNode.loop=false;

}
}

//ended 返回视频是否播放完了
// console.log(VideoNode.ended)
// 事件监听 ended  可以做循环播放
// VideoNode.addEventListener('ended',function(){
    // console.log('视频播放结束了')
    // VideoNode.play();
// })





// src 控制视频的来源
VideoNode.src="data/imooc.webm"
// src 返回的数据
// console.log('src='+VideoNode.src)
// currentsrc 当前视频的来源(必须是在音视频 可以加载播放的时候 而且不能赋值)
// console.log('currentSrc='+VideoNode.currentSrc);
// setTimeout(function(){
//     console.log('currentSrc='+VideoNode.currentSrc);
// },200)



// 返回视频当前的网络状态
// setTimeout(function(){
//     console.log(VideoNode.networkState)
// },1000)



// 手动设置video 静音  muted
// VideoNode.muted=true;


    //手动设置显示控件  controls
    // VideoNode.controls=true;


// volume 设置/返回当前视频的音量

// VideoNode.volume=0.5
// console.log(VideoNode.volume)
// document.getElementById('range').oninput=function(){
    // VideoNode.volume=this.value/100
// }








//设置/返回当前视频播放的长度
// setInterval(function(){
//     console.log(VideoNode.currentTime)
// },1000)

// currentTime 设置视频开始时间
// VideoNode.currentTime=50;

//设置快进
// document.getElementById('goVideo').onclick=function(){
//     VideoNode.currentTime=VideoNode.currentTime+10;
//     }

    // window.onclick=function(){
    //     VideoNode.play();
    // }
    // setTimeout(function(){
    //     VideoNode.pause()
    // },4000)

    //duration 获取视频的总时间 按秒计算  分钟 秒
    // setTimeout(function(){
    //     // console.log(VideoNode.duration)
    //     var min=parseInt(VideoNode.duration/60)
    //     var sec=parseInt(VideoNode.duration%60)
    //       console.log(min+':'+sec)
    // },200)

   //play 自定义播放
    document.getElementById('playVideo').onclick=function(){
        VideoNode.play();
    }
   //pause 自定义暂停
    document.getElementById('stopVideo').onclick=function(){
        VideoNode.pause();
    }

  

   
    </script>
</body>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕慕子 2019-07-02 10:18:12

同学你好, 因为你直接设置的playbackRate,此时video可能还未加载完成, 所以设置倍速播放失败, 建议: 可以使用一个定时器或者添加一个倍速播放按钮,点击的时候,倍速播放视频, 示例:

http://img1.sycdn.imooc.com//climg/5d1abec90001052506180384.jpg

同学可以结合代码测试一下效果

如果帮助到了你, 欢迎采纳!

祝学习愉快~~~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
3.WebAPP开发与小程序
  • 参与学习           人
  • 提交作业       622    份
  • 解答问题       6815    个

微信带火了小程序,也让前端工程师有了更多的展现机会,本阶段带你从移动基础知识的学习到webAPP开发,及小程序开发,让你PC端与移动端两端通吃。

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师