Last active
March 3, 2023 20:56
-
-
Save aprock/5913322 to your computer and use it in GitHub Desktop.
simple trick to autoplay an html5 video element in a webview. (inject javascript to play on load)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import android.annotation.SuppressLint; | |
import android.app.Activity; | |
import android.os.Bundle; | |
import android.webkit.WebChromeClient; | |
import android.webkit.WebSettings; | |
import android.webkit.WebView; | |
import android.webkit.WebViewClient; | |
public class MainActivity extends Activity { | |
private WebView webview; | |
@SuppressLint("SetJavaScriptEnabled") | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
webview = new WebView(this); | |
setContentView(webview); | |
final WebSettings settings = webview.getSettings(); | |
settings.setJavaScriptEnabled(true); | |
settings.setJavaScriptCanOpenWindowsAutomatically(true); | |
settings.setPluginState(WebSettings.PluginState.ON); | |
webview.setWebViewClient(new WebViewClient() { | |
// autoplay when finished loading via javascript injection | |
public void onPageFinished(WebView view, String url) { webview.loadUrl("javascript:(function() { document.getElementsByTagName('video')[0].play(); })()"); } | |
}); | |
webview.setWebChromeClient(new WebChromeClient()); | |
webview.loadUrl("http://html5demos.com/video"); | |
} | |
@Override | |
protected void onPause() { | |
super.onPause(); | |
webview.onPause(); | |
} | |
@Override | |
protected void onResume() { | |
webview.onResume(); | |
super.onResume(); | |
} | |
} |
same here @prasad456
Same here, only audio is playing.
Add android:hardwareAccelerated="true" in application Menifist
I'm having a similar problem, I use several YouTube videos on my site, and auto-play does not work.
My site is this www.pipocaplayfm.com/mobile_play
I mounted a webview app, but it does not work ... can you help me?
This might help:
@Override
protected void onResume() {
webView.loadUrl("javascript:(function() { document.getElementsByTagName('video')[0].play(); })()");
super.onResume();
}
I've added that JavaScript code in onResume.
Thank you so much. I can do it!
Thank you so much. I can do it!
how?
Thank you so much. I can do it!
how?
I used the above code!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I cant see video but its playing I can hear audio of video