我试图制作一个吉他练习网站,一个关键的功能是循环非常短的mp3文件(几秒钟长),两者之间绝对没有空隙。例如,它可以是一个长4和弦的和弦进程,我希望允许用户无缝循环播放它。如何在浏览器中以零差距循环播放mp3?
我尝试使用HTML5 <audio>
标签与loop
属性。谷歌浏览器在循环之间给出了一个小小的差距,但足够大到完全无法接受我的目的。我没有测试其他浏览器,但我相信它不会工作。
一种可能的解决方法是使用ffmpeg
到流重复相同的音频作为一个MP3。但是,这会花费大量带宽。
至于我自己,我用厚颜无耻地循环无间隙的,可惜的Audacity没有一个网络版本。
那么,你有什么想法,我可以循环浏览器中的一个MP3与零差距?我更喜欢非Flash解决方案,但如果没有其他工作,我会使用Flash。
编辑: 谢谢你的一切建议。 Flash原来正常工作。我在http://vmlucid.lcm.hk/~netvope/audio/flash.html做了一个玩具演示。令我惊讶的是(我用Flash将资源和浏览器崩溃联系起来),Flash和ActionScript的设计非常好,而且易于使用。我花了只有3个小时对我的第一个Flash项目:)
谢谢!我也会从extract()中用ByteArrays来尝试SampleDataEvents。 – netvope 2010-11-05 06:31:12