相关疑难解决方法(0)

Safari 15 无法解码以前版本可以正常解码的音频数据

我正在使用 AudioContext 加载游戏的 .mp3 文件。它曾经工作得很好,但在 Safari 15 发布后,我收到人们的报告,声音无法播放。在他们升级浏览器之前,声音曾经对他们来说工作得很好。

在我自己的 Safari 15 上,它工作正常,但对于某些人来说,调用audioContext.decodeAudioData失败,他们只是得到EncodingError: Decoding failed,没有额外的信息。我尝试使用 .aac 文件而不是 .mp3,但发生了同样的事情。

很难弄清楚这一点,因为我自己无法重现它。有任何想法吗?

javascript safari audiocontext

6
推荐指数
1
解决办法
1826
查看次数

检测录音中的静音

JavaiOS也有类似的问题,但我想知道如何通过getUserMedia(). 所以给出:

navigator.mediaDevices.getUserMedia({ audio: true })
  .then(stream => {
    const mediaRecorder = new MediaRecorder(stream);
    mediaRecorder.start();

    const audioChunks = [];
    mediaRecorder.addEventListener("dataavailable", event => {
      audioChunks.push(event.data);
    });

    mediaRecorder.addEventListener("stop", () => {
      const audioBlob = new Blob(audioChunks);
      const audioUrl = URL.createObjectURL(audioBlob);
      const audio = new Audio(audioUrl);
      audio.play();
    });
  });
Run Code Online (Sandbox Code Playgroud)

我想知道如果没有音频,是否可以检查BlobURLAudio对象上的任何内容。如果麦克风不好或选择了虚拟设备 - 任何类似的事情。我之前检查了 blob 的大小,但无声音频仍然有文件大小。我可以通过在后端执行此操作,但希望纯 JS 有一种方法可以简化。stopffmpeg

javascript audio

2
推荐指数
1
解决办法
5816
查看次数

标签 统计

javascript ×2

audio ×1

audiocontext ×1

safari ×1