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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<!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下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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