检查音乐是否在Android媒体播放器API中播放

时间:2012-04-15 06:42:03

标签: android media-player

我正在使用以下代码在Android中播放音频文件

MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource("fileSourceHere");
mediaPlayer.prepare();
mediaPlayer.start();

我有一个关于该程序的按钮。单击该按钮时,它将检查是否播放音乐。如果播放音乐,它就会停止播放。如何检查音乐是否播放?我尝试了下面的代码,但它无法正常工作

if(mediaPlayer.isPlaying() == true){
 mediaPlayer.pause();
}else{
 mediaPlayer.start();
}

3 个答案:

答案 0 :(得分:7)

试试这个:

MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource("fileSourceHere");
mediaPlayer.prepare();
mediaPlayer.start();

if(mediaPlayer.isPlaying())
{
    //stop or pause your media player mediaPlayer.stop(); or mediaPlayer.pause();
    mediaPlayer.pause();
}
else
{
    mediaPlayer.start();
}

答案 1 :(得分:6)

检查音乐是否由任何其他应用播放。使用

AudioManager.isMusicActive();

如果你想了解你的应用音乐。

添加监听器以收听

mediaPlayer.setOnPreparedListener(this);

mediaPlayer.setOnCompletionListener(this);

mediaPlayer.setOnErrorListener(this);

你可以添加一个布尔变量来检查isPlaying;

boolean isPlaying= false; //false by default

当你start mediaPlayer当前设置isPlaying=true并且你很高兴。

答案 2 :(得分:-1)

MediaPlayer mediaPlayer = new MediaPlayer();
mediaPlayer.setDataSource("fileSourceHere");

If(mediaPlayer != Null){
if(mediaPlayer.isPlaying() == true)
{ 
mediaPlayer.pause();
}
else
{
 mediaPlayer.start();
}
}
else
{
//mediaPlayer is null
mediaPlayer.start();
}   

我遇到了几乎同样的问题。 Android studio 首次尝试时会产生错误,因为没有音乐作为数据源。 ;)