2011-07-27 65 views
0
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我正在嘗試使用流方法播放.m4a文件。但它不工作

我沒有得到任何錯誤。 任何人都可以說什麼是錯誤?

+0

嘗試在netStatusHandler()中的任何IF之外添加一個跟蹤...它根本就不會被調用! – pkyeck

+0

我使用了.flv文件。那是在玩。 – Benny

回答

1

可能是您的.m4a文件比特率或閃存播放器不支持的內容。更好的方法是你可以將它轉換成mp3文件,然後使用它。

+0

是的..我已經轉換成MP3格式。它現在工作正常...感謝您的建議。 – Benny

0

我剛剛經歷了與NetStream.Play.FileStructureInvalid錯誤類似的問題,經過幾個小時的挖掘後發現這似乎發生在Firefox(PC/Mac)中,如果服務器先前在瀏覽內容交付。在Safari(Mac)和其他幾個瀏覽器中,它運行良好。

在Firefox中使用Live HTTP Headers附加組件顯示內容長度未與響應一起發送,並且我被提醒它也在被gzip壓縮 - 我並不認爲它是一個可能的問題。

快速入侵本地.htaccess文件證明gzip是罪魁禍首。禁用後,它的所有工作正常:

SetEnv no-gzip dont-vary 

我們又回到了Apache的配置並取消.mp4文件壓縮到這樣做的正確的方式(除去我剛纔的劈到的.htaccess),和所有效果很好!

相關問題