- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我会试着描述我在做什么。
我目前有 2 个 HTML5 音频元素,我们称它们为 Master 和 Slave。
它们都加载完全相同的媒体文件,但从属设备默认情况下将其音频静音。
每个玩家都可以被对方控制(暂停、播放、擦洗等)。
每个播放器都有自己的自定义样式,并从外部 JSON 文件接收持续时间数据(因此两者都不依赖 audio.duration
来获取和计算播放器中其他功能的持续时间,例如擦洗条)。
一切都很完美,但明显的缺点是每首歌曲的音频文件都加载了两次。 (音频文件由 PHP 以小块的形式提供 - audio.src
中没有指向 .mp3 文件的直接链接 - 相反,它是一个到服务器端脚本的链接,该脚本需要对每个初始请求进行唯一身份验证,因此音频文件没有被缓存 - 因此双重下载)。
我实际上根本不需要在静音播放器上使用 HTML5 音频元素,除了获取轨道的 currentTime 之外,有什么办法可以“伪造”音频元素吗?也许通过为轨道的长度运行 setTimeout 或类似的东西?
我只需要可以模仿 audio.currentTime
的东西HTML5 音频元素吐出以更新进度(擦洗)栏的值,但我真的不知道从哪里开始,或者是否有可能?
欢迎任何建议,非常感谢提前。
编辑 - 为清楚起见,我的网站的工作方式类似于 Soundcloud作品。即 - 屏幕上呈现的许多玩家(奴隶),所有这些都可以单独播放,所有这些也可以由页脚玩家(主人)控制。我网站上的所有内容(除了包含主播放器的元素)都是使用 Ajax 动态加载的。
最佳答案
您应该能够“伪造”从属音频播放器,如下所示:
#progress-bar{
left: 0px;
}
function moveRight() {
var progressBar = document.getElementById('progressBar');
var pos = 0;
//position on X Axis
let move = setInterval(frame,5);
//start moving, once every 5 miliseconds
function frame() {
if (pos == 400) {
clearInterval(move);
} else {
pos++;
progressBar.style.left = 5 + pos/10 + '%';
}
}
}
if (pos == 400)
当您单击主播放器时,调用此 moveRight() 函数,该函数将依次移动假 slider 。使用数值播放,直到移动类似于真正的音频播放器 slider 。
关于javascript - 在 javascript 中创建 "fake"媒体播放器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52583184/
我在尝试从单独的项目中引用 mscorlib fake DLL 时遇到问题,如下所述。 我有许多 VS12 解决方案,我正在使用 MS Fakes 为其编写单元测试。根据以下 URL 中的建议,我决定
我在使用 Microsoft fakes 的解决方案中有一个单元测试项目,当我构建它时出现以下错误。它提示无法加载的 DLL 在磁盘上。我已经打开了 Fusion 日志记录,这表明绑定(bind)成功
是否可以设置一个 Target,在 Build Target 完成后在远程创建并推送一个 git 标签? 感谢您的帮助。 最佳答案 我使用了以下似乎有效的方法 Target "TagBuild" (f
我已经使用 Django 大约 2 年了,有一个功能我一直害怕使用:伪造迁移 . 我几乎到处都看过,我能得到的最多信息来自 documentation它指出: --假 Tells Django to
我将在我的单元测试中使用 Microsoft.Fakes。我读了一个tutorial Microsoft.Fakes 在其中为接口(interface)创建了一个 stub (在解决方案中实现),但在
我使用 VS 2015 U1。 我使用带有奇怪版本控制的外部库 - 1.0.4056.40164 . 我为这个库添加了一个 .Fakes 文件。当构建 fakes 程序集时,我收到以下警告: C:\S
单元测试项目 Up.UnitTests 在构建期间失败,并出现此构建错误 错误 CS0430:未在/reference 选项中指定外部别名“snh”错误 CS0234:命名空间“snh”中不存在类型或
有没有一种简单的方法可以让我使用 FAKE 获取正在执行的 .fsx 文件的路径? Powershell 和 (psake) 的使用性质和 MSBUILD 提供了此功能,但作为 FAKE/F# 菜鸟,
因此,在我正在构建的光线追踪器中,我已经获得了适用于球体的折射以及焦散效果,但是玻璃球看起来并不是特别好。我相信折射数学是正确的,因为光线似乎在以您期望的方式反转时弯曲,但它看起来不像玻璃,它只是看起
在VS中,通常在Build(增量式)和Rebuild之间进行区分,后者将先进行清理,然后再执行与Build相同的操作。我可以使用FAKE提供类似的行为吗? 让我们假设以下目标: Target "Cle
作为解决方法,我需要更改某个 Java 程序的系统时钟,而不触及代码才能获取: calendar.getinstance().get(calendar.year) = 2013 是否可以仅通过启动配置
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
当类库引用 Visual Studio 2013 下针对 .Net 4.5 和 Silverlight 5 的 PCL(可移植类库)时,我无法为类库 (.NET 4.5) 生成 Microsoft F
我正在尝试使用 FAKE 来构建位于多个子目录中的 F# 文件。 filesInDirMatching来自 FAKE。 #r @"packages/FAKE/tools/FakeLib.dll" op
这与我提出的最后几个问题无关。 我需要从 IP 网络摄像头 (SNC-RZ25N) 获取视频到 Flash Media Server。我宁愿不必使用 Windows,但如果它使事情变得更容易,我会的。
在 FAKE你通常有一个像这样的构建脚本: // "foo.fsx" #r @"./packages/tools/FAKE/tools/FakeLib.dll" open Fake Target "F
Django迁移中的--fake-initial和--fake有什么区别?使用假迁移有什么危险?有人知道吗非常感谢大家。 我正在使用Django 1.10 最佳答案 好吧,文档对此很清楚 --fake
我正在为一个项目构建一个模板,它目前没有构建服务器端。我需要测试我的表单和验证,并想要“伪造”表单提交。 我正在尝试这个: $("#save").click(function(e) { e.pre
考虑以下因素: #r @"FakeLib.dll" open Fake open Fake.StringHelper open Fake.ProcessHelper Shell.Exec("mkdir
我是一名优秀的程序员,十分优秀!