【问题标题】:Android - Launch Youtube app from a embedded youtube video in a Webview when clickedAndroid - 单击时从 Web 视图中的嵌入式 youtube 视频启动 Youtube 应用程序
【发布时间】:2013-02-08 11:17:23
【问题描述】:

我一直在到处寻找,但无法找到解决方案。我目前正在开发一个处理一些 rss 内容的应用程序。在内容中,作者可以在标签内添加 youtube 链接。

在 webView 中播放 youtube 视频不是最佳选择。我想要实现的是使用播放按钮显示视频的预览,当用户单击它时,不要在 webView 中启动视频,而是使用视频 URL 启动意图以启动 youtube 应用程序(如果可用)或处理意图的任何其他应用程序。

如何启动意图不是问题。问题是:

  1. 使用播放按钮显示视频的预览和预览。
  2. 点击视频时启动意图。

可以使用 Google Reader 应用作为示例。

我尝试了很多设置,但我无法找到正确设置的方法。

提前致谢。

P.S:这可能是内容的一个例子:

<p><a href="http://blogg.fotbollskanalen.se/gara/files/2013/02/Skärmavbild-2013-02-07-kl.-10.40.03.png"><img class="aligncenter size-large wp-image-1759" src="http://blogg.fotbollskanalen.se/gara/files/2013/02/Skärmavbild-2013-02-07-kl.-10.40.03-424x527.png" alt="" width="424" height="527" /></a></p> <p>Avslutningsvis en rätt kass reklamfilm med <strong>Puyols</strong> polare <strong>Cesc Fàbregas</strong>, som för övrigt gjorde Spaniens första mål i går.</p> <iframe width="424" height="250" src="http://www.youtube.com/embed/x353GSw70_c" frameborder="0" allowfullscreen></iframe> <p>* = Övriga sex 100-matchkillar är <strong>Casillas</strong>, <strong>Xavi</strong>, <strong>Zubizarreta</strong>, <strong>Xabi Alonso</strong>, <strong>Raúl</strong> och <strong>Fernando Torres.</strong></p> <p>UPPDATERING: Efter lite research kan jag nu meddela att bergsgeten är <a href="http://sv.wikipedia.org/wiki/Arabisk_oryx" target="_blank">en orix</a>. Tänk att man kan lära sig nya saker varje dag&#8230;</p>

【问题讨论】:

    标签: android webview youtube


    【解决方案1】:

    我必须为应用程序执行此操作,尽管 VideoView 在以后的设备上工作,但较旧的设备无法正确显示预览。我最终创建了一个视图,该视图覆盖了背景图像上的播放按钮,并在点击时链接到 youtube。为了获取图像,我使用了一个 youtube 服务,该服务允许您请求托管视频的屏幕截图。

    把这一切放在一起:-

    1) 创建预览布局。例如

    <RelativeLayout
        android:layout_width="90dp"
        android:layout_height="90dp">
    
        <ImageView
            android:id="@+id/thumbnail"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:scaleType="fitStart" />
    
        <ImageButton
            android:id="@+id/ButtonPlay"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:background="@null"
            android:src="@drawable/play" />
    </RelativeLayout>
    

    然后我使用以下设置缩略图:-

    public static final String VIDEO_IMAGE_URL = "http://img.youtube.com/vi/%1$s/0.jpg";
    public static final String VIDEO_URL = "vnd.youtube://%1$s";
    ...
    String imageUrl = String.format(VIDEO_IMAGE_URL, "youTubeVideoId"); 
    .. 
    ImageButton button = (ImageButton) row.findViewById(R.id.ButtonPlay);
    String videoUrl = String.format(VIDEO_URL, mContext.getText(mRows[i].mVideoId));
    button.setTag(Uri.parse(videoUrl));
    button.setOnClickListener(mVideoClickListener);
    

    点击监听器所做的只是:-

    startActivity(new Intent(Intent.ACTION_VIEW, (Uri) v.getTag()));
    

    希望有帮助

    【讨论】:

    • Ryan 如何将所有这些应用到 webView?使用此解决方案,我将不得不解析内容以获取 youtube 链接,并且以某种方式不显示
    • 是的,您可以解析出 youtube 并根据您的 ui 要求显示。例如。注入您自己的 html 来复制上述内容,是一种简单的选择。为此,请查看 setWebViewClient() 并覆盖适当的方法。
    猜你喜欢
    • 2013-06-08
    • 1970-01-01
    • 1970-01-01
    • 2016-11-27
    • 2021-12-13
    • 1970-01-01
    • 2023-03-11
    • 2013-09-23
    • 2013-07-28
    相关资源
    最近更新 更多