我有自己的用于Intent.ACTION_HEADSET_PLUG操作的BroadcastReceiver实例。在实际拔出耳机和通知我的BroadcastReceiver之间有大约1-2秒的延迟。
IntentFilter filter = new IntentFilter(Intent.ACTION_HEADSET_PLUG);
filter.setPriority(IntentFilter.SYSTEM_HIGH_PRIORITY - 1);
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// my code here
}
}, filter);有什么办法可以减少延迟吗?
发布于 2010-11-24 21:20:37
处理AudioManager.ACTION_AUDIO_BECOMING_NOISY广播做到了:)它的意图在没有任何延迟的情况下在拔下耳机后直接广播。
发布于 2010-11-08 22:54:03
你真不走运。
延迟在框架中是硬编码的,请查看
frameworks/base/services/java/com/android/server/HeadsetObserver.java由于音频管道中有垃圾的风险,延迟为1000毫秒。
https://stackoverflow.com/questions/4124368
复制相似问题