Flash CS3 の ActionScript 3 でリモート AAC ファイルを再生しようとしており、現在次のコードを使用しています。
var url:String = "http://a1.phobos.apple.com/us/r1000/020/Music/d4/50/94/mzm.kjjofihr.aac.p.m4a";
var connect_nc:NetConnection = new NetConnection();
connect_nc.connect(null);
var stream_ns:NetStream = new NetStream(connect_nc);
stream_ns.play(url);
(これは以下に基づいています: http://www.adobe.com/devnet/flashplayer/articles/hd_video_flash_player_03.html )
エラーはスローされませんが、サウンドは再生されません。ローカルの AAC ファイルとローカルの MP4 ビデオで同じ動作が得られます。
ストリーミング可能なファイルではない URL またはファイル パスを使用すると、NetStream.Play.StreamNotFound エラーが発生します。これは、有効な URL の場合にストリームが見つかったことを意味すると推測しています。ローカル FLV を使用すると、そのオーディオは問題なく再生されます。
次のリスナーと trace(evt.info.code) を netStatusHandler に追加すると、FLV でトレースされたコード (NetStream.Play.Start など) のみが表示されます。AAC または MP4 ではコードはトレースされません。stream_ns.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
引数をトレースする onMetaData メソッドを持つオブジェクトとして定義された metaDataListener を使用して、このリスナーを追加する場合も同様です (つまり、onMetaData 引数は FLV でのみトレースされ、他のファイル タイプではトレースされません)。
stream_ns.client = metaDataListener;
ここで何がうまくいかないのか、またはそれを診断する方法についてのアイデアはありますか?
ありがとう!