我正在尝试在 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,它的音频可以正常播放。
如果我在 netStatusHandler 中添加以下侦听器和跟踪(evt.info.code),我只会看到使用 FLV 跟踪的任何代码(例如 NetStream.Play.Start)。使用 AAC 或 MP4 不会跟踪任何代码。stream_ns.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
添加此侦听器也是如此(即仅使用 FLV 跟踪 onMetaData 参数,而不使用其他文件类型),将 metaDataListener 定义为具有跟踪其参数的 onMetaData 方法的对象。
stream_ns.client = metaDataListener;
关于这里可能出了什么问题或如何诊断它的任何想法?
谢谢!