Nab*_*bil 8 android video-streaming android-mediaplayer
下面给出了以下源代码片段:
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.setOnInfoListener(new MediaPlayer.OnInfoListener() {
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
if (what == MediaPlayer.MEDIA_INFO_BUFFERING_END){
activity.dismissDialog(DialogID.DIALOG_LOADING);
return true;
}
return false;
}
});
}
});
Run Code Online (Sandbox Code Playgroud)
我正在使用Android 3.x +设备传输HLS流,并在缓冲完成后尝试隐藏加载对话框.视频流有效,但信息事件永远不会被触发.
有任何想法吗?
您可以在 videoView 上设置 OnPreparedListener 因为它是您的对象,但如果您查看VideoView的源,您会发现 mMediaPlayer 是其私有成员,因此您从外部所做的任何更改都不会应用于它。
根据您的要求,您需要缓冲状态,以便您可以拥有线程或处理程序或其他东西,以便您可以更新 UI 以获取缓冲区状态,有一种方法
int percent = videoView.getBufferPercentage();
if(percent == 100){
// buffering done
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10229 次 |
| 最近记录: |