Fixed an device error
This commit is contained in:
parent
1c9fb28cce
commit
35b8082a97
@ -292,18 +292,18 @@ export namespace _audio.recorder {
|
||||
if(_device === this._current_device)
|
||||
return;
|
||||
|
||||
const device = _device as NativeDevice; /* TODO: test for? */
|
||||
this._current_device = _device;
|
||||
try {
|
||||
await new Promise(resolve => this.handle.set_device(this._current_device.unique_id, resolve));
|
||||
await new Promise((resolve, reject) => {
|
||||
this.handle.start(flag => {
|
||||
if(typeof flag === "boolean" && flag)
|
||||
resolve();
|
||||
else
|
||||
reject(typeof flag === "string" ? flag : "failed to start");
|
||||
await new Promise(resolve => this.handle.set_device(this._current_device ? this._current_device.unique_id : undefined, resolve));
|
||||
if(this._current_state !== audio.recorder.InputState.PAUSED && this._current_device)
|
||||
await new Promise((resolve, reject) => {
|
||||
this.handle.start(flag => {
|
||||
if(typeof flag === "boolean" && flag)
|
||||
resolve();
|
||||
else
|
||||
reject(typeof flag === "string" ? flag : "failed to start");
|
||||
});
|
||||
});
|
||||
});
|
||||
} catch(error) {
|
||||
console.warn(tr("Failed to start playback on new input device (%o)"), error);
|
||||
throw error;
|
||||
@ -383,14 +383,15 @@ export namespace _audio.recorder {
|
||||
|
||||
this._current_state = audio.recorder.InputState.DRY;
|
||||
try {
|
||||
await new Promise((resolve, reject) => {
|
||||
this.handle.start(flag => {
|
||||
if(flag)
|
||||
resolve();
|
||||
else
|
||||
reject("start failed");
|
||||
if(this._current_device)
|
||||
await new Promise((resolve, reject) => {
|
||||
this.handle.start(flag => {
|
||||
if(flag)
|
||||
resolve();
|
||||
else
|
||||
reject("start failed");
|
||||
});
|
||||
});
|
||||
});
|
||||
for(const filter of this.filters)
|
||||
if(filter.is_enabled())
|
||||
filter.initialize();
|
||||
@ -446,7 +447,7 @@ export namespace _audio.recorder {
|
||||
this._filter.set_attack_smooth(.75);
|
||||
this._filter.set_release_smooth(.75);
|
||||
|
||||
await new Promise(resolve => this._recorder.set_device(this._device.unique_id, resolve));
|
||||
await new Promise(resolve => this._recorder.set_device(this._device ? this._device.unique_id : undefined, resolve));
|
||||
await new Promise((resolve, reject) => {
|
||||
this._recorder.start(flag => {
|
||||
if(typeof flag === "boolean" && flag)
|
||||
|
Loading…
Reference in New Issue
Block a user