我正在尝试在 phonegap 应用程序的第一页上插入背景音频。目前我正在 Android 2.2(在实际手机上)上对此进行测试,但最终应用程序也适用于 iOS
我使用了各种方法,唯一成功的方法是通过 javascript。我有一个非常奇怪的行为(至少对我来说)。仅当我单击按钮而不是页面加载时才会播放音频,即使(按钮和就绪函数)都调用相同的函数(playAudio)并且当页面加载时我确实收到警报,这意味着 playAudio 函数已成功调用.
1)我做错了吗?请问我该如何解决?有任何想法吗?
2) 为什么 < embed > 不能在 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>