Android:音频问题

时间:2015-09-04 09:14:58

标签: android audio

当我点击一个按钮时,会播放一个音频,但如果同时我在我的应用中播放另一个音频片段,则第一个音频片段没有停止,但两个音频片段同时运行。这个问题如果我多次单击该按钮,则运行多个音频文件实例。我想一次只运行一个音频文件。如果我单击另一个音频文件,则应自动停止上一个音频文件。

java文件代码是

button_audio2.setOnClickListener(new View.OnClickListener(){
        @Override
        public void onClick(View v){
            mysound = MediaPlayer.create(MyActivity.this, R.raw.audio2);
           if( mysound.isPlaying()){
               button_audio2.setText("play");
               mysound.pause();}
            else{
               button_audio2.setText("pause");
               mysound.start();
               mysound.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                   @Override
                   public void onCompletion(MediaPlayer mp) {
                       mp.release();
                   }
               })
               ;
           }
        }
    });

1 个答案:

答案 0 :(得分:0)

如您帖子中所述,每次点击按钮时都会创建一个新的MediaPlayer

您可以对代码进行一些更改,以测试mysound是否已初始化。

button_audio2.setOnClickListener(new View.OnClickListener(){
    @Override
    public void onClick(View v){
        if (mysound == null){
            mysound = MediaPlayer.create(MyActivity.this, R.raw.audio2);
            mysound.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
               @Override
               public void onCompletion(MediaPlayer mp) {
                   mp.release();
                   mysound = null;
               }
            });
        }
        if( mysound.isPlaying()){
            button_audio2.setText("play");
            mysound.pause();
        }
        else{
            button_audio2.setText("pause");
            mysound.start();
        }
    }
});