2016-03-31 13 views
1

私はクロスプラットフォームのCordova Phonegapサウンドボードアプリを作成しています。アンドロイド版ではすべてうまく動作しますが、iOS版ではサウンドが再生されません。 SoundJSとPreloadJSを使ってオーディオを読み込んで再生します。私はPhonegapリモートデバッグサーバを使用し、iOSがオーディオを「アプリケーション/オクテットストリーム」(図を参照)と認識することを発見しました。iOSでオーディオが再生されないCordova Phonegap app

すべてがAndroidの

Android

結構です。しかし、私はiOSの

iOS

にこれを取得する私はこのようなオーディオロード:

var sound3= "sound3"; 
    createjs.Sound.registerSound("audio/anybody.mp3", sound3); 

    $(function(){ 
    $("#sound3").bind("tap", tapHandler) 

    function tapHandler(event){ 

     sound3.play(); 
    } 
}); 

は、誰かが助けることができます私は出る?

答えて

1

私のCordovaプロジェクトで同様の問題が発生しました。

まず考えられる理由は:

これは単にいくつかの特定の種類を再生することができますので、別のブラウザ(ウェブビュー)の表示されます。 mp3oggなどのさまざまな形式のサウンドが必要で、サウンドを再生する前に、維持されている形式を検出する必要があります。この文書を参照してAudio canPlayTypeと再生前に確認してください

第2の理由: File system問題があります。 iOSリソースパスはAndroidリソースのパスと等しくないと音の初期化の前に、あなたのローカルリソースへ

をプラットフォーム固有のパスを構築し、また、このように、代わりにcreatejsを使用してのネイティブブラウザaudioを再生しようとする必要があります。

var sound3 = document.createElement('audio'); 

sound3.src = "audio/anybody.mp3"; 

function tapHandler(event){ 
    sound3.play(); 
} 

$(function(){ 
    $("#sound3").bind("tap", tapHandler) 
}); 
+0

私は代替ファイルタイプを指定しませんでしたが、私はwav、mp3、oggで試してみましたが、どれもうまくいきませんでした。自分のローカルリソースへのiOSパスを調べるにはどうすればよいですか? –

+0

@JoostKivits、さらにコードを追加しようとしました – MysterX

+0

ファイルシステムに問題があり、指定されたリンクが壊れています。誰かが更新されたリンクや問題の修正方法の説明を持っていますか? – setholopolus

0

m4aオーディオファイル(aac)を使用してみましたか?これはAppleが好む形式のようです。また、iOSは1度に1つのオーディオ再生しか処理できないため、その時点で常に1つのサウンドが再生されていることを確認してください。

関連する問題