我正在尝试通过Phonegap框架开发一个可以播放音频文件的android应用程序。
下面是它的代码,它不是 index.html,而是项目中的另一个 HTML 页面。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>A New App Try</title>
<!--
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.1/jquery.mobile-1.2.1.min.css" />
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<script src="http://code.jquery.com/mobile/1.2.1/jquery.mobile-1.2.1.min.js"></script>
-->
<script src="/android_asset/www/js/corodova.js"></script>
<link rel="stylesheet" href="/android_asset/www/css/MyownTry.css"/>
<script type="text/javascript" src="cordova.js"></script>
<script src="/android_asset/www/js/jquery-1.10.2.js"></script>
<script src="/android_asset/www/js/jquery.mobile-1.3.2.js"></script>
<link rel="stylesheet" href="/android_asset/www/css/jquery.mobile.structure-1.3.2.css" />
<script type="text/javascript" charset="utf-8">
//Wait for PhoneGap to load
document.addEventListener("deviceready", onDeviceReady, false);
// PhoneGap is ready
/*
function onDeviceReady() {
playAudio("../assets/files/Roja_Flute.mp3");
}
*/
// Audio player
//
var my_media = null;
var mediaTimer = null;
// Play audio
//
function playAudio(src) {
// Create Media object from src
my_media = new Media(src, onSuccess, onError);
if (!playing) {
my_media.play();
document.getElementById('play').src = "/android_asset/www/img/pause_icon.jpg";
playing = true;
} else {
my_media.pause();
document.getElementById('play').src = "/android_asset/www/img/Playicon.png";
playing = false;
}
}
// Pause audio
//
/* function pauseAudio() {
if (my_media) {
my_media.pause();
}
}*/
// Stop audio
//
function stopAudio() {
my_media.stop();
playing = false;
document.getElementById('play').src = "/android_asset/www/img/Playicon.png";}
// onSuccess Callback
//
function onSuccess() {
console.log("playAudio():Audio Success");
}
// onError Callback
//
function onError(error) {
alert('code: ' + error.code + '\n' +
'message: ' + error.message + '\n');
}
// Set audio position
//
function setAudioPosition(position) {
document.getElementById('audio_position').innerHTML = position;
}
</script>
<style>
img{
width=30%;
}
</style> </head>
<body>
<br/><br/>
<a href="#" class="btn large" onclick="playAudio('/android_asset/files/Roja_Flute.mp3');"><img id="play" src="/android_asset/www/img/Playicon.png"/></a>
<!-- <a href="#" class="btn large" onclick="pauseAudio();"><img id="pause"src="/android_asset/www/img/pause_icon.jpg" width="20%"/></a> -->
<a href="#" class="btn large" onclick="stopAudio();"><img id="stop" src="/android_asset/www/img/stop_icon.jpg" /></a>
<!-- <p id="audio_position"></p>-->
<br/><br/>
<a href="index.html">Go back to Home Page</a>
<div data-role="footer">
<p>Copyright 2013 | Mani C | newtolearn.android</p>
</div>
</div>
</body>
</html>
正如我在样式元素中定义的那样,我希望图标更小,占图像大小的 30%。而且,当我点击播放图标时,我期待要播放的音频文件。
不幸的是,两种预期的行为都没有发生。我看到一个更大的“播放图标”,更小的“停止图标”并得到“未捕获的引用异常:变量 playAudio 在 index.html 中未定义”(实际上,上面的 HTML 代码与 index.html 无关) .
有人可以帮忙,并可能提供解决方法代码..?
提前致谢!
玛尼