Android方法在html中不起作用

时间:2013-06-22 15:30:10

标签: android html5 android-layout

  

我创建了新的 Android 应用,因为它显示了静态信息,我创建了html5,我将 html5 文件调用到我的 webview 其中一个html文件功能是点击按钮时播放mp3我在html和 android 之间做了我的界面,但 mp3 没有播放。

public class WebAppInterface extends Activity  {
Context mContext;

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


public void audioPlayer() {
    //set up MediaPlayer    
    MediaPlayer mp = new MediaPlayer();

    try {
        AssetFileDescriptor descriptor = getAssets().openFd("Azan.mp3");
        mp.setDataSource(descriptor.getFileDescriptor(), descriptor.getStartOffset(), descriptor.getLength());
        descriptor.close();
        mp.prepare();
        mp.start();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

}

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity);

    //Call HTML Files
    WebView myWebView = (WebView) findViewById(R.id.x);

    WebSettings webSettings = myWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    myWebView.loadUrl("file:///android_asset/index.html");

    //initiate interface 

    myWebView.addJavascriptInterface(new WebAppInterface(this), "Android");


}

 <input type="button" value="play mp3" onClick="playmp3()" />

 <script type="text/javascript">
 function playmp3()
 {
    Android.audioPlayer();
 }
 </script>

1 个答案:

答案 0 :(得分:0)

您可以Java方式访问window.Android.audioPlayer();方法。 只需在开头添加window

即可