我正在尝试使用HTML5音频创建一个简单的循环功能,并具有非常原始的解决方案如下:
$(audio).bind('timeupdate',function() {
  if (audio.currentTime >= 26){
    var blah = audio.currentTime; 
    audio.currentTime = 23;
    console.log(blah);
  }
})

这样做很好,但这里唯一的故障是时间更新事件并不会非常一致地触发。例如,上面的console.log返回:
26.14031982421875

26.229642868041992

26.13462257385254

26.21796226501465

…等等。 (你得到的想法…一致的时间)

显然,这对于时间重要的应用程序(音乐应用程序)无效。所以对我来说明显的解决办法是增加触发时间更新事件的粒度。我没有找到任何api文档…但是很想知道是否有办法做到这一点。

解决方法

我很抱歉,但这是它的工作方式。从 html5 specs:

Every 15 to 250ms,or whenever the MediaController’s media controller position changes,whichever happens least often,the user agent must queue a task to fire a simple event named timeupdate at the MediaController.

也,

The event thus is not to be fired faster than about 66Hz or slower than 4Hz (assuming the event handlers don’t take longer than 250ms to run). User agents are encouraged to vary the frequency of the event based on the system load and the average cost of processing the event each time,so that the UI updates are not any more frequent than the user agent can comfortably handle while decoding the video.

如果您阅读了该规范,您可以得到这样的想法,即timeupdate事件是一种“尽力而为”的事件。它会发射,当它可以,永远只要不影响性能太多。

您可以过滤丢弃某些事件的事件,以平稳到达时间,但恐怕不可能做相反的事情。

设置HTML5音频事件’timeupdate’的粒度的更多相关文章

  1. 如何查看浏览器对html5的支持情况

    这篇文章主要介绍了如何查看浏览器对html5的支持情况,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  2. swift – 有没有办法结合开关和包含?

    假设我有三个包含扩展的集合:和一个简单的枚举:现在我想要做的是实现一个函数,该函数根据传递给它的字符串返回FileType选项,哪个集合包含它:它应该按预期工作,但我想知道是否有一种方法将if语句转换为一个switch语句,尤其是在使用枚举时,switch语句是更好的选择避免错误.如果使用switch语句无法实现,我也会感谢任何优雅的替代方案.我认为你的整个问题是你试图为每种类型维护3个独立集合,而不是直接将它们连接到给定的文件类型:

  3. 在Android浏览器中使用HTML5播放音频

    我想在Android浏览器中播放音频,使用html5标签.它在iPhone浏览器中运行良好,但在Android中不行.我正在使用Android虚拟设备4.0.3.有谁知道为什么?

  4. Android模拟器声音 – ubuntu

    使用Ubuntu10.0464位进行Android开发,一切顺利,除了声音.我使用-audio选项和-audio-out使用alsa作为后端参数,但没有运气.任何的想法?注意命令行“-no-audio”选项的替代方法是调整AVD管理器中的Android虚拟设备,并在“硬件”下添加“音频播放支持:否”和“音频录制支持:否”.通过这些更改,我可以从Eclipse启动模拟器并在其中运行我的应用程序.

  5. android – 三星设备上的AcousticEchoCanceler无法正常工作

    解决方法试试这些:

  6. 给定Android音乐播放列表名称,如何找到播放列表中的歌曲?

    可以通过MediaStore.Audio.Playlists.EXTERNAL_CONTENT_URI上的查询找到播放列表名称然后查看MediaStore.Audio.PlaylistsColumns.NAME列.还有一个数据列,MediaStore.Audio.PlaylistsColumns._DATA,但它返回null.歌曲列表(MediaStore.Audio.Media.EXTERNAL

  7. android – 我想阻止我的音乐播放器应用程序每次应用程序启动时扫描目录中的音频文件.我怎样才能做到这一点?

    我想阻止我的音乐播放器应用程序在每次应用程序启动时扫描目录中的音频文件.我怎样才能做到这一点?我一直在使用以下代码来扫描音频文件.我希望应用程序只在有新文件时进行扫描.因为如果我每次都扫描整张SD卡,那么启动应用程序需要花费太多时间.请帮帮我解决方法无需将所有歌曲保留在本地应用列表中.要显示mp3list,您可以使用带限制的内容提供者光标列表适配器查询(逐页滚动查询)要直接搜索使用contentp

  8. android – 如何通过MediaRecorder.start()来静音“嘟嘟”?

    解决方法虽然我来不及回答它.它仍然可以帮助所有人都在谷歌搜索同样的问题.在开始媒体记录器之前添加以下两行代码..它会静音手机声音..启动录音机后等待一到两秒钟并取消静音,你可以使用以下可运行的…

  9. android – 如何使用MediaStore.Audio.Albums.ALBUM_ART显示专辑封面?

    我正在尝试构建一个MP3播放器,我希望ImageView能够显示各个歌曲的专辑封面.我尝试了以下,但它不起作用.当我尝试播放歌曲时,我得到的只是ImageView中的空白屏幕.解决方法这是我如何获得一首歌的专辑封面:albumId指的是该歌曲的MediaStore.Audio.Media.ALBUM_ID.如果您正在寻找特定歌曲的专辑封面(而不是专辑列表),据我所知,这是一个两阶段的过程,因为AL

  10. 观察Audio.Media.EXTERNAL_CONTENT_URI的android内容观察器的更改

    大家好,对不起,如果你认为这个问题重复,但是我提出这个问题,因为我没有得到解决方案.其实我正在开发一个Android应用程序,其中我必须检测androidsd卡的音频文件的变化与文件名,文件路径和操作执行.例如,如果我在我的SD卡中添加一个文件,那么我想知道>添加文件的名称>文件的路径>操作–添加以前我已经尝试过文件观察器,但是我必须在每个目录上应用它.所以我搜索了一些其他解决方案,并得到关于Au

随机推荐

  1. 微信小程序canvas实现水平、垂直居中效果

    这篇文章主要介绍了小程序中canvas实现水平、垂直居中效果,本文图文实例代码相结合给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

  2. 使用HTML5做的导航条详细步骤

    这篇文章主要介绍了用HTML5做的导航条详细步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. H5最强接口之canvas实现动态图形功能

    这篇文章主要介绍了H5最强接口之canvas实现动态图形功能,需要的朋友可以参考下

  4. Canvas高级路径操作之拖拽对象的实现

    这篇文章主要介绍了Canvas高级路径操作之拖拽对象的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

  5. html5视频自动横过来自适应页面且点击播放功能的实现

    这篇文章主要介绍了h5视频自动横过来自适应页面且点击播放,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  6. 详解HTML5中的picture元素响应式处理图片

    这篇文章主要介绍了详解HTML5中的picture元素响应式处理图片,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  7. canvas像素点操作之视频绿幕抠图

    这篇文章主要介绍了canvas像素点操作之视频绿幕抠图的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  8. html5利用canvas实现颜色容差抠图功能

    这篇文章主要介绍了html5利用canvas实现颜色容差抠图功能,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

  9. canvas绘制视频封面的方法

    这篇文章主要介绍了canvas绘制视频封面的方法的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. HTML5拖拽功能实现的拼图游戏

    本文通过实例代码给大家介绍了HTML5拖拽功能实现的拼图游戏,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧

返回
顶部