onstop()用于mp3文件

时间:2010-12-24 19:27:46

标签: android

我有这两个按钮。我按第一个它播放一个mp3文件。但如果我按第二个和第一个mp3还没有完成,他们一起玩。我可以修复它吗?这是我的btn代码!!感谢

Button button = (Button) findViewById(R.id.btn);  
        button.setOnClickListener(new View.OnClickListener() {  
           public void onClick(View v){

            MediaPlayer mp = MediaPlayer.create(this, R.raw.myalo);  
            mp.start(); 
            Toast.makeText(this, "Eisai sto myalo", Toast.LENGTH_SHORT).show();

           }     

        });       

        Button button2 = (Button) findViewById(R.id.btn2);  
        button2.setOnClickListener(new View.OnClickListener() {  
           public void onClick(View v){

            MediaPlayer mp = MediaPlayer.create(this, R.raw.thryleole);  
            mp.start(); 
            Toast.makeText(this, "thryle ole trelenomai", Toast.LENGTH_SHORT).show();
           }

2 个答案:

答案 0 :(得分:0)

我的建议: 为创建的mediaplayer-methods使用两个不同的名称, 当开始播放歌曲时,在变量中写入已启动的mp的名称,然后按另一个按钮检查变量是否已填满并在启动新的<{1}}运行任务(存储在变量中)之前停止< / p>

答案 1 :(得分:0)

您可以通过在启动之前检查MediaPlayer是否正在播放来轻松实现此目的。你想做这样的事情:

Button button = (Button) findViewById(R.id.btn);  
button.setOnClickListener(new View.OnClickListener() {  
   public void onClick(View v){
       if (mp.isPlaying() == false){
           MediaPlayer mp = MediaPlayer.create(olympiakos.this, R.raw.myalo);  
           mp.start(); 
           Toast.makeText(olympiakos.this, "Eisai sto myalo", Toast.LENGTH_SHORT).show();
       }
   }     

});       

Button button2 = (Button) findViewById(R.id.btn2);  
button2.setOnClickListener(new View.OnClickListener() {  
   public void onClick(View v){
       if (mp.isPlaying() == false){
           MediaPlayer mp = MediaPlayer.create(olympiakos.this, R.raw.thryleole);  
           mp.start(); 
           Toast.makeText(olympiakos.this, "thryle ole trelenomai", Toast.LENGTH_SHORT).show();
       }
   }
});

如果用户在MediaPlayer仍在播放时单击按钮,则无效,因此它将继续播放正在播放的内容。你可以改为调用mp.stop()并启动新的声音文件。这样,无论忽略点击,它都会停止当前的声音,无论我们走多远,都会开始新的声音。