actionscript-3 - HTML:如何从URL中间文件开始声音播放而又不将所有声音数据缓冲到该点

标签 actionscript-3 html audio buffer html5-audio

我在标准的apache服务器上托管了一个长的mp3文件(到目前为止已长达30分钟,但我希望它也可以使用更长的声音)。

我想在指定点开始播放此音频。

尝试使用Flash Actionscript 3时,我的基本测试表明,从开始到我选择的位置的所有音频都在播放之前进行了缓冲(Sound.bytesLoaded是我的 friend )。如果我开始播放一秒钟,则开始播放大约需要3秒钟,而播放30秒则需要大约25秒。
显然,对于非常长的mp3(例如,将播放跳到3小时有声读物的中间),这将不切实际。

这是我正在使用的ActionScript 3.0代码:

button.addEventListener(MouseEvent.MOUSE_DOWN, function():void {
 var s:Sound = new Sound(); 
 var req:URLRequest = new URLRequest("http://example.com/audio.mp3"); 
 s.load(req); 
 s.play(30 * 60 * 1000); // start 30 seconds in.
} 
);

有人知道Flash是否有可能?

如果没有,是否有可能在不安装任何服务器端解决方案的情况下从网页上执行此操作?

非常感谢。

最佳答案

据我了解,这是通过HTTP与流进行常规“渐进式下载”的问题。

在标准设置中,常规的HTTP服务器和Flash Player无法跳过mp3或视频的过去部分,如您所描述的,必须首先下载该点之前的所有数据。

启用跳过/查找的一种方法是使用流式服务器(例如Adobe的Flash Media Streaming Server或开源替代产品Red5)来提供mp3。

但是,还有一些方法可以在HTTP服务器上设置所谓的“伪流”:

http://flowplayer.org/plugins/streaming/pseudostreaming.html

关于actionscript-3 - HTML:如何从URL中间文件开始声音播放而又不将所有声音数据缓冲到该点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4239223/

相关文章:

flash - actionscript3 中嵌入的 mp3 不会一直播放

macos - AVAudioPlayer.play() 不播放声音

flash - 加载器对象不调度 Event.COMPLETE

flash - AS3 掩码奇怪的结果

java - java中从多个arrayList中获取值

javascript - Bootstrap Accordion - 页面先跳到底部然后转到顶部问题

actionscript-3 - 为什么闪存在创建数组和创建包含数组的类时会消耗不同数量的内存?

html - 使 Bootstrap 3 nav pills 占据网格中定义的空间

jquery - 具有空单元格的表格行不显示边框

c# - Unity:带有PlayScheduled()的准确节拍器不起作用