1

我在 AS3 中有声音数据作为 ByteArray。需要将其传输到 javascript,然后将其发送回 AS3 进行播放。

我尝试通过 readUTFBytes 和 writeUTFBytes 将其转换为字符串。但不工作。ExternalInterface 也不允许传递 Object 以外的参数。他们有这样的问题吗?

请帮助我如何在 JS 和 AS3 之间传输 ByteArray(双向)提前谢谢

4

1 回答 1

0

ByteArray UTF 函数用于处理 UTF 编码的文本。您的声音数据不是 UTF 编码的。请参阅下面的 AS3 中的 Object 和 ByteArray 之间转换的示例...

// convert from a ByteArray to an Object:
ba.position = 0;
var obj:Object = ba.readObject();

// convert from Object to ByteArray:
var bytes:ByteArray = new ByteArray();
bytes.writeObject(obj);

但是,我不认为 ExternalInterface 只允许您传递对象是真的。如果是这种情况,那么最容易找到 Base64 类(有几个可用于 AS3)并在将 ByteArray 传递给 JS 之前对其进行 base64 编码,并在接收时对其进行 base64 解码。

于 2013-04-29T14:49:39.050 回答