2

モバイル ハイブリッド アプリ (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 でアプリのアクセス許可を確認しましたが、サウンドの再生には特別なアクセス許可は必要ありません。

私が間違っているのは何ですか?

助けてくれてありがとう。

4

1 に答える 1

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 では、ファイルを見つけて再生するために絶対パスが必要です。

于 2015-02-18T10:35:10.853 に答える