Javascript 异常HTML音频竞争条件
我正在尝试录制音频剪辑,并创建一个用于播放的对象URL。我希望在页面加载后立即执行此操作,但是似乎存在竞争条件。blob总是被创建并充满数据,但有时Javascript 异常HTML音频竞争条件,javascript,html5-audio,Javascript,Html5 Audio,我正在尝试录制音频剪辑,并创建一个用于播放的对象URL。我希望在页面加载后立即执行此操作,但是似乎存在竞争条件。blob总是被创建并充满数据,但有时audioURL是可播放的,有时则不是。为什么存在这种竞争条件 const MicRecorder = require("mic-recorder-to-mp3"); this.recorder = new MicRecorder({ bitRate: 128, }); this.recorder.start(); // wa
audioURL
是可播放的,有时则不是。为什么存在这种竞争条件
const MicRecorder = require("mic-recorder-to-mp3");
this.recorder = new MicRecorder({
bitRate: 128,
});
this.recorder.start();
// wait for some button press.
this.recorder
.stop()
.getMp3()
.then(([buffer, blob]) => {
this.buffer = buffer;
this.blob = blob;
console.log(blob.arrayBuffer()); // The blob always prints and is full of data.
// Create Audio for playing
const audioUrl = URL.createObjectURL(this.blob);
console.log(audioUrl); // This audio Url is sometimes playable, sometimes not
this.audio = new Audio(audioUrl);
...
// Some button is clicked.
this.audio.play();
Uncaught(in promise)domeException:元素没有受支持的源。
如果加载audioURL
,有时您可以播放音频片段:
有时你不能,而且似乎没有数据:
然后(
是异步的,console.log(audioUrl)
不会播放文件。显示您将audioUrl添加到媒体元素的位置我知道它不会播放文件,但它会打印一个URL,我可以在另一个选项卡中加载该URL(我已经包含了它的屏幕截图)。我已经调试到了这一点。实际的错误是当我尝试时:this.audio=new audio(audioUrl);this.audio.play();
抱怨domeException:元素没有支持的源。
然后(
是异步的,console.log(audioUrl)
不会播放文件。显示您将audioUrl添加到媒体元素的位置我知道它不会播放文件,但它会打印一个URL,我可以在另一个选项卡中加载该URL(其中包括屏幕截图)。我已经调试到这一点。实际错误是在尝试时:this.audio=new audio(audioUrl);this.audio.play();
投诉doException:元素没有支持的源。