在Android应用中播放Twitch.Tv视频? (Android Studio开发)

时间:2015-05-18 22:42:00

标签: android webview android-webview twitch video-embedding

有没有办法在我的Android应用中原生播放Twitch流视频?我无法在互联网上找到任何相关信息。

这就是我在WebView(twitch.html)中打开视频的方式:

<a href="https://twitch.tv/'+element.channel.name+'/embed"> ...

但是当我将设备从垂直视图更改为水平视图时,这会导致一些错误。然后播放视频声音而不再显示视频等。

我正在考虑解决方法,如果您可以调用它并且只是在Android应用程序中单独打开应用程序浏览器中的抽搐通道,但是如何在我的代码中添加此异常?这是在我的MainActivity.java中:

private class MyWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (Uri.parse(url).getHost().equals("www.example.com")) {
            // This is my web site, so do not override; let my WebView load the page
            return false;
        }
        // Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs
        Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
        startActivity(intent);
        return true;
    }
}

来自官方Android开发者页面,可防止该链接在其他浏览器应用中打开。我怎么能为&#34; twitch.tv&#34;?

添加一个例外

1 个答案:

答案 0 :(得分:0)

我显示视频的方式是使用:

    String url = "http://twitch.tv/PUT CHANNEL HERE/embed";
    WebView mWebView;
    mWebView = (WebView) findViewById(R.id.webview1);
    mWebView.setWebChromeClient(new WebChromeClient());
    WebSettings webSettings = mWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);
    webSettings.setUseWideViewPort(true);
    webSettings.setLoadWithOverviewMode(true);
    mWebView.loadUrl(url);

和我的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:weightSum="1">
        <WebView
            android:id="@+id/webview1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"/>
</LinearLayout>