【问题标题】:How to check if an audio is playing with Android MediaPlayer?如何检查音频是否正在使用 Android MediaPlayer 播放?
【发布时间】:2022-01-12 18:57:46
【问题描述】:

在我有一个列表视图的情况下,单击时每个列表项中都是音频,并在单击所需项目时播放。

当您单击多个项目时,音频会混合。

我想知道如何单击一个项目并播放,如果我想要另一个项目,单击它时之前的音频停止并且 clicaco 项目的音频开始。

我尝试使用下面的代码,但是当我点击另一个项目时音频不会停止。

@Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                mediaPlayer = MediaPlayer.create(MainActivity.this, caminhoAudio[position]);

                if ( !(mediaPlayer.isPlaying()) )
                {
                    tocarSom();
                }

            }
            });


    }

    public void tocarSom() {

            if (mediaPlayer != null)
            {
            mediaPlayer.start();
            }


            // LIBERAR MEMÓRIA
            mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                public void onCompletion(MediaPlayer mediaPlayer) {
                    mediaPlayer.release();

                };
            });

        }

谢谢!!!

【问题讨论】:

    标签: java android media-player


    【解决方案1】:

    好吧,如果你的方法 startAudio() 自动完成开始播放歌曲所需的一切,你必须在 mediaPlayer.release() 之后调用 startAudio();

    【讨论】:

    • 感谢您的回答。或者启动播放器。 public void startAudio () { If (mediaPlayer! = Null) { MediaPlayer.start ();} } 我做了一个建议的更改,但不幸的是它没有工作。
    【解决方案2】:

    做这样的事情。

    if(mMediaPlayer!=null)
    {
        mMediaPlayer.release();
        mMediaPlayer=null;
    }
    

    【讨论】:

    • 感谢您的回答。还是不能解决问题,每次点击几次都是同时播放。
    【解决方案3】:
    if(mMediaPlayer != null) {
        //Fist stop the current playing raw file
        mMediaPlayer.stop();
        mMediaPlayer.release();
        mMediaPlayer = null;
    
        //Then Play the selected raw file.
        tocarSom();
    } else {
        //If nothing is playing then Play the selected raw file or audio
        tocarSom();
    }
    

    【讨论】:

      猜你喜欢
      • 2012-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多