2016-07-04 56 views
2

這將是非常有趣的,讓我有以下可用的方法爲Android版YouTube API:Android版YouTube API和緩衝infrormation(getVideoLoadedFraction)

player.getVideoLoadedFraction():浮法

我所看到的在Javascript(iframe)的YouTube播放器API中包含這些方法。

這些方法來獲取緩衝區的統計數據,而視頻正在播放

有沒有人想出了一個辦法,包括在Android版YouTube API這些方法也非常有用嗎?

回答

1

據我所知,沒有辦法做到這一點(也許用反射,你可以破解一些相關的信息,但你必須對混淆代碼進行逆向工程)。

我想對於結果的簡單的解決方法:在安卓

  1. 簡單的WebView,這只是後導航到準備好的網站上的程序加載:包含iframe的YouTube播放器。我將該小文件保存到應用程序的資產中。
  2. 接下來,如果要在Java代碼中處理onStart,onStop等事件,則必須創建一些Java-Javascript綁定。
  3. 如果您只想從Java代碼控制播放器,則必須使用evaluateJavascript()方法從Java代碼調用Javascript方法,該方法需要傳遞給被調用的Javascript方法的String參數。在Javascript方法完成他的工作後,您可以將結果(以字符串格式)傳遞給Java調用方。

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

通過這些工藝,你能夠計算緩衝區大小,以秒爲單位例如:(VideoLoadedFraction - (current_time/video_length) * 100)/100) * video_length或類似的東西。然後,您將JavaScript的結果作爲字符串傳回,並將其解析爲在Java中浮動或加倍。