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 に答える