14

我正在使用下面的代码在 android 中播放音频文件

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

我在那个程序上有一个按钮。单击该按钮时,它将检查是否正在播放音乐。如果播放音乐,它将停止。如何检查音乐是否正在播放?我尝试了下面的代码,但它没有工作

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

3 回答 3

11

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

AudioManager.isMusicActive();

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

添加监听器进行监听

mediaPlayer.setOnPreparedListener(this);

mediaPlayer.setOnCompletionListener(this);

mediaPlayer.setOnErrorListener(this);

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

boolean isPlaying= false; //false by default

当你start mediaPlayer在设定的那一刻isPlaying=true,你很高兴。

于 2015-03-02T08:15:46.770 回答
8

尝试这个:

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();
}
于 2013-07-27T14:37:15.823 回答
-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();
}   

I had almost the same problem. Android studio generates an error when you try for the first time because there is no music as datasource. ;)

于 2021-02-03T22:14:53.857 回答