我有一些代码可以在Chrome和Firefox的桌面上正常运行,现在我正尝试使其在Android的Chrome上运行.我已经在浏览器中创建了一些音频,我想展示一个音频控件,以便用户单击播放.这是控件的最终外观:
我试着从浏览器播放文件:
而且效果很好,所以我知道音频控件可以播放WAV文件.
控件看起来也不同.从服务器播放的那个包含定时,即“ 0:00 / 1:23”.用JavaScript创建的一个仅包含“ 0:00”.这使我相信该控件实际上并未加载音频,但是我不知道为什么.
我在Blob上打印了一些调试信息,然后看到报告的大小为184,440,报告的类型为“音频/波形”.
我创建放置在音频src中的URL的方式是:
// dataView is of type DavaView, and contains the WAV.
var audioBlob = new Blob([dataView], { type: "audio/wav" });
var url = URL.createObjectURL(audioBlob);
我该如何进一步调试?还是有另一种方法来设置Android的音频控件?
谢谢!
更新:
我没有解决这个问题,但是我已经解决了.代替使用< audio>播放控件,我直接使用AudioBuffer:
var source = audioCtx.createBufferSource();
var audioBuffer = audioCtx.createBuffer(1, sampleArray.length, audioCtx.sampleRate);
audioBuffer.copyToChannel(sampleArray);
source.buffer = audioBuffer;
source.connect(audioCtx.destination);
source.start();