connectivity handling, audio publishing
This commit is contained in:
@@ -6,12 +6,13 @@ import 'options.dart';
|
||||
import 'track.dart';
|
||||
|
||||
class LocalAudioTrack extends Track {
|
||||
MediaStream mediaStream;
|
||||
MediaStream? mediaStream;
|
||||
|
||||
LocalAudioTrack(String name, MediaStreamTrack track, this.mediaStream)
|
||||
: super(TrackType.AUDIO, name, track);
|
||||
|
||||
Future<LocalAudioTrack> createTrack(LocalAudioTrackOptions? options) async {
|
||||
static Future<LocalAudioTrack> createTrack(
|
||||
[LocalAudioTrackOptions? options]) async {
|
||||
try {
|
||||
var stream = await navigator.mediaDevices.getUserMedia({
|
||||
"audio": true,
|
||||
@@ -22,9 +23,16 @@ class LocalAudioTrack extends Track {
|
||||
return Future.error(TrackCreateError());
|
||||
}
|
||||
|
||||
return LocalAudioTrack("", stream.getVideoTracks().first, stream);
|
||||
return LocalAudioTrack("", stream.getAudioTracks().first, stream);
|
||||
} catch (e) {
|
||||
return Future.error(e);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
stop() {
|
||||
super.stop();
|
||||
mediaStream?.dispose();
|
||||
mediaStream = null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,8 +8,8 @@ class LocalVideoTrack extends VideoTrack {
|
||||
LocalVideoTrack(String name, MediaStreamTrack mediaTrack, MediaStream stream)
|
||||
: super(name, mediaTrack, stream);
|
||||
|
||||
Future<LocalVideoTrack> createCameraTrack(
|
||||
LocalVideoTrackOptions? options) async {
|
||||
static Future<LocalVideoTrack> createCameraTrack(
|
||||
[LocalVideoTrackOptions? options]) async {
|
||||
if (options == null) {
|
||||
options = LocalVideoTrackOptions(params: VideoPresets.qhd);
|
||||
}
|
||||
@@ -24,7 +24,7 @@ class LocalVideoTrack extends VideoTrack {
|
||||
return Future.error(TrackCreateError());
|
||||
}
|
||||
|
||||
return LocalVideoTrack("", stream.getVideoTracks().first, stream);
|
||||
return LocalVideoTrack("camera", stream.getVideoTracks().first, stream);
|
||||
} catch (e) {
|
||||
return Future.error(e);
|
||||
}
|
||||
|
||||
@@ -4,8 +4,15 @@ import '../proto/livekit_models.pb.dart';
|
||||
import 'track.dart';
|
||||
|
||||
class VideoTrack extends Track {
|
||||
MediaStream mediaStream;
|
||||
MediaStream? mediaStream;
|
||||
|
||||
VideoTrack(String name, MediaStreamTrack mediaTrack, this.mediaStream)
|
||||
: super(TrackType.VIDEO, name, mediaTrack);
|
||||
|
||||
@override
|
||||
stop() {
|
||||
super.stop();
|
||||
mediaStream?.dispose();
|
||||
mediaStream = null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user