var video:Video = new Video();
addChild(video);
var netCon:NetConnection = new NetConnection();
netCon.connect(null);
var streamNS:NetStream = new NetStream(netCon);
//streamNS.client = this;
//video.attachNetStream(streamNS);
streamNS.play("AfricanElengwen.m4a");
streamNS.addEventListener(NetStatusEvent.NET_STATUS, netStatusHandler);
function netStatusHandler(e:NetStatusEvent):void
{
if (e.info.code == "NetStream.Play.FileStructureInvalid")
{
trace("The MP4's file structure is invalid.");
} else if (e.info.code == "NetStream.Play.NoSupportedTrackFound")
{
trace("The MP4 doesn't contain any supported tracks");
}
}
我从以下链接获取此代码, http://www.adobe.com/devnet/flashplayer/articles/hd_video_flash_player.html#articlecontentAdobe_numberedheader_0
我没有得到任何错误。 任何人都可以说这是什么错误?
答案 0 :(得分:1)
可能是您的.m4a文件比特率或Flash播放器无法支持的内容。更好的方法是你可以将它转换成mp3文件,然后使用它。
答案 1 :(得分:0)
我刚刚遇到类似NetStream.Play.FileStructureInvalid错误的问题,经过几个小时的挖掘后发现,这似乎发生在Firefox(PC / Mac)中,如果服务器正在压缩之前的内容交货。在Safari(Mac)和其他一些浏览器中,它运行良好。
在Firefox中使用Live HTTP Headers插件显示内容长度没有与响应一起发送,我被提醒它也被gzipped - 我不认为是可能的问题。
对本地.htaccess文件的快速破解证明gzip是罪魁祸首。禁用它后,一切正常:
SetEnv no-gzip dont-vary
我们回到Apache配置并从.mp4文件中删除压缩以正确的方式执行(删除我之前的hack到.htaccess),一切正常!