0

我有一个界面,当检查从html文件中选择输入时它会播放声音文件。它运行良好,但是当我添加新代码以在关闭应用程序时停止声音文件时它不起作用。我在我的活动类而不是接口中添加了我的代码。

活动方式:

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity);

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

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

    //

    myWebView.addJavascriptInterface(new WebAppInterface(this), "Android");
}
@Override 
public void onDestroy()
{
    mp.stop();
    super.onDestroy();
}

@JavascriptInterface
public void playsound(String value ) {
    if (value.equals("on")) {
        mp= MediaPlayer.create(mContext,R.raw.sound);
  mp.start();
    }
    else 
    {  mp.stop();}
}

注意mp是来自MediaPlayer的实例

4

1 回答 1

-2

我认为在您在单独的窗口中打开的那个 html 中尝试在 webview 中使用 shouldoverrideurl 方法,所以如果您刚从应用程序中出来,它会自动停止播放声音。

于 2013-06-24T14:03:49.250 回答