1

Android 的MediaPlayer类有一个方法可以告诉我它是否正在播放:isPlaying()

但这是针对我可以访问的MediaPlayer的特定实例。

有没有办法判断当前是否声音通过手机的扬声器发出?

也就是说,即使来自我无权访问且我无法控制的其他应用程序?

4

2 回答 2

1

我想你正在寻找这个:)

这是一些方便的代码,可以在音频播放完毕之前休眠:

 AudioManager manager = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE);
   while(manager.isMusicActive())
    {
        Log.d("music", "music is active");
        try
        {
            Thread.sleep(500);
        }
        catch (InterruptedException e)
        {
            Log.e("music", "interrupted waiting for music to stop");
        }
        Log.d("music", "done playing music");
    }

我希望这将帮助您完成工作。

谢谢 :)

于 2012-07-23T11:16:58.560 回答
0

由于缺乏权威和可验证的答案,我将回答这个问题:

,没有办法判断当前是否有声音通过手机的扬声器发出。

于 2012-09-07T14:26:38.833 回答