在這邊順手紀錄一下
相信很多人在一開始練習 XNA 的 VideoPlayer 類別時,會踢到鐵板
明明我從網路上抓下來的影片都可以正常看,為何就是會出現這錯誤訊息呢?
Please make sure that the video is not DRM protected
and is a valid single-pass CBR encoded video file.
通常,會看到這訊息,就表示你的檔案格式錯誤了!!
請不要第一時間就罵微軟,他已經提示你正確
正常的情況下,XNA 只有支援固定的多媒體格式,詳情可以看 這個連結
當你的格式都符合 Video Playback 項目所規定的範圍內
理論上應該是可以正常撥放的
如果你想要確認你手邊的檔案的格式與編碼,你可以使用 這個工具
如果你想要轉換檔案格式,那麼 這個工具 或許是個不錯的選擇
因為多媒體檔案分為視訊與音訊兩大部分
假使,還是會出現這個錯誤訊息,你可以嘗試先讓 IsMuted=true; (只播放視訊)
如果這樣就能夠順利撥放影片,那表示原因很有可能是出在音訊格式上
網路上有很多的音訊,為了節省空間,會使用 VBR 的方式去壓縮
很可惜的是,XNA 只支援 CBR 的格式
這篇文章 有說明 MP3的三種數據(CBR、 VBR、ABR)的差異性
有興趣的可以去看一看這篇文章
基本上,只要你的檔案格式已經是轉換成 XNA 相容的,就能順利撥放了
以上,這樣應該可以幫助大多數的人排除問題了 ^_^
祝各位寫遊戲順利 ~
沒有留言:
張貼留言