我有一个使用html5 <audio>
标记在浏览器中播放音频的JavaScript。它在iPhone浏览器中运行良好,但在Android中无效。 (使用Android 2.1的htc欲望测试。)任何人都知道为什么?
我的代码:
function playHTML5(sound, soundcv){
// sound = url to m4a audio file
// soundcv = div in which the audioplayer should go
var audio = document.createElement('audio');
audio.src = sound;
audio.controls = "controls";
if (currentSound != null){
soundcv.replaceChild(audio,currentSound);
} else {
soundcv.appendChild(audio);
}
currentSound = audio;
}
顺便说一下,我也试图放大显示在iphone中的音频按钮(默认的一个很小),到目前为止没有运气 - 会对任何想法感激不尽!
答案 0 :(得分:14)
FroYo中的最新Android浏览器尚不支持HTML5音频元素。这不是一个错误,而是一个尚未实现的功能。它可能会出现在Gingerbread中。
更新:Gingerbread浏览器具有音频元素。
答案 1 :(得分:13)
以下是Google Android错误的链接,该错误导致Android中缺少对AUDIO标记的支持。 请投票。
http://code.google.com/p/android/issues/detail?id=10546
顺便说一下,有一些解决方法可以让你在Android 1.6 .. 2.2中原生播放MP3,就像那样:<video src="test.mp3" onclick="this.play();"></video>
答案 2 :(得分:4)
我也想不出来。但是,Apple创建的这个测试页面在Android上播放HTML5音频:http://www.apple.com/html5/showcase/audio
苹果是怎么做到的?
答案 3 :(得分:1)
您是否检查了audio format?
答案 4 :(得分:1)
我在Kindle Fire上遇到了麻烦,发现了一件似乎可以修复它的小东西。
<audio>
<source src="someclip.mp3" type="audio/mpeg" />
</audio>
我错误地使用了“audio / mp3”。我正在使用没有原生控件的播放器(使用HTML5 / JS)。
答案 5 :(得分:1)
我使用trigger.io部署到运行Android Jellybean的Nexus 7上的项目,但是只有当我使用绝对URL时才播放音频。我不确定在我的项目中使用音频的相对路径是什么,但希望这会帮助某人...
(function() {
var currentSound;
// I have a div called "page"
var soundcv = document.body;
// This only works for one sound for simplicity's sake
function playSound(sound){
if (currentSound == null){
var audio = document.createElement('audio');
audio.src = sound;
soundcv.appendChild(audio);
currentSound = audio;
}
currentSound.play();
}
// This isn't a real audio file URL - replace it with one of your own
playSound('http://example.com/example.mp3');
})();
答案 6 :(得分:0)
我一整天都在修补这个问题,我终于让我用我的旧三星Droid浏览器和yahoo网络播放器一起工作了:
<a href="somefolder/file.mp3"></a>
<script type="text/javascript" src="http://webplayer.yahooapis.com/player.js"></script>
Works great会在文本旁边放一个小箭头图标,您可以单击该图标来播放您的mp3。谢谢雅虎。
我忘了提到在本地测试时,我的Chrome或Firefox浏览器中没有显示音频。虽然在我的手机浏览器上运行良好。
答案 7 :(得分:0)
我知道这是一个黑客,但它可以在任何地方工作(据我所知)!
您可以使用视频元素并将您的mp3转换为mp4和ogg文件(og for android上的firefox)。您也可以设置它的样式,以便它不会显示任何不必要的默认播放器。请参阅以下代码:
<video id="audioTest" width="1" height="1" style="top: -100px; left: -100px; position: absolute;" preload >
<source src="audio.mp4" type="video/mp4">
<source src="audio.ogv" type="video/ogg">
</video>
然后您可以使用以下命令在js代码中播放:
var audioTest = document.getElementById("audioTest");
audioTest.addEventListener("ended",onSoundComplete,false);
audioTest.play();