我正在为Blackberry 10使用Webworks,也在使用cordova。
执行此操作时,会播放mp3:
var url = "http://audio.ibeat.org/content/p1rj1s/p1rj1s_-_rockGuitar.mp3";
var my_media = new Media(url,
// success callback
function () {
console.log("playAudio():Audio Success");
},
// error callback
function (err) {
console.log("playAudio():Audio Error: " + err);
}
);
// Play audio
my_media.play();
(如果你能解释我为什么它不去成功回调,那就太好了。:-)
但如果我这样做:
var url = "local.mp3";
var my_media = new Media(url,
// success callback
function () {
console.log("playAudio():Audio Success");
},
// error callback
function (err) {
console.log("playAudio():Audio Error: " + err);
}
);
// Play audio
my_media.play();
没有播放任何内容!没有错误,什么都没有。我读到我需要指定一个本地目录。然后我尝试了"cordova.file.applicationDirectory+"www/sounds/local.mp3",但由于某种原因,applicationDirectory给了我"未定义"!
我也看到了这个网站,但不知道该放什么黑莓路径和iOS。
知道为什么吗?我该怎么解决?
提前感谢各位!
如果你的音频文件是www/audio/audilofile.mp3
,那么url应该是:
var url = "local:///audio/soundfile.mp3";
或者,您可以使用IO插件获得完整路径:
var url = blackberry.io.home + "/../app/native/audio/audiofile.mp3";
还可以看看http://developer.blackberry.com/native/documentation/device_platform/data_access/file_system.html了解BlackBerry应用程序的目录结构。
我也不知道为什么回拨不被调用。当我发现这个问题时,这就是我在寻找的。
我也没有看到回调。从插件源代码中可以看到(https://github.com/apache/cordova-plugin-media/blob/master/src/blackberry10/index.js),从未为BlackBerry调用回调。