amlogic播放器 使用onInfo(MediaPlayer mp, int what, int extra)获取缓冲速度Mbps
时间: 2023-12-06 15:44:12 浏览: 10
对于 Amlogic 播放器,可以使用 onInfo() 回调方法来获取缓冲速度。在 onInfo() 方法中,第一个参数是 MediaPlayer 对象,第二个参数是 what,表示信息类型,第三个参数是 extra,表示附加信息。
要获取缓冲速度,可以在 onInfo() 方法中检查 what 是否为 MEDIA_INFO_BUFFERING_UPDATE,如果是,则可以通过 extra 参数获取缓冲百分比。然后,可以通过计算当前缓冲的字节数与缓冲时间的比率来计算缓冲速度。
具体实现可以参考以下代码:
```
@Override
public void onInfo(MediaPlayer mp, int what, int extra) {
switch (what) {
case MediaPlayer.MEDIA_INFO_BUFFERING_UPDATE:
int percent = extra;
long duration = mp.getDuration();
long bufferedDuration = duration * percent / 100;
long bufferedBytes = mp.getBytePosition();
long bufferedTime = bufferedBytes * bufferedDuration / duration;
double bufferSpeedMbps = bufferedBytes * 8.0 / bufferedTime / 1000000;
Log.d(TAG, "Buffer speed: " + bufferSpeedMbps + " Mbps");
break;
}
}
```
注意,此代码仅用于演示,实际使用时需要根据具体情况进行修改和优化。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)