UNPKG

libavjs-webcodecs-polyfill

Version:
49 lines (48 loc) 2.18 kB
<!doctype html> <!-- * This (un)license applies only to this sample code, and not to * libavjs-webcodecs-polyfill as a whole: * * This is free and unencumbered software released into the public domain. * * Anyone is free to copy, modify, publish, use, compile, sell, or distribute * this software, either in source code form or as a compiled binary, for any * purpose, commercial or non-commercial, and by any means. * * In jurisdictions that recognize copyright laws, the author or authors of * this software dedicate any and all copyright interest in the software to the * public domain. We make this dedication for the benefit of the public at * large and to the detriment of our heirs and successors. We intend this * dedication to be an overt act of relinquishment in perpetuity of all present * and future rights to this software under copyright law. * * THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --> <html> <head> <meta charset="utf8" /> <title>LibAVJS WebCodecs Polyfill Example: Audio encoder (Opus)</title> </head> <body> <script type="text/javascript" src="../util.js"></script> <script type="text/javascript">(function() { const worker = new Worker("audio-encoder-opus.js"); worker.onmessage = async ev => { const {a, b} = ev.data; for (const opus of [a, b]) { if (!opus) continue; const audio = document.createElement("audio"); audio.src = URL.createObjectURL(new Blob([opus])); audio.controls = true; document.body.appendChild(audio); } }; })();</script> </body> </html>