我在互联网上搜索了高低,尝试了所有推荐但仍然没有运气。我非常机智,这让我很难过。我正在使用Phonegap构建,然后我下载到我的Android Galaxy S4。我在Ripple工作过,但即使这样,手机也没有运气。我的音频文件位于asset / www / audio /
我收到的一致错误是:未捕获的ReferenceError:未定义媒体 我已经尝试了每个文件结构,仍然没有骰子。包括大多数答案所要求的
文件:///android_asset/www/audio/horn.mp3
/android_asset/www/audio/horn.mp3
包含在config.xml中(关于此问题):
<preference name="phonegap-version" value="3.5.0" />
<gap:plugin name="org.apache.cordova.media" version="0.2.13" />
首先是通话(有多个地方可以调用不同的音频文件)
<a href="#" data-transition="flip" data-role="button" onClick="audioPathOne();">Start</a>
<a href="#" data-transition="flip" data-role="button" onClick="audioPathTwo();">Start</a>
在我的js文件中......
function audioPathOne () {
playAudio(getPhoneGapPath () + 'audio/beep.mp3');
}
function audioPathTwo() {
playAudio(getPhoneGapPath () + 'audio/horn.mp3');
}
function playAudio() {
my_media = new Media();
my_media.play();
function pauseAudio() {
if (my_media) {
my_media.pause();
}
function stopAudio() {
if (my_media) {
my_media.stop();
}
clearInterval(mediaTimer);
mediaTimer = null;
}
function onSuccess() {
console.log("playAudio():Audio Success");
}
function onError(error) {
alert('code: ' + error.code + '\n' +
'message: ' + error.message + '\n');
}
}
function getPhoneGapPath() {
var path = window.location.pathname;
path = path.substr( path, path.length - 10 );
return 'file://' + path;
};
答案 0 :(得分:0)
Android中媒体的正确路径是
/android_asset/www/
它不是你现有的文件结构,而是可以在Ripple中工作。它的android路径。
<a href="#" data-transition="flip" data-role="button" onClick="playAudio('http://www.noiseaddicts.com/samples/4928.mp3');">Online</a>
<a href="#" data-transition="flip" data-role="button" onClick="playAudio('/android_asset/www/audio/horn.mp3');">Local</a>
// 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);
// Play audio
my_media.play();
}
// Pause audio
//
function pauseAudio() {
if (my_media) {
my_media.pause();
}
}
// Stop audio
//
function stopAudio() {
if (my_media) {
my_media.stop();
}
}
// onSuccess Callback
//
function onSuccess() {
console.log("playAudio():Audio Success");
}
// onError Callback
//
function onError(error) {
alert('code: ' + error.code + '\n' +
'message: ' + error.message + '\n');
}