2015-01-21 89 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