Fix PFL channel custom outputs.
This commit is contained in:
parent
721fb632e2
commit
db7275bb12
1 changed files with 14 additions and 11 deletions
|
@ -188,19 +188,22 @@ class Player extends ((PlayerEmitter as unknown) as { new (): EventEmitter }) {
|
|||
}
|
||||
|
||||
_connectPFL() {
|
||||
if (this.pfl) {
|
||||
// In this case, we just want to route the player output to the headphones direct.
|
||||
// Tap it from analyser to avoid the player volume.
|
||||
(this.wavesurfer as any).backend.analyser.connect(
|
||||
this.engine.headphonesNode
|
||||
);
|
||||
} else {
|
||||
try {
|
||||
(this.wavesurfer as any).backend.analyser.disconnect(
|
||||
// We check the existence of the analyser here, because if we're using a custom output, this won't exist.
|
||||
if ((this.wavesurfer as any).backend.analyser) {
|
||||
if (this.pfl) {
|
||||
// In this case, we just want to route the player output to the headphones direct.
|
||||
// Tap it from analyser to avoid the player volume.
|
||||
(this.wavesurfer as any).backend.analyser.connect(
|
||||
this.engine.headphonesNode
|
||||
);
|
||||
} catch (e) {
|
||||
// This connection wasn't connected anyway, ignore.
|
||||
} else {
|
||||
try {
|
||||
(this.wavesurfer as any).backend.analyser.disconnect(
|
||||
this.engine.headphonesNode
|
||||
);
|
||||
} catch (e) {
|
||||
// This connection wasn't connected anyway, ignore.
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue