【发布时间】:2010-12-20 23:54:52
【问题描述】:
我正在为一个 Android 手机应用做一些准备研究,该应用会在用户同时接听电话时涉及语音搜索或语音识别。我发现,当我在通话中并尝试调用语音搜索或类似的操作时,我会收到一条“音频错误”消息。手机应用是否对手机的麦克风输入进行独占控制,导致其他应用无法访问音频输入?
【问题讨论】:
我正在为一个 Android 手机应用做一些准备研究,该应用会在用户同时接听电话时涉及语音搜索或语音识别。我发现,当我在通话中并尝试调用语音搜索或类似的操作时,我会收到一条“音频错误”消息。手机应用是否对手机的麦克风输入进行独占控制,导致其他应用无法访问音频输入?
【问题讨论】:
在回答直接问题时,是的。手机应用程序完全独占控制麦克风输入。这与所有使用麦克风的应用程序相同。一次只有一个应用程序可以访问麦克风。但是,希望您的应用可以访问语音上行链路流,这是同一件事(它是通过麦克风说出并上传到服务塔的内容),而且它不会完全干扰通话。你可以这样做:
MediaRecorder mRecorder = new MediaRecorder();
mRecorder.setAudioSource(MediaRecorder.AudioSource.VOICE_UPLINK);
您必须添加权限以记录到清单等,但仅此而已。幸运的是,语音识别的东西都是内置的,所以你应该能够很容易地找到如何做到这一点,只需在这里浏览一下或用谷歌搜索一下。不幸的是,我自己在那个领域没有什么可以提供给你的。 希望这会有所帮助!
【讨论】: