2015-01-21 109 views
-1

我是Android的初學者。 我的代碼是Mediaplayer無法正常工作

MediaPlayer media; 
media=MediaPlayer.create(MainActivity.this, R.raw.beep); 

while(f<=3) 
       {   
     media.start();      
     f++; 
     Toast.makeText(MainActivity.this, 
        "Count="+f, Toast.LENGTH_LONG).show(); 
      } 
    } 
} 
在這段代碼蜂鳴

僅once.while循環工作,但只once.while發生在public void stop() throws IllegalStateException每次(循環)調試的聲音。但在運行應用程序它播放聲音播放聲音時只有一次。

+0

而不是mediaplayer啓動()3次。做media.setLooping(true)。基於你的條件的Android,你可以停止循環。沒有媒體播放器阻止你再次盯着玩家。它會引起異常。 – droidd 2015-01-21 05:52:38

+0

使用media.setLooping(true)時,它不會根據條件停止。 – 2015-01-21 05:55:16

+0

你可以使用這個。新的處理程序()。postDelayed(新的Runnable(){ \t \t \t \t \t \t @覆蓋 \t \t \t公共無效的run(){ \t \t \t \t \t \t \t \t如果(媒體!= NULL &&媒體.isLooping()) \t \t \t \t \t media.stop(); \t \t \t \t \t \t \t} \t \t},3000); //請根據條件改變時間。 – droidd 2015-01-21 05:59:07

回答

1
MediaPlayer media; 
media=MediaPlayer.create(MainActivity.this, R.raw.beep); 
media.setLooping(true); 
media.start(); 

new Handler().postDelayed(new Runnable() 
{ 
@Override public void run() 
{ 
if(media!=null && media.isLooping()) 
media.stop(); 
} 
}, 3000); 

如果您有任何查詢,請讓我知道。

+0

非常感謝你Vivek.your代碼正在工作。 – 2015-01-21 06:25:49

+0

請注意答案,如果它工作.. – droidd 2015-01-21 06:34:42