AMR音频不在浏览器中播放,html通过javascript生成



通过javascript,我试图创建HTML和播放音频文件,但它不播放。

如果我下载相同的文件并通过媒体播放器播放,它就会播放。我的尝试如下:

var audio = document.createElement("audio");
audio.src = "/files/chat-space/4928f76ff3258fcca32bb75d5d043237";
audio.play();

有没有办法在浏览器内播放这个音频,甚至使用其他一些支持js的媒体播放器?

写你收到@ZeroWorks评论的错误将使它更容易,没有一个实际的例子,我只能回答它作为一个猜测。

我假设你得到的错误是"play()失败,因为用户没有首先与文档交互。">

我不知道你想做什么,但一个解决方案可能是"强迫"客户端使用按钮元素与文档交互。

例如:

<script>
function onClick() {
var audio = document.createElement("audio");
audio.src = "./mediaFile.mp3";
audio.play();
}
</script>

然后有以下按钮元素:

<button onclick="onClick()"> Click me </button>

如果这不是你的问题,请尽量更准确地解释。

你可以在JS中使用Audio类

var audio = new Audio('audio_file.mp3'); // file must be having mp3 format
audio.play();

尝试:

<script type="text/javascript">
window.addEventListener('load', () => {
var audio = document.createElement("audio");
var asrc = document.createElement("source");
asrc.setAttribute('src', "/files/chat-space/4928f76ff3258fcca32bb75d5d043237");
audio.appendChild(asrc);
audio.play();
});
</script>

指出:

window.addEventListener('load')告诉页面不要尝试播放音频,直到所有的HTML和资源加载/可用。

audio标签没有src=属性—它有一个子元素<source>,其中元素具有src=属性。

顺便说一句,我刚刚在一个实时服务器上测试了上面的代码,使用的是一个标准的mp3音频文件。如果这段代码不适合您,请首先使用标准的.mp3文件(确保问题不在于指定音频文件)进行尝试。

如果它仍然不能工作,请告诉我们更多关于你的环境。

:

https://www.w3schools.com/TAGS/tag_audio.asp

最新更新