Add extra checks
To be able to change audio device, if the first/default device couldn't start.master
parent
c8dd705530
commit
8c042c3211
|
|
@ -890,6 +890,7 @@ export default class RoomClient
|
|||
'changeAudioDevice() | new selected webcam [device:%o]',
|
||||
device);
|
||||
|
||||
if (this._micProducer && this._micProducer.track)
|
||||
this._micProducer.track.stop();
|
||||
|
||||
logger.debug('changeAudioDevice() | calling getUserMedia()');
|
||||
|
|
@ -904,8 +905,10 @@ export default class RoomClient
|
|||
|
||||
const track = stream.getAudioTracks()[0];
|
||||
|
||||
if (this._micProducer)
|
||||
await this._micProducer.replaceTrack({ track });
|
||||
|
||||
if (this._micProducer)
|
||||
this._micProducer.volume = 0;
|
||||
|
||||
const harkStream = new MediaStream();
|
||||
|
|
@ -942,7 +945,7 @@ export default class RoomClient
|
|||
store.dispatch(peerVolumeActions.setPeerVolume(this._peerId, volume));
|
||||
}
|
||||
});
|
||||
|
||||
if (this._micProducer && this._micProducer.id)
|
||||
store.dispatch(
|
||||
producerActions.setProducerTrack(this._micProducer.id, track));
|
||||
|
||||
|
|
@ -2274,7 +2277,7 @@ export default class RoomClient
|
|||
if (this._micProducer)
|
||||
return;
|
||||
|
||||
if (!this._mediasoupDevice.canProduce('audio'))
|
||||
if (this._mediasoupDevice && !this._mediasoupDevice.canProduce('audio'))
|
||||
{
|
||||
logger.error('enableMic() | cannot produce audio');
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue