2010-08-09 97 views
1

我按照步驟創建了我的媒體播放器對象,但我無法理解它爲什麼不播放音樂曲目。我用下面的代碼:Android MediaPlayer問題

mp = new MediaPlayer(); 
    mp.create(this, R.raw.testmed); 
    mp.setVolume(100, 100); 


    mp.start(); 

,但沒有播放聲音時通過仿真器,而且當我檢查的方法mp.isPlaying()返回false。我錯過了什麼?!

非常感謝

回答

4

你要調用一切必要的方法實際啓動播放器。看看Android Media Player state diagram

我想你需要在開始之前準備好玩家。當玩家準備好時,它可以開始。這是通過一個onPreparedListener完成:

mp = new MediaPlayer(); 
mp.create(this, R.raw.testmed); 
mp.setVolume(100, 100); 
mp.setOnPreparedListener(this); 
mp.prepare(); 

然後,你將需要定義這一點,它應該工作:

public void onPrepared(MediaPlayer player) { 
    mp.start(); 
} 
+1

不宜setVolume 0和1之間浮動接受?我相信mp.setVolume(1.0f,1.0f)將使音量達到最大。 – 2011-07-19 03:30:23

+0

我已經使用過它,並沒有遇到任何問題 - 雖然值應該介於0和1之間,但它在哪裏說? – slhck 2011-07-19 05:46:45

+1

我在教程的某處看到它;這裏有一個「老」的線索在談論它,但沒有明確的來源...... http://groups.google.com/group/android-beginners/browse_thread/thread/f1848285f8f3b60c – 2011-07-19 06:08:51