0

こんにちは、SO コミュニティです。

私はhtmlとjsとwebviewを使ってAndroid用のアプリをやっています。アプリは、ボタンのクリック (html) でサウンドを再生します。あなた(SOの人々)のおかげで、私はこのコードを使用して動作させることができました:Java =

    myJSInterface = new MyJSInterface(getApplicationContext());
    webview.addJavascriptInterface(myJSInterface, "Android");

パブリック クラス MyJSInterface {

    Context mcontext;
    MediaPlayer mp;

    MyJSInterface(Context c) {
        mcontext = c;
    }
    public void MyAudioPlayer01(int audio) {
        /** play sound from the web page */
        if (issound) {
            Integer[] soundid = { null, null, R.raw.s01, R.raw.s02,
                    R.raw.s28, null, null, R.raw.xdhiboun, };

            if (soundid[audio] != null) {
                mp = MediaPlayer.create(mcontext, soundid[audio]);
                mp.start();
                mp.setOnCompletionListener(new OnCompletionListener() {
                    @Override
                    public void onCompletion(MediaPlayer mp) {
                        mp.release();
                        mp = null;
                    }
                });
            }
        }
    }

上記のコードを js 経由で呼び出します: js コード =

    Android.MyAudioPlayer01(audio);

これは Android 4.1.2 では正常に動作しますが、それ以上では動作しません!

何か提案していただけませんか(私は一日中探していました)?

私も運が悪いのでsoundPoolを試しました:-(

js と webview のセキュリティ更新と関係がありますか? 新しい Android バージョンのアクセス許可を追加する必要がありますか? メディアプレーヤーは時代遅れですか?...

ご協力ありがとうございました。

4

1 に答える 1