gpt4 book ai didi

android - 使用 libjingle 在 android WebRTC 中自定义音频设备

转载 作者:行者123 更新时间:2023-11-29 02:25:46 25 4
gpt4 key购买 nike

我正在开发 native android WebRTC 客户端,该客户端支持从自定义设备流式传输音频(我正在通过蓝牙从该设备获取音频流)。我正在使用 libjingle 库来实现 WebRTC,我想知道是否可以以及如何将自定义音频流连接到音轨?

目前我正在添加这样的默认音轨:

localMS = factory.createLocalMediaStream("ARDAMS");

AudioSource audioSource = factory.createAudioSource(new MediaConstraints());
localMS.addTrack(factory.createAudioTrack("ARDAMSa0", audioSource));

我看到有 WebRtcAuidioRecord ( https://github.com/pristineio/webrtc-android/blob/master/libjingle_peerconnection/src/main/java/org/webrtc/voiceengine/WebRtcAudioRecord.java ) - 是否可以覆盖它?

有人试过这样做吗?

最佳答案

您的帖子将我带到了下面的代码,我将尝试一下,如果我能正常工作,请告诉您。我正在尝试将一个音频流发送到 Watson API,将一个音频流发送到 WebRTC,但 Android 只允许一个 InputStream 读取麦克风。如果我让它工作,我会更新你。

private org.webrtc.MediaStream createMediaStream() {
org.webrtc.MediaStream mediaStream = mFactory.createLocalMediaStream(ARDAMS);

if (mEnableVideo) {
mVideoCapturer = createVideoCapturer();
if (mVideoCapturer != null) {
mediaStream.addTrack(createVideoTrack(mVideoCapturer));
} else {
mEnableVideo = false;
}
}

if (mEnableAudio) {
createAudioCapturer();
mediaStream.addTrack(mFactory.createAudioTrack(
AUDIO_TRACK_ID,
mFactory.createAudioSource(mAudioConstraints)));
}

return mediaStream;
}

/**
* Creates a instance of WebRtcAudioRecord.
*/
private void createAudioCapturer() {
if (mOption.getAudioType() == PeerOption.AudioType.EXTERNAL_RESOURCE) {
WebRtcAudioRecord.setAudioRecordModuleFactory(new WebRtcAudioRecordModuleFactory() {
@Override
public WebRtcAudioRecordModule create() {
AudioCapturerExternalResource module = new AudioCapturerExternalResource();
module.setUri(mOption.getAudioUri());
module.setSampleRate(mOption.getAudioSampleRate());
module.setBitDepth(mOption.getAudioBitDepth());
module.setChannel(mOption.getAudioChannel());
return module;
}
});
} else {
WebRtcAudioRecord.setAudioRecordModuleFactory(null);
}
}

来源: https://www.programcreek.com/java-api-examples/?code=DeviceConnect/DeviceConnect-Android/DeviceConnect-Android-master/dConnectDevicePlugin/dConnectDeviceWebRTC/app/src/main/java/org/deviceconnect/android/deviceplugin/webrtc/core/MediaStream.java

关于android - 使用 libjingle 在 android WebRTC 中自定义音频设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52354716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com