【发布时间】:2012-01-14 18:10:24
【问题描述】:
我正在尝试使用 loadCompressedDataFromByteArray() 加载 mp3 文件,然后稍后播放它们,但似乎没有办法这样做。使用 loadCompressedDataFromByteArray 加载时,Sound 类仅调度 ID3 事件,不调度其他事件(完成、打开等)。如果我只是用 loadCompressedDataFromByteArray 加载声音,然后在稍后尝试播放我得到的声音:
ArgumentError: Error #1063
现在唯一的选择似乎是在调用 loadCompressedDataFromByteArray() 后立即开始播放声音...
_sound.loadCompressedDataFromByteArray(_bytes, _bytes.length);
_sound.play();
但这在我的情况下完全没用,因为我正在尝试预加载需要稍后使用的 mp3 文件。
有人知道解决方法吗?
【问题讨论】:
-
完整的错误信息总是有帮助的。
-
会不会和这个有关? "数据将从当前 ByteArray 位置读取,完成后将 ByteArray 位置留在指定字节长度的末尾" (help.adobe.com/en_US/FlashPlatform/beta/reference/actionscript/…)
-
不,我已将 ByteArray 位置设置为零,然后再将其加载到声音中。然而,现在我觉得这实际上是一个完全损坏的 API。 Adobe 完成了一项完全悲惨的工作!这同样适用于其他新添加的声音方法 loadPCMFromByteArray(),它也被破坏了,请参见此处:bugs.adobe.com/jira/browse/ASL-281(请投票)。我也会提交关于 loadCompressedDataFromByteArray 方法的错误,如果只有 Adobe 的错误系统允许我注册(似乎也被破坏了:-/)。
标签: flash actionscript-3 audio air