manually handle audio tracks for web

This commit is contained in:
David Zhao
2021-08-26 22:58:04 -07:00
parent 82322be783
commit 3a26044399
7 changed files with 104 additions and 21 deletions
+27
View File
@@ -0,0 +1,27 @@
import 'package:flutter_webrtc/flutter_webrtc.dart';
import '../proto/livekit_models.pbenum.dart';
import 'local_audio_track.dart';
import 'track.dart';
import '_audio_api.dart' if (dart.library.html) '_audio_html.dart' as audio;
class AudioTrack extends Track {
MediaStream? mediaStream;
AudioTrack(String name, MediaStreamTrack track, this.mediaStream)
: super(TrackType.AUDIO, name, track);
start() {
if (!(this is LocalAudioTrack)) {
audio.startAudio(getCid(), mediaTrack);
}
}
@override
stop() {
mediaStream?.dispose();
mediaStream = null;
audio.stopAudio(getCid());
super.stop();
}
}