こんにちは、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 バージョンのアクセス許可を追加する必要がありますか? メディアプレーヤーは時代遅れですか?...
ご協力ありがとうございました。