Mic*_*l P 7 java audio android webrtc apprtcdemo
我在android上使用APPRTCdemo应用程序.我试图让它播放来自其他同伴的声音,就像在Android设置中设置音量一样响亮.因此,如果用户将设备静音,则不会听到音频.我几乎尝试了所有Android API调用,但似乎没有任何影响.这些是我尝试的东西:AudioManager audioManager =(AudioManager)_context.getSystemService(Context.AUDIO_SERVICE); int volume = audioManager.getStreamVolume(AudioManager.STREAM_VOICE_CALL);
volume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);
volume =audioManager.getStreamVolume(AudioManager.STREAM_RING);
volume =audioManager.getStreamVolume(AudioManager.STREAM_ALARM);
volume =audioManager.getStreamVolume(AudioManager.STREAM_NOTIFICATION);
volume =audioManager.getStreamVolume(AudioManager.STREAM_SYSTEM);
audioManager.setStreamVolume(AudioManager.STREAM_MUSIC, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
audioManager.setStreamVolume(AudioManager.MODE_IN_COMMUNICATION, 0, AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
audioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL, 0,AudioManager.FLAG_REMOVE_SOUND_AND_VIBRATE);
audioManager.setStreamMute(AudioManager.MODE_IN_COMMUNICATION, true);
audioManager.setStreamMute(AudioManager.STREAM_SYSTEM, true);
audioManager.setStreamMute(AudioManager.STREAM_RING, true);
audioManager.setStreamMute(AudioManager.STREAM_MUSIC, true);
audioManager.setStreamMute(AudioManager.STREAM_NOTIFICATION, true);
Run Code Online (Sandbox Code Playgroud)
如果您只想静音音频,您可以使用如下结构:
inputMediaStream.audioTracks.getFirst().setEnabled(false);
Run Code Online (Sandbox Code Playgroud)
在webrtc的源代码中,你可以找到src/webrtc/modules/audio_device/android/java/src/org/webrtc/voiceengine/WebRtcAudioTrack.java,它使用
audioManager.setStreamVolume(AudioManager.STREAM_VOICE_CALL, volume, 0);
Run Code Online (Sandbox Code Playgroud)
更改音量的代码(我认为它应该可以正常工作)。所以你的问题可能出在其他地方。
归档时间: |
|
查看次数: |
3568 次 |
最近记录: |