actionscript-3 - 关于AS3上的sound.extract

标签 actionscript-3 audio actionscript extract

我现在尝试使用Sound.extract()方法。当声音对象直接使用Sound.load()加载声音数据时,它可以工作,但是当我使用Sound.loadCompressedDataFromByteArray()放置声音数据时,它不处理任何信息。代码是这样的:

var s:Sound = new Sound();
s.addEventListener(ProgressEvent.PROGRESS,onProgress);
s.loadCompressedDataFromByteArray(bytes,8192);
bytes.position += 8192;

private function onProgress(e:ProgressEvent):void {
    var num: int = s.extract(buffer,8192);
    buffer.position += num;
    s.loadCompressedDataFromByteArray(bytes,8192);
}
Sound.extract()方法返回读取的数据数,当我使用Sound.load()加载声音数据时,它可以正常运行。但是,当我使用Sound.loadCompressedDataFromByteArray()加载声音数据时,它不起作用(意味着返回0,但不会引发任何异常),即使它正确地引发了进度事件……

我的问题是AS3是否有这种限制。

我只是想向任何对AS3了解很多的人提供建议。

谢谢!!

最佳答案

问题很明显,我认为您不正确理解sound.extract函数。 sound.extract方法是从有效的声音文件中将原始声音数据提取到字节数组中(这意味着声音文件应该具有一些信息)。

所以,
1.从使用sound.load(req);加载外部声音文件的声音实例中将数据提取到字节数组中没有问题(仅在加载声音文件之后)2.另外,可以从实例化的声音变量中将数据提取到字节数组中通过一个图书馆 Assets var sound:Sound = new MySound();

不用说,应该有一些信息可以提取数据。但是在这种情况下,尝试从刚刚由Sound类实例化的变量中提取数据。即)var s:Sound = new Sound();。没有信息可播放,但是已实例化,因此在尝试extract时不会抛出任何错误

关于actionscript-3 - 关于AS3上的sound.extract,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8286571/

相关文章:

ios - 在 Swift 中,如何让其他应用在我的应用打开时继续播放音频?

php - 是否有可用于在 PHP 中拆分音频文件的脚本?

javascript - 弹性 : make height of SWF == height of content?

flash - 更改 Flash 中的背景颜色

javascript - 来自 Actionscript 3 应用程序的 Twitter 意图弹出窗口

actionscript-3 - 没有类定义的Flash文件是如何编译的?

android - Adobe AIR for Android - 打开 native Facebook 应用程序

c# - 通过 SOCKET 发送文件

ios - 在 iOS 中按下特定按钮时播放特定声音

css - 在 ActionScript 3.5/Flex 中,如何将边框应用于用户单击的任何 UI 组件或容器?