html - Vue.js 如何绑定(bind) html5 视频元素的播放速率?

标签 html video vue.js

如何绑定(bind) html5 视频元素的播放速率?没有 getElementById 可以直接使用 vuejs 吗?

//Example of plain javascript
var vid = document.getElementById("myVideo");
vid.playbackRate = 0.5;

最佳答案

如果你想把它绑定(bind)到一个变量上,这样当变量改变时,速率也会改变,你可以做一个简单的指令。

new Vue({
  el: 'main',
  data: {
    rate: 1
  },
  directives: {
    playbackRate(el, binding) {
      el.playbackRate = binding.value;
    }
  }
});
<script src="//unpkg.com/vue@latest/dist/vue.js"></script>
<main>
  <video id="videoElement" controls poster="velocity-thumbnail.jpg" v-playback-rate="rate">
            <source src="https://s3-ap-northeast-1.amazonaws.com/daniemon/demos/Velocity-Mobile.mp4" type="video/mp4" media="all and (max-width:680px)"> 
            <source src="https://s3-ap-northeast-1.amazonaws.com/daniemon/demos/Velocity-Mobile.webm" type="video/webm" media="all and (max-width:680px)"> 
            <source src="https://s3-ap-northeast-1.amazonaws.com/daniemon/demos/Velocity-SD.mp4" type="video/mp4">
            <source src="https://s3-ap-northeast-1.amazonaws.com/daniemon/demos/Velocity-SD.webm" type="video/webm">
            <p>Sorry, there's a problem playing this video. Please try using a different browser.</p>
        </video>

  <div class="controls">
    <label>playbackRate: <input type="range" step="0.1" min="0.5" max="2" value="1" v-model="rate"></label> <span aria-live="polite">{{rate}}</span>
  </div>
</main>

关于html - Vue.js 如何绑定(bind) html5 视频元素的播放速率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48388877/

相关文章:

jquery - 如何保持列的网格宽度在列菜单中切换

video - 为什么ffmpeg的v0、v1、v2还在积极开发中? ppa :jon-severinsson/ffmpeg? 发生了什么

java - 在 Java 上的窗口模式游戏中录制视频

reactjs - 在 Laravel 中一起使用 React.js 和 Vue.js

javascript - 使用 v-view 的 VueJS 转换

javascript - 当我在Vue JS中按下父组件上的按钮时,如何刷新子组件?

html - 将数据存储在 HTML 标记中作为自定义属性

javascript - HTML 多页表单问题(页面正在刷新)

iphone - MPMoviePlayerController 在 iPhone 应用程序中反向(向后)播放电影不流畅

javascript - 我希望侧边栏首先显示,然后单击按钮并使用 Bootstrap 将下拉列表添加到菜单项的侧面后折叠