Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android在哪里解释媒体按钮?_Android_Android Mediaplayer - Fatal编程技术网

Android在哪里解释媒体按钮?

Android在哪里解释媒体按钮?,android,android-mediaplayer,Android,Android Mediaplayer,Android在何处将物理媒体按钮(耳机电缆中)转换为逻辑操作(如下一步、停止、语音查询) 是否有办法更改此任务(即从中创建其他操作) 注意:我试图安装一个MediaButtonReceiver。但它只看到被解释的键。所以我只看到按键,在按键被释放得足够早而不会触发语音查询之后 更新:只要我的应用程序在前台,我就会在onDispatchKeyEvent中看到我需要的原始密钥事件。但是,当锁屏处于活动状态时,如何获取它们 MediaButtonReceiver在应用程序处于后台时会被调用(但只有在

Android在何处将物理媒体按钮(耳机电缆中)转换为逻辑操作(如下一步、停止、语音查询)

是否有办法更改此任务(即从中创建其他操作)

注意:我试图安装一个MediaButtonReceiver。但它只看到被解释的键。所以我只看到按键,在按键被释放得足够早而不会触发语音查询之后

更新:只要我的应用程序在前台,我就会在onDispatchKeyEvent中看到我需要的原始密钥事件。但是,当锁屏处于活动状态时,如何获取它们


MediaButtonReceiver在应用程序处于后台时会被调用(但只有在按键被释放后才会被调用)。

在应用程序开始播放任何音频之前,它应该保持它将使用的流的音频焦点。这是通过调用requestAudioFocus()完成的,如果请求成功,它将返回AUDIOFOCUS\u REQUEST\u

您必须指定您正在使用的流,以及您希望使用的是瞬时音频焦点还是永久音频焦点

// Request audio focus for playback
int result = am.requestAudioFocus(afChangeListener,
                         // Use the music stream.
                         AudioManager.STREAM_MUSIC,
                         // Request permanent focus.
                         AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK);

if (result == AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
// Start playback.
}
查看更多信息


要在应用程序中使用实时事件,RTP是一个不错的选择。它为RTP(实时传输协议)和管理按需或交互式数据流的应用程序提供API

问题依然存在。我只看到短按键,当按钮已被释放(与按键释放一起)时发送给我。它们包含时间戳,但我需要实时的事件。我看不出RTPAPI如何为媒体按钮提供新的访问权限。你有一个例子吗?