【问题标题】:Android knowing if music is playing in specific instance of MediaPlayerAndroid 知道音乐是否在 MediaPlayer 的特定实例中播放
【发布时间】:2019-01-04 19:31:06
【问题描述】:

我想知道我的特定 MediaPlayer 实例是否正在播放声音/音乐。 MediaPlayer 有 isPlaying 方法,但即使播放器正在缓冲而不播放,它也会返回 true。

知道如何知道 MediaPlayer 真的播放声音吗?

谢谢。

【问题讨论】:

  • 你能用 MediaPlayer.OnBufferingUpdateListener 告诉你什么吗?
  • 也许这会有所帮助:stackoverflow.com/questions/7499037/…
  • 我知道可以使用 AudioManager,但它是通用的,不适用于特定的 MediaPlayer。
  • @didnh,OnBufferingUpdateListener 可以返回始终缓冲,即使在播放和不播放时也是如此。
  • @didnh,Chopping 与此无关。对不起。

标签: android android-mediaplayer media-player


【解决方案1】:

您可以通过isMusicActive()方法通过相应的方法检查AudioPlayer的状态。 代码 sn-p 如下:

AudioManager ar = (AudioManager) getSystemService(AUDIO_SERVICE);
if(ar.isMusicActive()) {
    //used
} 

【讨论】:

  • 试过了,和 MediaPlayer.isPlaying() 一样,即使音乐没有播放(比如缓冲),该值仍然是 true。
  • 还有,这个方法太通用了,不会查询具体的MediaPlayer实例。
  • 我有一个问题,当我停止媒体播放器时,它在再次打开应用程序时并没有停止
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多