【发布时间】:2020-06-23 11:27:56
【问题描述】:
我见过一些类似问题的答案,主要是考虑将 ContentObserver 作为其解决方案。在类似下面的某处:
getApplicationContext().getContentResolver().registerContentObserver(android.provider.Settings.System.CONTENT_URI, true, new ContentObserver(){...} );
但是为 CONTENT_URI 注册的内容观察器也会观察到许多其他变化。虽然,我们可以通过检查前一个交易量和当前交易量之间的差异来检测它是否是交易量变化,这似乎也很昂贵,因为我们需要一个操作来获取当前交易量和一个变量来存储我希望避免的上一个交易量.
那么,有没有一种方法可以让我们只监听音量变化?
【问题讨论】:
-
SettingsContentObserverextendsContentObserver完成这项工作。覆盖onChange方法。把int currentVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC)放在那里...希望有帮助 -
@GGK 是的,我已经实现了。但我的问题是“是否有一个我们可以注册 ContentObserver 的 URI,只监听音量变化?”这个问题的标题是:有没有办法在 Android 中只听音频音量变化? - only 是最重要的。
-
我明白了,很抱歉造成误解。不知道有没有像上面提到的其他方法
标签: android volume android-contentresolver contentobserver