amlogic播放器 使用onInfo(MediaPlayer mp, int what, int extra)获取缓冲速度Mbps,没有MEDIA_INFO_BUFFERING_UPDATE
时间: 2023-12-06 08:44:18 浏览: 31
对于Amlogic播放器,您可以尝试使用以下方法获取缓冲速度:
1. 在 `onInfo` 方法中,检查 `what` 参数是否为 `MEDIA_INFO_BUFFERING_START` 或 `MEDIA_INFO_BUFFERING_END`。如果是 `MEDIA_INFO_BUFFERING_START`,则开始计时并获取当前时间戳;如果是 `MEDIA_INFO_BUFFERING_END`,则停止计时并获取当前时间戳。
2. 计算缓冲的总时间(即结束时间戳减去开始时间戳)。
3. 获取缓冲的字节数(可以使用 `extra` 参数)。
4. 计算缓冲速度,公式为:缓冲字节数 / 缓冲总时间 / 1000000。
以下是示例代码:
```
@Override
public void onInfo(MediaPlayer mp, int what, int extra) {
switch (what) {
case MediaPlayer.MEDIA_INFO_BUFFERING_START:
mBufferStartTime = System.currentTimeMillis();
break;
case MediaPlayer.MEDIA_INFO_BUFFERING_END:
long bufferEndTime = System.currentTimeMillis();
long bufferTime = bufferEndTime - mBufferStartTime;
double bufferSpeed = extra / bufferTime / 1000000.0;
Log.d(TAG, "Buffer speed: " + bufferSpeed + " Mbps");
break;
default:
break;
}
}
```
请注意,这种方法只适用于缓冲开始和结束之间的速度,因此可能会有一些误差。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)
![whl](https://img-home.csdnimg.cn/images/20210720083646.png)