2

Android WebView で daylimotion からビデオを再生する必要があります。いくつかのアプローチを試しましたが、有効な解決策が見つかりませんでした。再生する必要があるビデオは、次の URL のようなものです。

http://www.dailymotion.com/video/x1iepl4_blackfish-full-documentary_animals

daylimotion またはその他のアプローチで動作するビデオをロードする WebView の HTML をいただければ幸いです。私はすでにyputubeビデオに対して同じことを成功させましたが、そのソリューションはdailymotionでは機能しません.

前もって感謝します。

4

3 に答える 3

8

Dailymotion は、ビデオを簡単に再生するために必要なすべてのトリックを含む WebView ベースの SDK を提供します。

Dailymotion-sdk-android

README は統合の簡単な例を提供します

于 2014-06-06T23:01:09.517 に答える
1
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    WebView wv = (WebView) findViewById(R.id.webview1);
    WebSettings webSettings = wv.getSettings();
    webSettings.setJavaScriptEnabled(true);
    wv.getSettings().setJavaScriptEnabled(true);
    wv.getSettings().setAppCacheEnabled(true);
    wv.getSettings().setBuiltInZoomControls(true);
    wv.getSettings().setSaveFormData(true);
    wv.setWebChromeClient(new WebChromeClient());
    wv.setWebViewClient(new Callback());
    wv.loadUrl("http://www.dailymotion.com/video/x1iepl4_blackfish-full-documentary_animals");
}

private class Callback extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return (false);
    }
}
于 2014-06-01T22:23:29.567 に答える
1

問題を解決しました。解決策は次のとおりです。

WebSettings webSettings = this.wvVideo.getSettings();

final String mimeType = "text/html";
final String encoding = "UTF-8";
String html;

webSettings.setJavaScriptEnabled(true);         
webSettings.setPluginState(WebSettings.PluginState.ON);
webSettings.setUserAgentString(null);   
// Taken from the url
String videoId = "x1iepl4_blackfish-full-documentary_animals";
html = this.getHTMLDailyMotion(videoId);            
this.wvVideo.loadDataWithBaseURL("", html, mimeType, encoding, "");

次に、HTML を構築する方法は次のとおりです。

private String getHTMLDailyMotion(String videoId) {
    String html = "<iframe class=\"youtube-player\" "
            + "style=\"border: 0; width: 100%; height: 95%;"
            + "padding:0px; margin:0px\" "
            + "id=\"ytplayer\" type=\"text/html\" "
            + "src=\"http://www.dailymotion.com/embed/video/" + videoId
            + "?fs=0\" frameborder=\"0\" " + "allowfullscreen autobuffer "
            + "controls onclick=\"this.play()\">\n" + "</iframe>\n";

    return html;
}

これにより、ビデオがフルスクリーンで表示されます。

于 2014-06-05T14:09:31.780 に答える