【问题标题】:YouTube android API and buffer infrormation (getVideoLoadedFraction)YouTube android API 和缓冲区信息 (getVideoLoadedFraction)
【发布时间】:2016-07-04 11:59:13
【问题描述】:

如果将以下方法用于 Youtube Android API,对我来说会很有趣:

player.getVideoLoadedFraction():Float

正如我在 Javascript (iframe) 的 YouTube 播放器 API 中看到的,这些方法都包含在内。

这些方法对于在播放视频时获取缓冲区的统计信息非常有用

有没有人想办法将这些方法也包含在 Youtube android api 中?

【问题讨论】:

    标签: youtube-api android-youtube-api


    【解决方案1】:

    据我所知,没有办法做到这一点(也许通过反射,您可以破解一些相关信息,但您必须对混淆代码进行逆向工程)。

    我为这个结果尝试了一个简单的解决方法:

    1. Android 中的简单 WebView,在程序加载后导航到准备好的网站:其中包含 iframe youtube 播放器。我将那个小 html 文件保存到应用的资产中。
    2. 接下来,如果您想在 Java 代码中处理 onStart、onStop 等事件,则必须创建一些 Java-Javascript 绑定。​​
    3. 如果您只想从 Java 代码控制播放器,则必须从 Java 代码调用 Javascript 方法,使用 evaluateJavascript() 方法,该方法接受传递给被调用 Javascript 方法的 String 参数。在 Javascript 方法完成他的工作后,您可以将结果(以字符串格式)传递给 Java 调用者。

    更多:https://developer.android.com/guide/webapps/webview.html

    使用这些技术,您可以以秒为单位计算缓冲区大小,例如:(VideoLoadedFraction - (current_time / video_length) * 100) / 100) * video_length 或类似的东西。然后,您将 Javascript 的结果作为字符串传回,并在 Java 中将其解析为 float 或 double。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-02-19
      • 2010-12-15
      • 1970-01-01
      • 1970-01-01
      • 2013-01-19
      • 2018-08-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多