2012-01-05 15 views
0

私は1つのhtml5ページにすべてのhtmlタグを含んでいます。私はアンドロイドエミュレータ/デバイスにそのファイルをプッシュしました。私はそのページを起動しようとすると画像を見ることができますが、オーディオを再生することができません..他の理由があります。html5オーディオタグを使ってアンドロイドエミュレータでオーディオを再生できません

+0

ちょうどこれをチェック.... http://stackoverflow.com/questions/3369068/android-play-sound-on-button-click-null-pointer-exception –

答えて

0

Android(WebKit)2.2のデフォルトブラウザは、技術的にHTML5オーディオをサポートしていますが、一般的なコーデックでエンコードされたメディアファイルは再生できません。ブラウザベンダーのHTML5オーディオタグの実装が一貫していないため、JavaScriptを使用して、ネイティブオーディオを使用するかフォールバックを使用するかを正確に判断する必要があります。

0

これは、Androidのhtmlファイルからオーディオを再生することを目標に達成するための単なる代替方法です。アンドロイド2.2はHTML5のオーディオタグをサポートしていないためです。

オーディオを再生するためのAndroidのMediaplayer(http://developer.android.com/reference/android/media/MediaPlayer.html)を使用してください。

これは、javacriptコード からjavaファイルで書かれた関数を呼び出す方法の例です(ShowAndroidToast関数をinstedして、あなたが再生するコードを書くことができます、あなたはHTMLファイルで書いたjavascriptからアンドロイドの関数を呼び出すことができます)メディアプレーヤオブジェクトを使用したオーディオ)。

WebView webView = (WebView) findViewById(R.id.webview); 
    webView.addJavascriptInterface(new WebAppInterface(this), "Android"); 
    -------------------------------- 
    public class WebAppInterface { 

     Context mContext; 
     /** Instantiate the interface and set the context */ 
     WebAppInterface(Context c) { 
      mContext = c; 
     } 

     /** Show a toast from the web page */ 
     @JavascriptInterface 
     public void showToast(String toast) { 
      Toast.makeText(mContext, toast, Toast.LENGTH_SHORT).show(); 
     } 
    } 

    --------------------------- 
    java sript code 

    <input type="button" value="Say hello" onClick="showAndroidToast('Hello Android!')" /> 

    <script type="text/javascript"> 
     function showAndroidToast(toast) { 
      Android.showToast(toast); 
     } 
    </script> 

この方法で、Androidコードからオーディオを呼び出すことができます。

関連する問題