Android Atrix 4G(MB860)can';t将音频路由到听筒
我正在Android上开发一个VOIP应用程序,在开始通话之前,我将音频模式设置为mode_IN_call,并使用STREAM_VOICE_call播放声音 在大多数手机上它都能工作,但在运行安卓2.2.2的Atrix 4G(MB860)上却不能工作 我将模式改为正常模式,使用流音乐,它可以播放和录制,但声音是通过扬声器而不是耳机播放的 我曾尝试使用Setspeakerphone(false)将声音传送到听筒,但这并没有什么区别 有人有这个问题吗Android Atrix 4G(MB860)can';t将音频路由到听筒,android,routes,Android,Routes,我正在Android上开发一个VOIP应用程序,在开始通话之前,我将音频模式设置为mode_IN_call,并使用STREAM_VOICE_call播放声音 在大多数手机上它都能工作,但在运行安卓2.2.2的Atrix 4G(MB860)上却不能工作 我将模式改为正常模式,使用流音乐,它可以播放和录制,但声音是通过扬声器而不是耳机播放的 我曾尝试使用Setspeakerphone(false)将声音传送到听筒,但这并没有什么区别 有人有这个问题吗 任何帮助都将不胜感激 再见,非常感谢!但它不起作
任何帮助都将不胜感激 再见,非常感谢!但它不起作用…如果我使用您的代码设置到耳机的路由并使用STREAM_VOICE_CALL,它会向扬声器播放声音,录制的数据几乎是静音的,除了一些噪音。如果我使用STREAM_MUSIC,它会通过扬声器播放声音,录制的数据是正常的,和以前一样,用流音通话播放数据使记录的日期静音,这很奇怪!呵呵。。您还在通话中设置
模式吗?因为您不应该这样做,如果您没有这样做,那么就没有理由认为输出流类型会影响输入路由。不管怎样,它绝对不应该将语音通话
流路由到扬声器。顺便说一句,如果你正在做一个VoIP应用程序,一个技巧(可能与Froyo无关)是设置MODE\u IN\u COMMUNICATION
,使用VOICE\u COMMUNICATION
音频源进行输入,使用STREAM\u VOICE\u CALL
进行输出。输入和输出都要求16 kHz单声道。也许其他人在呼叫中明确设置了模式,让我检查一下!我检查了项目中的所有地方,并使用您的serForceUse
方法将所有setMode(MODE\u in\u CALL)
替换为代码,但没有什么不同。