java - 如何检查 Android MediaPlayer 是否正在播放音频?

标签 java android media-player

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

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

我想知道如何单击一个项目并播放,如果我想要另一个项目,当单击它时,之前的音频停止并开始播放 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();

                };
            });

        }

谢谢!!!

最佳答案

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

关于java - 如何检查 Android MediaPlayer 是否正在播放音频?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43783703/

相关文章:

java - 解决[org.springframework.http.converter.HttpMessageNotReadableException:Java Spring启动应用程序中缺少必需的请求正文

java - 如何基于Scope使用@PreAuthorize保护spring-security-oauth资源?

java - Android ImageButton 因其背景图像而变得太大

android - 使用VideoView从内部存储android播放视频文件

循环播放声音时 Android MediaPlayer 警告

java - java中如何从json中读取数组值

java - Android:onTouchEvent启动新 Activity

android - 从 Facebook 相册获取图片?

java - 来自 MediaPlayer 的回调

java - 从 angularJs 调用 java Controller