咆哮JS 2.0 - 声音不在cordova,android,设备上播放

时间:2015-01-02 21:20:36

标签: android cordova audio howler.js

我试图在移动混合应用中播放声音(cordova,ionic,howlerJS v 2),https://github.com/goldfire/howler.js/tree/2.0

通过这种方式:

$scope.playSelectedItem = function(index) {
            try {
                var fileName = $scope.selectedSounds[index].file;
                var filePath  = "sounds/" +fileName+".mp3";
                console.log(filePath);
                var sound = new Howl({
                    src: [filePath]
                });

                sound.play();

            } catch(e) {
                $scope.showAlert();
            }
        };

在Chrome移动模拟器中,一切正常,但在设备上声音无法播放。 我在manifest.xml中检查了应用程序权限,并且声音播放不需要任何特殊权限。

我做错了什么?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

尝试使用Cordova提供的Media Plugin:

my_media = new Media('/android_asset/www/sound.mp3',
                // success callback
                function() {
                    WL.Logger.debug("playAudio():Audio Success");
                },
                // error callback
                function(err) {
                    WL.Logger.debug("playAudio():Audio Error: " + JSON.stringify(err));
                });

                // Play audio
                my_media.play();

确保添加'/ android_asset'然后添加声音文件的路径。 Android需要一个绝对路径来查找文件并进行播放。