【发布时间】:2013-05-23 01:27:44
【问题描述】:
我正在尝试在 phonegap 应用程序的第一页上插入背景音频。目前我正在 Android 2.2(在实际手机上)上对此进行测试,但最终应用程序也适用于 iOS
我使用了各种方法,唯一成功的方法是通过 javascript。我有一个非常奇怪的行为(至少对我来说)。 仅如果我点击按钮而不是页面加载时播放音频,即使(按钮和就绪函数)都调用相同的函数(playAudio)并且当页面加载时我确实收到警报,这意味着playAudio 函数已成功调用。
1) 我做错了吗?请问我该如何解决?有什么想法吗?
2) 为什么 不能在 Android 上运行(它在桌面浏览器上运行得很好,顺便说一句)。 (我使用了 2 个嵌入用于不同路径的测试目的,没有一个适用于 Android)这应该是做背景音频的最简单方法..
我的意图当然是摆脱按钮,让音乐在页面加载时自动播放。
谢谢
这是我的代码:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script src="js/jquery.js"></script>
<script type="text/javascript" src="phonegap.js"></script>
<script>
$(document).ready(function(){
alert('ready');
playAudio('intro.mp3')
});
function playAudio(src) {
alert('func::playAudio(src)');
if (device.platform == 'Android') {
src = '/android_asset/www/' + src;
}
var media = new Media(src, success, error_error);
media.play();
}
function success() {
// ignore
}
function error_error(e) {
alert('great error');
alert(e.message);
}
</script>
</head>
<body>
<div class="container-fluid">
<button id="button" onclick="playAudio('intro.mp3')"></button>
<embed name="introAudio" src="intro.mp3" loop="false" hidden="true" autostart="true">
<embed name="introAudio2" src="/android_asset/www/intro.mp3" loop="false" hidden="true" autostart="true">
</div>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript">
app.initialize();
</script>
</body>
</html>
【问题讨论】:
标签: android html cordova audio