我有一个使用HTML5 <audio>
标记的网络应用程序,出于某种原因,虽然它在Windows和Mac PC上运行良好,但它无法在iOS和Android上运行。
这是我的代码的相关片段:
使用Javascript:
var audioElement = document.querySelector('#audioplayer');
var source = document.querySelector('#mp3');
source.src = tokObject._url;
audioElement.load();
audioElement.play();
HTML:
<center>
<audio id="audioplayer" style="width:480px;">
<source id="mp3" src="random-placeholder" type="audio/mp3" />
</audio>
</center>
答案 0 :(得分:3)
您通常无法在移动设备上自动播放音频或视频文件,这通常受到Android和iOS等操作系统的限制,阻止网站下载大量媒体文件并自动播放。
如果从点击或触摸处理程序中调用此类代码,它可能会起作用,但不是您当前正在执行的方式。
此外,<center>
元素已被弃用,您不应再使用它了。
答案 1 :(得分:0)
不确定这是否有帮助,但我这样做了,它对我有用。虽然我没有播放MP3,但我正在通过循环提示用户。
function speak(text) {
var msg = new SpeechSynthesisUtterance();
var voices = speechSynthesis.getVoices();
msg.voice = voices[2];
msg.voiceURI = 'native';
msg.volume = 1;
msg.rate = 1;
msg.pitch = 1;
msg.text = text;
msg.lang = 'en-US';
speechSynthesis.speak(msg);
}
//插入此底部位以调用该函数,它将在手机本机语音中读取您输入的内容,即...在Android上的其余工作尚未尝试过iphone。
说话(&#39;其余&#39);
答案 2 :(得分:-2)
你是否尝试过这样做:
var aud=new Audio(file.mp3);
aud.play();