如何解决通过 Webrtc 在 Android 上流式传输系统音频
我正在尝试使用 Webrtc 在 Android 上构建屏幕共享应用程序。我可以使用 mediaprojection+webrtc 共享屏幕,但无法共享系统音频。 Mediaprojection 在 AudioPlaybackCaptureConfiguration 的帮助下增加了对从 API 29 (Android 10) 捕获系统音频的支持。但是当我将音频记录中的音频源分配给对等连接音轨时,应用程序崩溃了。
mediaprojectionmanager mediaprojectionmanager =
(mediaprojectionmanager) mContext.getApplicationContext().getSystemService(
Context.MEDIA_PROJECTION_SERVICE);
MediaProjection sMediaProjection =
mediaprojectionmanager.getMediaProjection(
MPResultCode,MPData
);
AudioPlaybackCaptureConfiguration config = new AudioPlaybackCaptureConfiguration.Builder(sMediaProjection)
.addMatchingUsage(AudioAttributes.USAGE_MEDIA)
.build();
AudioFormat audioFormat = new AudioFormat.Builder()
.setEncoding(AudioFormat.ENCODING_PCM_16BIT)
.setSampleRate(8000)
.setChannelMask(AudioFormat.CHANNEL_IN_MONO)
.build();
AudioRecord audioRecord = new AudioRecord.Builder()
.setAudioFormat(audioFormat)
.setBufferSizeInBytes(BUFFER_SIZE_IN_BYTES)
.setAudioPlaybackCaptureConfig(config)
.build();
AudioSource audioSource = new AudioSource(audioRecord.getAudioSource());
AudioTrack localAudioTrack = factory.createAudioTrack("AudioTrack",audioSource1);
localAudioTrack.setEnabled(true);
mLocalMediaStream.addTrack(localAudioTrack);
如果我按如下方式配置音频源,则流式麦克风音频工作正常
AudioSource audioSource = factory.createAudioSource(new MediaConstraints());
如何使用 AudioRecord 对象配置 webrtc 音轨?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。