使用Cordova媒体(黑莓)播放本地应用程序声音



我正在为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调用回调。

最新更新