簡體   English   中英

android mediaplayer.create返回null

[英]android mediaplayer.create returns null

我正在嘗試使用MediaPlayer Class從URI播放聲音,但是當我嘗試此操作使我的應用程序崩潰時,我注意到mediaplayer.create()函數返回null,我該怎么辦才能解決此問題?

mediaplayer=MediaPlayer.create(this,Uri.parse("http://example.com/files/music.mp3"));
if (mediaplayer==null){
    Toast.makeText(this,"media player is null",Toast.LENGTH_LONG).show();
        }
else
    mediaplayer.start();

現在,當我運行我的應用程序時,它顯示Toast消息“媒體播放器為空”

我在MediaPlayer中遇到了類似的問題

create()方法有時會返回null

我嘗試過的某些文件類型是mp3,wav和m4a

我知道它們沒有損壞,因為我可以在winamp / itunes中播放它們

雖然文檔確實說它支持那些文件類型,但事實證明它實際上不支持

我注意到,當音頻文件(與文件類型無關)為10Mb或更大時,MediaPlayer將返回null。 這使我得出結論,MediaPlayer無法播放高於某些比特率的文件。 大尺寸=更好的質量。

所以我的解決方案是:用128kbps比特率將所有內容轉換為.mp3

編輯:看起來問題出在我的模擬器上,當我使用真正的Android設備時,一切運行正常。 確保您在真實的Android設備上進行測試。 或者以我為例,我創建了另一個具有更好規格的AVD配置文件,並且可以正常工作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM