Android 的MediaPlayer类有一个方法可以告诉我它是否正在播放:isPlaying()
但这是针对我可以访问的MediaPlayer的特定实例。
有没有办法判断当前是否有声音通过手机的扬声器发出?
也就是说,即使来自我无权访问且我无法控制的其他应用程序?
Android 的MediaPlayer类有一个方法可以告诉我它是否正在播放:isPlaying()
但这是针对我可以访问的MediaPlayer的特定实例。
有没有办法判断当前是否有声音通过手机的扬声器发出?
也就是说,即使来自我无权访问且我无法控制的其他应用程序?
我想你正在寻找这个:)
这是一些方便的代码,可以在音频播放完毕之前休眠:
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");
}
我希望这将帮助您完成工作。
谢谢 :)
由于缺乏权威和可验证的答案,我将回答这个问题:
不,没有办法判断当前是否有声音通过手机的扬声器发出。