@@ -65,7 +65,8 @@ export function useRecording() {
65
65
66
66
if ( showAvatar . value ) {
67
67
showAvatar . value = false
68
- closeCameraStream ( )
68
+ if ( ! recording . value )
69
+ closeStream ( streamCamera )
69
70
}
70
71
else {
71
72
await startCameraStream ( )
@@ -96,29 +97,19 @@ export function useRecording() {
96
97
97
98
watch ( currentCamera , async ( v ) => {
98
99
if ( v === 'none' ) {
99
- closeCameraStream ( )
100
+ closeStream ( streamCamera )
100
101
}
101
102
else {
102
103
if ( recording . value )
103
104
return
104
105
// restart camera stream
105
106
if ( streamCamera . value ) {
106
- await closeCameraStream ( )
107
+ closeStream ( streamCamera )
107
108
await startCameraStream ( )
108
109
}
109
110
}
110
111
} )
111
112
112
- async function closeCameraStream ( ) {
113
- if ( recording . value )
114
- return
115
-
116
- if ( streamCamera . value ) {
117
- closeStream ( streamCamera )
118
- streamCamera . value = undefined
119
- }
120
- }
121
-
122
113
async function startRecording ( ) {
123
114
await startCameraStream ( )
124
115
@@ -163,19 +154,18 @@ export function useRecording() {
163
154
const url = URL . createObjectURL ( blob )
164
155
download ( getFilename ( 'camera' ) , url )
165
156
window . URL . revokeObjectURL ( url )
166
- closeStream ( streamCamera )
167
157
recorderCamera . value = undefined
158
+ if ( ! showAvatar . value )
159
+ closeStream ( streamCamera )
168
160
} )
169
161
recorderSlides . value ?. stopRecording ( ( ) => {
170
162
const blob = recorderSlides . value ! . getBlob ( )
171
163
const url = URL . createObjectURL ( blob )
172
164
download ( getFilename ( 'screen' ) , url )
173
165
window . URL . revokeObjectURL ( url )
174
- closeCameraStream ( )
166
+ closeStream ( streamSlides )
175
167
recorderSlides . value = undefined
176
168
} )
177
-
178
- console . log ( 'stopped' )
179
169
}
180
170
181
171
function closeStream ( stream : Ref < MediaStream | undefined > ) {
0 commit comments