File tree 4 files changed +19
-9
lines changed
4 files changed +19
-9
lines changed Original file line number Diff line number Diff line change @@ -125,7 +125,7 @@ class _GetUserMediaSampleState extends State<GetUserMediaSample> {
125
125
if (await file.exists ()) {
126
126
await file.delete ();
127
127
}
128
- _mediaRecorder = MediaRecorder ();
128
+ _mediaRecorder = MediaRecorder (albumName : 'FlutterWebRTC' );
129
129
setState (() {});
130
130
131
131
final videoTrack = _localStream!
@@ -145,7 +145,7 @@ class _GetUserMediaSampleState extends State<GetUserMediaSample> {
145
145
}
146
146
147
147
// album name works only for android, for ios use gallerySaver
148
- await _mediaRecorder? .stop (albumName : 'FlutterWebRTC' );
148
+ await _mediaRecorder? .stop ();
149
149
setState (() {
150
150
_mediaRecorder = null ;
151
151
});
Original file line number Diff line number Diff line change
1
+ import 'package:flutter/foundation.dart' ;
1
2
import 'package:webrtc_interface/webrtc_interface.dart' as rtc;
2
3
3
4
import '../flutter_webrtc.dart' ;
5
+ import 'native/media_recorder_impl.dart' show MediaRecorderNative;
4
6
5
7
class MediaRecorder extends rtc.MediaRecorder {
6
- MediaRecorder () : _delegate = mediaRecorder ();
8
+ MediaRecorder ({
9
+ String ? albumName,
10
+ }) : _delegate = (kIsWeb || kIsWasm)
11
+ ? mediaRecorder ()
12
+ : MediaRecorderNative (albumName: albumName);
13
+
7
14
final rtc.MediaRecorder _delegate;
8
15
9
16
@override
@@ -21,8 +28,7 @@ class MediaRecorder extends rtc.MediaRecorder {
21
28
}
22
29
23
30
@override
24
- Future stop ({String ? albumName}) =>
25
- _delegate.stop (albumName: albumName ?? "FlutterWebRtc" );
31
+ Future stop () => _delegate.stop ();
26
32
27
33
@override
28
34
void startWeb (
Original file line number Diff line number Diff line change @@ -7,9 +7,13 @@ import 'media_stream_track_impl.dart';
7
7
import 'utils.dart' ;
8
8
9
9
class MediaRecorderNative extends MediaRecorder {
10
+ MediaRecorderNative ({
11
+ String ? albumName = 'FlutterWebRTC' ,
12
+ }) : _albumName = albumName;
10
13
static final _random = Random ();
11
14
final _recorderId = _random.nextInt (0x7FFFFFFF );
12
15
var _isStarted = false ;
16
+ final String ? _albumName;
13
17
14
18
@override
15
19
Future <void > start (
@@ -42,13 +46,13 @@ class MediaRecorderNative extends MediaRecorder {
42
46
}
43
47
44
48
@override
45
- Future <dynamic > stop ({ String ? albumName} ) async {
49
+ Future <dynamic > stop () async {
46
50
if (! _isStarted) {
47
51
throw "Media recorder not started!" ;
48
52
}
49
53
return await WebRTC<
8000
/span>.invokeMethod ('stopRecordToFile' , {
50
54
'recorderId' : _recorderId,
51
- 'albumName' : albumName ,
55
+ 'albumName' : _albumName ,
52
56
});
53
57
}
54
58
}
Original file line number Diff line number Diff line change @@ -8,12 +8,12 @@ environment:
8
8
9
9
dependencies :
10
10
collection : ^1.17.0
11
- dart_webrtc : ^1.5.4
11
+ dart_webrtc : ^1.5.3+hotfix.2
12
12
flutter :
13
13
sdk : flutter
14
14
path_provider : ^2.0.2
15
15
web : ^1.0.0
16
- webrtc_interface : ^1.2.3
16
+ webrtc_interface : ^1.2.2+hotfix.2
17
17
18
18
dev_dependencies :
19
19
flutter_test :
You can’t perform that action at this time.
0 commit comments