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