diff --git a/examples/media-player/media-player.ts b/examples/media-player/media-player.ts index a7a79a6..93912bd 100644 --- a/examples/media-player/media-player.ts +++ b/examples/media-player/media-player.ts @@ -132,6 +132,9 @@ const initMediaPlayer = async (file: File) => { warningElement.textContent = problemMessage; } + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access + const AudioContext = window.AudioContext || (window as any).webkitAudioContext; + // We must create the audio context with the matching sample rate for correct acoustic results // (especially for low-sample rate files) audioContext = new AudioContext({ sampleRate: audioTrack?.sampleRate }); diff --git a/src/media-source.ts b/src/media-source.ts index 22ff4e7..2ae14db 100644 --- a/src/media-source.ts +++ b/src/media-source.ts @@ -1446,6 +1446,10 @@ export class MediaStreamAudioTrackSource extends AudioSource { }); } else { // Let's fall back to an AudioContext approach + + // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access + const AudioContext = window.AudioContext || (window as any).webkitAudioContext; + this._audioContext = new AudioContext({ sampleRate: this._track.getSettings().sampleRate }); const sourceNode = this._audioContext.createMediaStreamSource(new MediaStream([this._track])); this._scriptProcessorNode = this._audioContext.createScriptProcessor(4096);