【问题标题】:Check if music playing in android media player API检查音乐是否在 android 媒体播放器 API 中播放
【发布时间】:2012-04-15 06:42:02
【问题描述】:

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

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

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

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

【问题讨论】:

  • 你不需要== trueisPlaying() 为您检查。其他一切似乎都是正确的。
  • 你能解释一下发生了什么吗? “它不起作用”并没有说明发生了什么或没有发生什么。
  • 音乐没有停止。没有其他事情发生。

标签: android media-player


【解决方案1】:

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

AudioManager.isMusicActive();

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

添加监听器来监听

mediaPlayer.setOnPreparedListener(this);

mediaPlayer.setOnCompletionListener(this);

mediaPlayer.setOnErrorListener(this);

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

boolean isPlaying= false; //false by default

当您在start mediaPlayer 设置isPlaying=true 时,您就可以开始了。

【讨论】:

    【解决方案2】:

    试试这个:

    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();
    }
    

    【讨论】:

      【解决方案3】:
      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 会产生错误,因为没有音乐作为数据源。 ;)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多