1

Phonegapでローカルサウンドファイルを再生しようとしています。これはhttpでは正常に機能しますが、ローカルファイルでは機能しません。デバイス上のファイルを確認して手動で再生できますが、PhonegapのAPIでは再生できません。私はもう試した:

  1. .mp3および.wavファイル形式。
  2. ファイルをwww/(パス付き /android_asset/www/sound.mp3)および/ sdcard /(パス付きsound.mp3)に配置します。
  3. プロトコルの変更(file://の有無にかかわらず)。

しかし、何も機能していないようで、成功コールバックもエラーコールバックも呼び出されません。また、ファイルを再生する前に、ファイルが実際に存在することを確認しています。これが私のコードです:

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fs) {

                        var directoryReader = fs.root.createReader();
                        directoryReader.readEntries(function(entries) {
                            for (var i=0; i<entries.length; i++) {
                                if (entries[i].isFile && entries[i].name.match(/.*\.wav$/)){

                                    var audio = new Media(entries[i].toURL().substr(19), function(){console.log('success');}, function(){console.log('error');});
                                    console.log("!!!!! " + audio.getDuration());
                                    audio.play();
                                    audio.release();    
                                    break;
                                }
                            }
                        }, function (error) {
                            alert(error.code);
                        })
                   }, function (error) {
                           alert(error.code);
                   });

audio.getDuration常に-1を返します。Android2.3.3を実行しているAndroidNexusSでPhonegap1.9を使用しており、アプリはAPIレベル2.1を対象としています。

何か案は?

4

1 に答える 1