Wie man die Remote -Audioausgabe von WEBRTC stummigt
Posted: 21 May 2025, 15:01
Ich erstelle eine App, die mit Webrtc eine Verbindung zu OpenAIs Echtzeit -API herstellt. Aber was ist, wenn ich auch die Ausgabe aus der Echtzeit -API stummschalten möchte?
Dies tut nichts, die Ausgabe aus der KI spielt weiter>
Code: Select all
internal class WebRTCClient (
onIncomingEvent: (OpenAiEvent) -> Unit,
context: Context,
) {
private val peerConnectionFactory: PeerConnectionFactory
private val peerConnection: PeerConnection
private val negotiateJob = AtomicReference(null)
private val audioSource: AudioSource
private val localAudioTrack: AudioTrack
private val dataChannel: DataChannel
init {
peerConnectionFactory = createPeerConnectionFactory(context)
peerConnection = createPeerConnection()
createAudioSourceAndTrack().let {
audioSource = it.first
localAudioTrack = it.second
}
val sender = peerConnection.addTrack(localAudioTrack)
}
private fun createAudioSourceAndTrack(): Pair {
Napier.d(tag = TAG) { "Audio track: creating and adding" }
val audioSource: AudioSource = peerConnectionFactory.createAudioSource(MediaConstraints())
val localAudioTrack = peerConnectionFactory.createAudioTrack("mic", audioSource)
localAudioTrack.setEnabled(true)
return Pair(audioSource, localAudioTrack)
}
}
< /code>
Was ich ausprobiert habe: < /p>
fun setAudioTrackEnabled(enabled: Boolean) {
localAudioTrack.setEnabled(enabled)
}