【问题标题】:Is there any way get buffering time form android youtube player api有没有办法从 android youtube player api 获得缓冲时间
【发布时间】:2014-01-08 23:07:18
【问题描述】:

我正在使用 android youtube api 来创建我自己的播放器,但我找不到显示curet 缓冲统计信息的 api。有人知道如何获取当前的缓冲状态吗?

下面的代码可以获得整个视频时间当前播放时间,但是我需要缓冲时间

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());
}

感谢您抽出宝贵时间阅读/回答此问题。

【问题讨论】:

    标签: android youtube android-youtube-api


    【解决方案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;
    
    }
    

    【讨论】:

      【解决方案2】:

      通常,当缓冲开始时,标志 isBuffering 为真,当缓冲结束时,标志为假。 所以你需要计算这两个标志之间的时间差。

      【讨论】:

        猜你喜欢
        • 2023-03-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-24
        • 2021-04-09
        • 2014-05-27
        • 2013-01-03
        相关资源
        最近更新 更多