kbumsik/opus-media-recorder

Uncaught (in promise) TypeError: Failed to execute 'fetch' on 'WorkerGlobalScope': Failed to parse URL from WebMOpusEncoder.wasm

greensunrise opened this issue · 5 comments

Hi,
I am trying to use OpusMediaRecorder as default recorder by

window.MediaRecorder = OpusMediaRecorder;

But I get
Uncaught (in promise) TypeError: Failed to execute 'fetch' on 'WorkerGlobalScope': Failed to parse URL from WebMOpusEncoder.wasm

Hi,
opus-media-recorder won't simply work by just assigning. It looks like you didn't set workerOptions correctly. Could you post your full code, to see how you import the module?

See the documentation to configure workerOptions correctly.

Hi ,
Thank you for your prompt response.
I am just trying to figure out how to use it on existing project where mediarecorder does not work correctly at Firefox

<!-- load OpusMediaRecorder.umd.js. OpusMediaRecorder will be loaded. -->
<script src="https://cdn.jsdelivr.net/npm/opus-media-recorder@latest/OpusMediaRecorder.umd.js"></script>
<!-- load encoderWorker.umd.js. This should be after OpusMediaRecorder. -->
<!-- This script tag will create OpusMediaRecorder.encoderWorker. -->
<script src="https://cdn.jsdelivr.net/npm/opus-media-recorder@latest/encoderWorker.umd.js"></script>

<script>

    $(document).ready(function() {

        // If you already load encoderWorker.js using <script> tag,
        // you don't need to define encoderWorkerFactory.
        const workerOptions = {
            OggOpusEncoderWasmPath: 'https://cdn.jsdelivr.net/npm/opus-media-recorder@latest/OggOpusEncoder.wasm',
            WebMOpusEncoderWasmPath: 'https://cdn.jsdelivr.net/npm/opus-media-recorder@latest/WebMOpusEncoder.wasm'
        };

        // Replace MediaRecorder
        window.MediaRecorder = OpusMediaRecorder;

Is it sufficient to include those files using those cdn links?

@banstola Hi, I make a minimal example using <script> tag for you.

https://jsfiddle.net/kbumsik/v3wpnxao/

This should work with any browser. Let me know if you need more help!

Thank you!