2016-05-17 17 views
0

WebViewで問題が発生しているウェブ全体を見て、アプリがバックグラウンドに移動したときに音声を一時停止しません。WebViewはアプリをバックグラウンドで再生しません

私は正確な異物問題を抱えています。私はバックグラウンドで再生を続けるオーディオを欲しいですが、そうではありません。私は現在Youtubeでビデオを開始し、画面をオフにすると(アプリケーションがフォアグラウンドになっている間)再生を続行しますが、ホームボタンを押すと再生が停止します。

明らかにデフォルトの動作をしていない理由についてのアイデアはありますか?あなたはWebViewの問題がbackground.Evenであっ遊んでいると述べたとしてうん

ここで、私はセットアップ方法の私のWebViewのだ場合には、それは

public void setupWebView(Context ctx, ISlideWebView wv, IWebViewToParentComm listener, 
         File cacheFolder) { 
    if (wv == null || !(wv instanceof WebView)) { 
     throw new IllegalArgumentException("Webview expected to be of type SlideWebView. Found class type [" + wv.getClass().getName() + "]"); 
    } 

    SlideWebView webview = (SlideWebView) wv; 

    WebSettings webSettings = webview.getSettings(); 

    webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); 

    webSettings.setSaveFormData(false); 
    webSettings.setLoadWithOverviewMode(true); 
    webSettings.setSupportZoom(false); 
    webSettings.setUseWideViewPort(true); 
    webSettings.setBuiltInZoomControls(false); 

    webSettings.setAppCachePath(cacheFolder.getAbsolutePath()); 
    webSettings.setAppCacheEnabled(true); 
    webSettings.setDatabaseEnabled(true); 

    webSettings.setSaveFormData(false); 
    webSettings.setSavePassword(false); 
    webSettings.setGeolocationEnabled(true);//TODO: ?! AppConfig.getInstance(context).usesGeolocation 
    webSettings.setJavaScriptEnabled(true); 
    webSettings.setJavaScriptCanOpenWindowsAutomatically(true); 
    webSettings.setDisplayZoomControls(false); 
    webSettings.setLoadWithOverviewMode(true); 
    webSettings.setUseWideViewPort(true); 

    webview.setWebViewClient(new SlideWebViewClient(ctx, listener.getUrlNav(), listener.getUrlNavInterface())); 
    webview.setWebChromeClient(new SlideWebChromeClient(listener)); 
    webview.setVerticalScrollListener(listener); 
    webview.setOverScrollMode(View.OVER_SCROLL_NEVER); 
    webview.setScrollbarFadingEnabled(false); 

    FileDownloader fileDownloader = listener.getFileDownloader(); 
    if (fileDownloader != null) { 
     webview.setDownloadListener(fileDownloader); 
    } 
} 

答えて

0

は、問題は、私はyoutube.comでそれをテストしていたということであるとして再度変更を加える必要があります。私はそれ以来、ラジオ音楽をストリーミングしているウェブサイトを使ってテストしました。だから、明らかにyoutube.comかparhaps(それをテストしていない)のビデオは一般的にバックグラウンドで再生を続けない。

1

を重要我々は同じ問題が、AndroidのAPIレベルの特定を持っていました。特定のAPI呼び出しはwebview.pause()webview.resume()です。これらの呼び出しは、特にjavascriptの処理を行います。これらの呼び出しを使用して問題を処理しました(リフレクションで行う必要がある下位バージョン)。

がだからあなたのjavascriptごとに一時停止と再開で処理され、あなたが活動にコールバックコールwebview.onResume()

+0

ええ、実際には良いアイデアです。私はちょうどそれを試みた。 onPauseというアクティビティが呼び出されたときにwebViewでonResumeを呼び出しましたが、まだビデオの再生を停止しているようです。 :(他のアイデアは? – AndreiBogdan

関連する問題