- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个视频播放器作为学习模块系统的一部分。某些模块要求用户不能(轻易)跳过视频。我知道这通常会被认为是糟糕的用户体验,但在这种情况下这是必不可少的。
通过执行以下操作,我已经能够覆盖 video.currentTime
属性。它可以防止跳过,但我需要能够有条件地打开和关闭它。
Object.defineProperty(videoElement, 'currentTime', {
enumerable: true,
configurable: true,
get: function() {
// return from original currentTime
},
set: function(newValue) {
// intercept values here
}
});
如何在我的 getter 和 setter 中引用原始的 video.currentTime
属性?不幸的是,Object.getOwnPropertyDescriptor(videoElement, 'currentTime');
返回 undefined
。
最佳答案
可能有更优雅的方法来做到这一点,但是在你的对象上调用原型(prototype)(在本例中为 HTMLMediaElement 原型(prototype))的 currentTime getter 会给你实际的当前时间。所以这将阻止设置但允许获取:
Object.defineProperty(videoElement, 'currentTime', {
enumerable: true,
configurable: true,
get: function() {
var ct = Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype,
'currentTime').get.call(this);
return ct;
},
set: function(newValue) {
// intercept values here
}
});
关于javascript - 如何包装 HTML5 视频元素的 currentTime 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34326267/
在这段代码中,我有 video.currentTime = {value}而且效果很好。 但是当我尝试按 Crtl+Shift+R 重新加载页面时,它会将 video.currentTime 设置为
我希望能够将视频重新加载到 HTML5 视频中,而无需在加载时重置 currentTime。我目前的做法如下: Get current time position Set time position
如何获取YouTube视频的当前时间? 我一直在搜索YouTube api,但我不明白: https://developers.google.com/youtube/js_api_reference?
我正在尝试编写一段 Javascript 以定时间隔在两个视频之间切换(不要问)。更糟糕的是,每个视频都必须从特定位置开始(大约十秒,再说一遍,不要问。) 我通过使用 YUI Async 库触发以间隔
我在我的应用程序中播放的音频有问题。我有 HTML 音频: 然后在我的游戏中我有这样的代码 jQuery('#correct-sound').get(0)
我希望我的audio2 文件在audio1.currentTime 为3 秒时播放,但我无法使其工作。我是 javascript 的新手,我错过了什么?这是我当前的 JavaScript 代码:
使用 Web Audio API 使用振荡器生成基本音调,但存在改变演奏音符的持续时间(以秒为单位)的问题。 问题在于“维持”变量未按预期工作以停止振荡器。该变量按预期播放一个音符,然后其余音符无限持
这是我的代码: public void idoKiiras(){ String idostring = new String(); idostring.valueOf(System.
我目前正在尝试编写学校时间表。我总是在开学第一天检查我们在学校拿到的纸质格式。这就是我的问题: 我想在一天中的某个时刻显示一个标签(有关类(class)的信息)。我的意思是,如果时钟是 10:20,它
我想我在 JavaScript Audio API 上发现了一个错误。 我的代码运行得非常完美: var audio=new Audio(); var lastPause; var myPlayer=
在我问我的问题之前,我只是想说我对 Javascript 和 StackOverflow 一般都是菜鸟,所以如果这个问题太愚蠢,我想提前道歉。 无论如何,我正在学习 Javascript,现在我正在试
所以,我有一些代码由于某些奇怪的原因而不起作用。它的任务是,更改 id 为 blogtxt 的元素的属性 class IF day 变量等于 4、5 或 6(周五、周六、周日)我还希望在 day =
我在音频 html5 中使用 currentTime 时遇到问题。它在控制台中给我一个错误 InvalidStateError: An attempt was made to use an objec
当我更改其中一个 AVAudioPlayer 的 rate 并稍后调用 currentTime 时,我得到了错误的值。这是为什么? 例如,这段代码没有像我期望的那样工作: AVAudioPlayer*
当我在暂停播放器后更改 AVAudioPlayer 的 currentTime 时,它会出现滞后(一些时间为正,一些时间为负)。 [self.bookAudioPlayer pause]; [self
我有两个服务,服务 A 和服务 B。 我在服务 B 上调用方法 doStuff() 并在数据库中创建一个条目,其中包含 system.CurrentTime()当时运行 B 代码的计算机。 我在服务
我有一个简单的 HTML 页面,我在该页面上播放视频。我使用滚动条作为搜索栏。换句话说,只要用户滚动,视频就会播放。 我已经在几个地方看到过这种效果,并且想自己创建它。我写的脚本可以正常运行,但有一个
我有如下设置,在装有 iOS 10.3 的 iPhone 5s 上进行测试,包括调试和未调试。 AVAudioRecorder 触发 record(forDuration: 5.0) CADispla
这是一个 link to the sandbox .我正在寻找操纵 的最佳方法元素的当前时间。在我的沙箱中,我已经能够通过让按钮调用函数来做到这一点 seek()这改变了 video 的状态, 对
我正在尝试从声音文件中的某个点开始播放声音 (mp3)。我希望它可以在大多数移动设备上运行,并且确实可以,但 Windows Phone 8 似乎存在问题。它在三星 Galaxy 和 iPhone 上
我是一名优秀的程序员,十分优秀!