我正在使用android youtube api来创建我自己的播放器,我找不到api来显示curet缓冲统计数据。有人知道如何获得当前的缓冲状态吗?
以下代码可以获得整个视频时间和当前播放时间,但我需要 缓冲时间 < / p>
private String getTimesText() {
int currentTimeMillis = player.getCurrentTimeMillis();
int durationMillis = player.getDurationMillis();
return String.format("(%s/%s)", formatTime(currentTimeMillis), formatTime(durationMillis));
}
我还看到 PlaybackEventListener 上有回调函数,但同样我无法找到获取 缓冲时间的方法 < / p>
@Override
public void onBuffering(boolean isBuffering) {
bufferingState = isBuffering ? "(BUFFERING)" : "";
updateText();
log("\t\t" + (isBuffering ? "BUFFERING " : "NOT BUFFERING ") + getTimesText());
}
感谢您抽出时间阅读/回答此问题。
答案 0 :(得分:1)
实际上,没有直接的方法来获取YoutubePlayer的总缓冲时间,因此您可以这样做,并且应该可以工作,
long startBufferdTime = 0;
long endBufferdTime = 0;
long totalBufferringTime = 0;
@Override
public void onBuffering(boolean isBuffering) {
if (isBuffering) {
startBufferdTime = System.currentTimeMillis();
}
if (!isBuffering) {
endBufferdTime = System.currentTimeMillis();
}
totalBufferringTime = endBufferdTime - startBufferdTime;
}
答案 1 :(得分:0)
通常在缓冲启动时,标志isBuffering将为true,当缓冲结束时,它将为false。 所以你需要计算这两个标志之间的时差。