我正在使用英特尔INDE用于视频流(Android),它让我头痛解决一些问题。
主要问题是如何在Android中静音/取消静音设备麦克风。
看起来英特尔INDE会覆盖输入音量以始终处于活动状态。 我发现的唯一方法是不设置Intel INDE API的AudioFormatAndroid删除这些行:
audioFormat = new AudioFormatAndroid("audio/mp4a-latm", 44100, 1);
capture.setTargetAudioFormat(audioFormat);
问题是我需要在流式传输期间执行此操作,而不是之前。
因此,我尝试管理麦克风输入设置,如:
AudioManager amanager = (AudioManager)getSystemService(Context.AUDIO_SERVICE);
amanager.setStreamMute(AudioManager.STREAM_NOTIFICATION, isMuteON);
amanager.setStreamMute(AudioManager.STREAM_ALARM, isMuteON);
amanager.setStreamMute(AudioManager.STREAM_MUSIC, isMuteON);
amanager.setStreamMute(AudioManager.STREAM_RING, isMuteON);
它不起作用,所以我试图改变Stream Volume,这样做:
amanager.setStreamVolume(AudioManager.STREAM_SYSTEM, 0, AudioManager.FLAG_SHOW_UI);
它显示Toast声明我将音量静音,但音频流在我的流媒体上仍处于活动状态。
我搜索过StackOverflow并谷歌关于输入增益(麦克风音量)并发现类似的问题,但没有一个给我一个问题的解决方案,任何人都可以帮助解决这个问题吗?