我正在尝试开发一个简单的音频播放器。遵循从网络和堆栈溢出的教程,我能够使音频播放器工作。
工作(没有Jquery移动脚本头):
<title>Media Example</title>
<script type="text/javascript" charset="utf-8" src="cordova-2.7.0.js"></script>
<script type="text/javascript" charset="utf-8">
var my_media = null;
// Wait for Cordova to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// Cordova is ready
//
function onDeviceReady() {
}
// Audio player
// Play audio
//
function playAudio(src) {
//some code here
}
// Pause audio
//
function pauseAudio() {
//some code here
}
// Stop audio
//
function stopAudio() {
//some code here
}
</script>我在阅读这个站点之后所做的一个改进是将var my_media = null;放在onDeviceReady()之前
问题:因为我想在Jquery中实现这个音频播放器,所以我将Jquery脚本添加到标题中,如下所示:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<script type="text/javascript" charset="utf-8" src="jquery/jquery-1.9.1.min.js"></script>
<script type="text/javascript" charset="utf-8" src="jquery/jquery.mobile-1.3.1.min.js"><script>
<title>Media Example</title>
<script type="text/javascript" charset="utf-8" src="cordova-2.7.0.js"></script>
<script type="text/javascript" charset="utf-8">
var my_media = null;
// Wait for Cordova to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// Cordova is ready
//
function onDeviceReady() {
}
// Audio player
//
// code truncated for simplicity不幸的是,在添加Jquery移动脚本头之后,Eclipse日志显示:
Uncaught ReferenceError: Media is not defined 因此,我怀疑问题是头脚本启动序列。问题是,如何在头中插入Jquery脚本,以便Phonegap媒体工作?
在这个问题上还有另一条线索,仍然没有答案。感谢你的帮助。
编辑:,我已经追踪到触发问题。显然,当我添加这个Jquery-移动头时
<script type="text/javascript" charset="utf-8" src="jquery/jquery.mobile-1.3.1.min.js"><script>由于媒体未定义的错误,音乐无法播放。
发布于 2013-06-17 05:50:49
好吧,虽然没有直接的解决办法,但我还是从这里得到了灵感:jQuery Mobile & PhoneGap deviceReady() not fired
经过以下修改后,我的Jquery移动+ Phonegap音频播放器工作良好:
1)先加载cordova.js
2)其次是jquery mobile.css、jquery.js和jquery mobile.js。
3)主要的问题是,我把cordova的射击过程和音频播放器的功能混合在一起。当我将cordova发射过程分离为一个独立的块脚本和音频播放器作为另一个脚本块时,它的工作非常出色。以下是我的代码供参考:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Media Example</title>
<script type="text/javascript" charset="utf-8" src="cordova-2.7.0.js"></script>
<link rel="stylesheet" type="text/css" href="jquery/css/jquery.mobile-1.3.1.min.css"/>
<script type="text/javascript" charset="utf-8" src="jquery/jquery-1.9.1.min.js"></script>
<script type="text/javascript" charset="utf-8" src="jquery/jquery.mobile-1.3.1.min.js"><script>
<script type="text/javascript" charset="utf-8">// Wait for Cordova to load
//
document.addEventListener("deviceready", onDeviceReady, false);
// Cordova is ready
//
function onDeviceReady() {
}</script>
//Cordova firing process and audio player function script declarations are separated.
<script type="text/javascript" charset="utf-8">
// Audio player
//
var my_media = null;
var mediaTimer = null;
// Play audio
//
function playAudio(src) {
//some code here
}
// Pause audio
//
function pauseAudio() {
//some code here
}
// Stop audio
//
function stopAudio() {
//some code here
}
</script>
</head>谢谢你访问我的问题,也感谢奥马尔的答复。
https://stackoverflow.com/questions/17111057
复制相似问题