video rendering, local track creation

This commit is contained in:
David Zhao
2021-08-03 10:25:00 -07:00
parent d193b9fb7f
commit aec2003140
12 changed files with 184 additions and 19 deletions
+23 -1
View File
@@ -1,8 +1,30 @@
import 'package:flutter_webrtc/flutter_webrtc.dart';
import '../errors.dart';
import '../proto/livekit_models.pb.dart';
import 'options.dart';
import 'track.dart';
class LocalAudioTrack extends Track {
LocalAudioTrack(String name, MediaStreamTrack track) : super(TrackType.AUDIO, name, track);
MediaStream mediaStream;
LocalAudioTrack(String name, MediaStreamTrack track, this.mediaStream)
: super(TrackType.AUDIO, name, track);
Future<LocalAudioTrack> createTrack(LocalAudioTrackOptions? options) async {
try {
var stream = await navigator.mediaDevices.getUserMedia({
"audio": true,
"video": false,
});
if (stream.getAudioTracks().length == 0) {
return Future.error(TrackCreateError());
}
return LocalAudioTrack("", stream.getVideoTracks().first, stream);
} catch (e) {
return Future.error(e);
}
}
}