如何让 WebView 在后台保持视频或音频播放?

让我们假设,我有以下基本应用程序:


public class MainActivity extends AppCompatActivity {


   private WebView webView;


   @Override

   protected void onCreate(Bundle savedInstanceState) {

       super.onCreate(savedInstanceState);

       setContentView(R.layout.activity_main);


       webView = (WebView) findViewById(R.id.webview);

       webView.getSettings().setJavaScriptEnabled(true);


       webView.setWebViewClient(new WebViewClient(){


           @Override

           public boolean shouldOverrideUrlLoading(WebView view, String url){

               return true;

           }


       });


       webView.loadUrl("https://www.w3schools.com/html/html5_video.asp");

   }


}

现在,如果一个网站,e。G。https://www.w3schools.com/html/html5_video.asp,包含视频或音频(我不知道 URL,因为用户可以打开任何站点)并且用户打开另一个应用程序或关闭屏幕,视频或音频停止。


但是,我希望它继续。它应该类似于 Google Chrome 的功能:

http://img3.mukewang.com/61162771000157d204350087.jpg

我已经看到了解决方案,启动了背景声音服务,但是,如果我不知道视频/声音文件的 URL,我如何找到它?我需要注入一些 JavaScript 还是有更干净的解决方案?

更新:我可以使用 获取视频 URL JavascriptInterface,但它通常是一个 blob(例如在 YouTube 中)。我该如何继续?

更新 2:如您所见,我找到了解决方案。但是,我不确定这是否是一个干净的解决方案。有没有人有更好的解决方案——也许像 Chrome 一样在通知栏中使用控件?


缥缈止盈
浏览 373回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java