`

Can't Replay MP3 in Browsers using HTML5

阅读更多
Can't Replay MP3 in Browsers using HTML5

HTML5 audio 播放音频文件真的是很方便,不过还是有些小bug

引用

Chrome 18及更高版本支持HTML5音频和画布。但HTML5音频只有在网页服务器支持部分下载的情况下才能够顺利运作。这一问题的症状有:

* 无法重播音频

* 无法控制重播位置

* 音频播放一次后停止,但“结束”事件没被激活

解决这一问题最简单的方式是,在网页服务器上启动远程请求。注意,Google App Engine并不支持远程请求,但我们可以通过执行支持远程请求的文件服务程式解决这一问题。

另一避开这一问题的方法是,避免采用内置循环函数,通过load()函数“倒回”,在此播放音频。这能够解决问题,但会提高网页服务器的负荷。当加载函数在音频实例中被调用时,网页浏览器就从网页服务器上提取音频数据。


我的解决办法是:(比较简单暴力)
reload 一下音频文件就可以了

类似与:
audio.play();
audio.load(audio.src);

                var _audio = document.getElementById('audio_' + current);
                if(_audio)
                {
                    _audio.currentTime = 0;
                    _audio.play();
                }
                var _input_word = $('#input').val();
                var _match_word = $('#' + current).html();
                _input_word = _input_word.toLowerCase();
                _match_word = _match_word.toLowerCase();
                if(_input_word != _match_word)
                {
                    setTimeout(function(){
                        _audio.load(_audio.src);
                    }, 1500);
                    setTimeout(function(){
                        $('#input').css('border-color', '#BBB');
                    }, 1000);
                    $('#input').css('border-color', 'red').val('');
                    //$('#input').addClass('error').val('');
                    return false;
                }
 


参考连接:
https://developer.mozilla.org/en/Using_audio_and_video_in_Firefox

http://code.google.com/p/chromium/issues/detail?id=78992

http://stackoverflow.com/questions/2702343/html5-audio-plays-only-once-in-my-javascript-code

http://stackoverflow.com/questions/1995589/html5-audio-safari-live-broadcast-vs-not/1995977#1995977

http://www.mhtml5.com/2012/06/5121.html








分享到:
评论

相关推荐

    4.6* DQN with Prioritised Replay using Tensorflow (强化学习 Reinforcement Learning 教学)

    #4.6*_DQN_with_Prioritised_Replay__using_Tensorflow_(强化学习_Reinfo

    RECURRENT EXPERIENCE REPLAY IN DISTRIBUTED REINFORCEMENT LEARNING

    2. **Recurrent Replay Distributed DQN(R2D2)**:该论文介绍了一个集成了上述研究成果的新代理——R2D2。通过单一网络架构和固定超参数设置,R2D2在Atari-57和DMLab-30这两个基准测试上均取得了显著的进步,不仅...

    介绍Tcpreplay的使用

    Tcpreplay 使用说明 Tcpreplay 是一个功能强大且灵活的工具,可以重放 TCP 报文,从而模拟网络流量,以便进行测试和评估。为了更好地了解 Tcpreplay 的使用,我们首先需要了解与之密切相关的一个命令:tcpprep。 ...

    tcpreplay发包工具

    5. **增强功能**:TCPreplay还有其他扩展功能,如tcprewrite用于修改数据包字段(如IP地址和端口),以及tcpslice用于截取大pcap文件。 使用TCPreplay时,你需要准备一个包含捕获数据包的.pcap文件。例如,你可以...

    安装tcpreplay,相关依赖包

    在Linux服务器上安装tcpreplay,需要的离线包 ...5.安装完libpcap后,可以安装tcpreplay,进入tcpreplay-4.1.2执行上一步的三个命令编译安装。安装完成后,执行tcpreplay -vesion能查看版本信息,-help查看帮助信息

    linux设备tcpreplay安装

    在Linux设备上安装tcpreplay包回放工具

    Replay Media Catcher 7.0.0.36

    Replay Media Catcher是一款功能强大的应用程序,用户可以通过它从成百上千的视频网站上一键式下载视频录像,方便观看浏览。 用户可以在应用程序界面的右方使用搜索按钮,选择想要下载的视频点击下载,并选择下载...

    Cygwin及windows上安装tcpreplay必要软件

    在Windows操作系统上,为了进行网络数据包的回放和分析,常常需要用到tcpreplay这款工具。tcpreplay是一个开源的网络测试工具,主要用于在网络设备、应用程序或者服务上重放捕获的数据包,这对于网络性能测试、故障...

    tcpreplay-4.1.0.tar.gz

    标题 "tcpreplay-4.1.0.tar.gz" 提供了一个开源软件的版本信息,tcpreplay 是一个广泛使用的网络测试工具,主要用于在网络设备上重放捕获的网络数据包。这个版本是 4.1.0,通常发布新版本意味着它包含了错误修复、...

    replay-source-1.6.7-windows64_replay_OBS_

    标题中的"replay-source-1.6.7-windows64_replay_OBS_"表明这是一个与OBS(Open Broadcaster Software)相关的插件,主要用于录制和回放功能。OBS是一款开源的直播和视频录制软件,广泛应用于游戏直播、教育、在线...

    tcpreplay-4.4.4-1.el8.x86-64.rpm

    tcpreplay centos8环境

    银河麒麟v10服务器版 tcpreplay

    银河麒麟v10服务器版 tcpreplay可执行二进制文件

    tcpreplay安装和使用

    ### tcpreplay安装和使用详解 #### 一、Tcpreplay简介 Tcpreplay是一套用于在网络环境中重放捕获的流量包的工具集。这套工具集可以帮助网络安全分析师和开发人员重现网络条件,测试网络设备的行为以及验证应用程序...

    Ultimate Replay 3 v3.1.0

    Ultimate Replay 3.0是一个完整的基于状态的回放系统,旨在使在游戏中添加killcams或动作回放尽可能简单。 Ultimate Replay 3.0旨在为您的游戏提供一个完整的回放系统,使您可以轻松添加动作回放、杀人魔、幽灵车等...

    tcpreplay4.1.2

    TCPreplay 4.1.2 是一个在Linux环境下广泛使用的网络流量回放工具,它允许用户重放捕获的TCP/IP数据包,以便于网络分析、测试和性能基准测试。这个版本支持32位和64位系统,并依赖于libpcap 1.8.1库来执行其核心功能...

    replay文件绘图脚本

    【标题】:“replay文件绘图脚本”指的是一个用于处理和可视化华为软件精英挑战赛中的replay数据的脚本程序。这个脚本不仅适用于MATLAB环境,还兼容GNU Octave,使得用户在没有安装MATLAB的情况下也能进行数据分析和...

    Oracle11g新特性实验之三-Database replay(重演).docx

    Oracle 11g 新特性实验之三 - Database Replay(重演) Oracle 11g 中的 Database Replay(重演)是一种新的特性,能够模拟生产数据库的工作负载,以便在测试环境中进行测试和优化。下面将详细介绍 Database Replay...

    Simulink中CAN收发模块功能仿真模型

    1、文章《基于MATLAB和simulink的CAN报文收发模块仿真实验》的模型文件; 2、编译通过,模型可以正常运行; 3、双击scop示波器查看输出信号; 4、其他参数不需要调整; 5、软件环境为matlabR2020b或以上,老版本有...

    dota_replay_manager3.0

    《Dota Replay Manager 3.0:全面解析与深度挖掘》 Dota Replay Manager 3.0是一款专为Dota爱好者设计的实用工具,旨在帮助玩家更好地管理和分析他们的游戏回放。这款软件的核心功能在于其高效地组织和播放Dota游戏...

Global site tag (gtag.js) - Google Analytics