Android WebRTC 音频采集扬声器声音

webrtc 默认情况下,采集的视频和音频,大部分采集的是麦克风和摄像头的内容,

但有的时候,需要采集屏幕的内容和扬声器的声音,并将其发送出去。

关于屏幕的采集不做陈述,github上的例子很多,本文主要讲解如何采集扬声器的声音。

对于Android系统来说,如果你要进行录制扬声器的声音,是需要系统权限的。
所以,如果你没有系统权限的话,(也就是system用户),那本文是无法实现的。

具体实现步骤:

1.

在 AndroidManifest.xml 中

android:sharedUserId="android.uid.system" //用户权限

<uses-permission android:name="android.permission.CAPTURE_AUDIO_OUTPUT" />


2.


在创建peerconnection的时候,需要添加setAudioDeviceModule(admbuilder.createAudioDeviceDodule());

admbuilder 默认情况下使用麦克风的声音,所以我们把麦克风的声音修改掉:

admbuilder.setAudioSource( MediaRecorder.AudioSource.REMOTE_SUBMIX);

这里的扬声器就是MediaRecorder.AudioSource.REMOTE_SUBMIX。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容