7

私は HTML と Java の初心者で、HTML と Java を使用して Web ビューを介して Android の単純な Web アプリでオーディオ ファイルを再生しようとしています。これを Android 4.0 で動作させることに成功しました。ただし、2.3.3 または 2.2 では機能しません。私は多くの調査を行いましたが、これまでのところ、サポートされていないことがわかりました。誰かがこれを確認または否定し、おそらく私を正しい方向に向けることができますか? これが私が4.0に取り組んでいるものですが、他には何もありません。

WebView engine = (WebView) findViewById(R.id.web_engine);

String audioTest =  "< html >" + <br/>
                "< body >" + <br/>
                "< audio id='egSound' preload='auto'  autoplay ='autoplay'>" + <br/>
                "< source src=' www.egSoundUrl.com '>" +                    
                "< /audio>" + <br/>
                "< /body>"  +  
                "< /html>";

engine.loadData(audioTest, "text/html", null);

同じコードを 2.3.3 で動作させるにはどうすればよいですか? 私の調査では、video タグを使用してオーディオ ファイルを再生できる人に出会いましたが、それを機能させることはできませんでした。共有された知識は大歓迎です。

4

4 に答える 4

3

うん。残念ながら、HTML5 オーディオ要素は Gingerbread からのみサポートされています。

audio タグは 2.2 と 2.3 で何らかの形でサポートされていると読みましたが、非常に奇妙な理由で mp3 と ogg コーデックはサポートされていません。したがって、Android 2.3 までの携帯電話では、サポートされていても役に立ちません。

解決策 1 ビデオ タグの回避策 (1.6 から 2.2) は次のとおりです。

<video src="soundfile.mp3" onclick="this.play();"></video>

あなたが試したものですか?

解決策2別の可能な解決策 (2.2+) は、 UbaPlayer のような Flash フォールバックを備えた JQuery Player を実装することです。

解決策 3 最後に.. StackOverflow の別のユーザーによる Java の回避策があります。

..お役に立てれば :)

于 2012-08-22T17:04:39.520 に答える
0

私も同じ問題を抱えていました.解決策は..オーディオの再生にAndroidのMediaplayer( http://developer.android.com/reference/android/media/MediaPlayer.html )を使用することです。HTMLファイルに記述したjavascriptからandroidの機能を呼び出すことができます。

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 コードからオーディオを呼び出します。

于 2013-04-25T09:39:39.980 に答える
0

Tag Audio は、 を使用してうまくいきました.loadUrl("https://webpage.html")

.loadData(htmlString, "text/html", null)サポートされていない MIME メッセージが表示されていました。

于 2017-12-01T16:51:27.917 に答える