在反应本地

时间:2018-05-09 12:16:34

标签: reactjs react-native events

如何在反应本地检测媒体按钮按钮(在耳塞,自拍杆上...)?

我尝试了很多库和解决方案,但都失败了。我得到的最接近的解决方案来自名为react-native-incall-manager的库。 这最初是为了在呼叫期间提供更多控制,但它们也带来了检测某些事件的选项。其中一些事件起作用,例如检测音频插件是否插入或插入。我需要的那个,mediabutton事件,不起作用。物理按钮工作,而不是我正在开发的应用程序。

这有效:

import InCallManager from 'react-native-incall-manager';
import {DeviceEventEmitter} from 'react-native'

DeviceEventEmitter.addListener('WiredHeadset', function (data) {
        console.log('detected');
    });

这不是:

import InCallManager from 'react-native-incall-manager';
import {DeviceEventEmitter} from 'react-native'

DeviceEventEmitter.addListener('MediaButton', function (data) {
        console.log('button pressed');
    });

如果我找不到明显的解决方案,我很乐意听到。

1 个答案:

答案 0 :(得分:0)

我找到了答案。 该库修复了它:https://github.com/kevinejohn/react-native-keyevent

它现在仅适用于Android。