【发布时间】:2021-06-18 19:32:22
【问题描述】:
我想在 android 中与 webrtc 共享音频。我尝试使用 MediaProjection,视频共享还可以。但是,录音没有音轨。如何从录音中获取音轨?
AudioPlaybackCaptureConfiguration config = new AudioPlaybackCaptureConfiguration.Builder(sMediaProjection)
.addMatchingUsage(AudioAttributes.USAGE_MEDIA)
.addMatchingUsage(AudioAttributes.USAGE_VOICE_COMMUNICATION)
.addMatchingUsage(AudioAttributes.USAGE_VOICE_COMMUNICATION_SIGNALLING)
.addMatchingUsage(AudioAttributes.USAGE_GAME)
.build();
AudioFormat audioFormat = new AudioFormat.Builder()
.setEncoding(AudioFormat.ENCODING_PCM_16BIT)
.setSampleRate(44100)
.setChannelMask(AudioFormat.CHANNEL_IN_MONO)
.build();
audioRecord = new AudioRecord.Builder()
.setAudioFormat(audioFormat)
.setBufferSizeInBytes(BUFFER_SIZE_IN_BYTES)
.setAudioPlaybackCaptureConfig(config)
.build();
audioRecord.startRecording();
//Other code
String audioTrackId = stateProvider.getNextTrackUUID();
AudioSource as = new AudioSource(audioRecord.getAudioSource());
tracks[0] = pcFactory.createAudioTrack(audioTrackId, as); // Not Working
【问题讨论】:
-
您是否能够使用 webrtc 流式传输系统音频。我尝试了上面的代码,应用程序开始崩溃。如果你成功了,你能分享一下你是如何做到的吗?
标签: android webrtc android-mediaprojection