Add audioBitrate option for publishAudioTrack. (#124)
This commit is contained in:
@@ -105,6 +105,12 @@ class VideoPublishOptions {
|
|||||||
'${runtimeType}(videoEncoding: ${videoEncoding}, simulcast: ${simulcast})';
|
'${runtimeType}(videoEncoding: ${videoEncoding}, simulcast: ${simulcast})';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
class AudioPreset {
|
||||||
|
static const telephone = 12000;
|
||||||
|
static const speech = 20000;
|
||||||
|
static const music = 32000;
|
||||||
|
}
|
||||||
|
|
||||||
/// Options used when publishing audio.
|
/// Options used when publishing audio.
|
||||||
class AudioPublishOptions {
|
class AudioPublishOptions {
|
||||||
/// Whether to enable DTX (Discontinuous Transmission) or not.
|
/// Whether to enable DTX (Discontinuous Transmission) or not.
|
||||||
@@ -112,8 +118,12 @@ class AudioPublishOptions {
|
|||||||
/// Defaults to true.
|
/// Defaults to true.
|
||||||
final bool dtx;
|
final bool dtx;
|
||||||
|
|
||||||
|
/// max audio bitrate
|
||||||
|
final int audioBitrate;
|
||||||
|
|
||||||
const AudioPublishOptions({
|
const AudioPublishOptions({
|
||||||
this.dtx = true,
|
this.dtx = true,
|
||||||
|
this.audioBitrate = AudioPreset.speech,
|
||||||
});
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@@ -64,6 +64,10 @@ class LocalParticipant extends Participant<LocalTrackPublication> {
|
|||||||
|
|
||||||
final transceiverInit = rtc.RTCRtpTransceiverInit(
|
final transceiverInit = rtc.RTCRtpTransceiverInit(
|
||||||
direction: rtc.TransceiverDirection.SendOnly,
|
direction: rtc.TransceiverDirection.SendOnly,
|
||||||
|
sendEncodings: [
|
||||||
|
if (publishOptions.audioBitrate > 0)
|
||||||
|
rtc.RTCRtpEncoding(maxBitrate: publishOptions.audioBitrate),
|
||||||
|
],
|
||||||
);
|
);
|
||||||
// addTransceiver cannot pass in a kind parameter due to a bug in flutter-webrtc (web)
|
// addTransceiver cannot pass in a kind parameter due to a bug in flutter-webrtc (web)
|
||||||
track.transceiver = await room.engine.publisher?.pc.addTransceiver(
|
track.transceiver = await room.engine.publisher?.pc.addTransceiver(
|
||||||
|
|||||||
Reference in New Issue
Block a user