Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 HTML:如何从URL mid文件开始声音播放,而不将所有声音数据缓冲到该点_Actionscript 3_Html_Audio_Buffer_Html5 Audio - Fatal编程技术网

Actionscript 3 HTML:如何从URL mid文件开始声音播放,而不将所有声音数据缓冲到该点

Actionscript 3 HTML:如何从URL mid文件开始声音播放,而不将所有声音数据缓冲到该点,actionscript-3,html,audio,buffer,html5-audio,Actionscript 3,Html,Audio,Buffer,Html5 Audio,我在标准apache服务器上有一个长的mp3文件(到目前为止有30分钟长,但我希望它也能处理更长的声音) 我想在指定点开始播放此音频 当尝试使用Flash Actionscript 3时,我的基本测试表明,从开始到我选择的位置的所有音频在播放之前都会被缓冲(Sound.bytesLoaded是我在这里的朋友)。如果我以1秒的速度开始播放,大约需要3秒,以30秒的速度开始播放,大约需要25秒。 显然,对于一个很长的mp3,比如将播放时间跳到3小时有声读物的中间,这是不实际的 下面是我正在使用的Ac

我在标准apache服务器上有一个长的mp3文件(到目前为止有30分钟长,但我希望它也能处理更长的声音)

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

当尝试使用Flash Actionscript 3时,我的基本测试表明,从开始到我选择的位置的所有音频在播放之前都会被缓冲(Sound.bytesLoaded是我在这里的朋友)。如果我以1秒的速度开始播放,大约需要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播放器不能跳过mp3或视频的过去部分,如您所述,必须首先下载到该点的所有数据

启用跳过/查找的一种方法是使用Adobe或开源替代品等流媒体服务器来服务mp3

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


谢谢-这真的很有帮助。伪流看起来是最吸引人的主意,我将在链接上试验一个仅音频的FLV文件和仅PHP的解决方案。