gpt4 book ai didi

android - 在 Android 版本 4.2.2 中通话电话在 MODE_IN_CALL 中不起作用

转载 作者:太空狗 更新时间:2023-10-29 13:17:48 25 4
gpt4 key购买 nike

我有一个耳机设备,它已连接到我的手机。我试着编程打开手机的扬声器(因为我想把我的声音从耳机转移到我的手机)。但是,尽管我调用了 setSpeakerphoneOn(true),但它没有用。问题是我的声音是在我的耳机中听到的,而不是我的免提电话。你能看看我的配置并让我知道有什么问题吗?谢谢

_audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
_audioManager.startBluetoothSco();
_audioManager.setMode(AudioManager.STREAM_VOICE_CALL);
_audioManager.setSpeakerphoneOn(true);
setVolumeControlStream(AudioManager.MODE_IN_CALL);

int maxJitter = AudioTrack.getMinBufferSize(SAMPLE_RATE, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT);
track = new AudioTrack(AudioManager.MODE_IN_COMMUNICATION, SAMPLE_RATE, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_16BIT, maxJitter, AudioTrack.MODE_STREAM);

最佳答案

我使用下面的代码来做远程报警。即使在连接耳机后手机也会发出声音。尝试一次。但不确定这是否对您有帮助。

AudioManager audioManager = 
(AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
DataFields.volume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);

audioManager.setRingerMode(AudioManager.RINGER_MODE_NORMAL);
audioManager.setSpeakerphoneOn(true);
audioManager.setMode(AudioManager.MODE_IN_CALL);

int max = audioManager.getStreamMaxVolume( AudioManager.STREAM_MUSIC);
Log.v("MAXVOLUME",""+max);
int volume;
while((volume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC))<max) {
audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC, AudioManager.ADJUST_RAISE, 0);
}
int resID=context.getResources().getIdentifier("alarm", "raw", context.getPackageName());
mediaPlayer=MediaPlayer.create(context,resID);
mediaPlayer.setLooping(true);
mediaPlayer.start();

关于android - 在 Android 版本 4.2.2 中通话电话在 MODE_IN_CALL 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32881457/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com