|
26 | 26 | import android.media.Metadata; |
27 | 27 | import android.media.MediaPlayer.OnCompletionListener; |
28 | 28 | import android.media.MediaPlayer.OnErrorListener; |
| 29 | +import android.media.MediaPlayer.OnInfoListener; |
29 | 30 | import android.net.Uri; |
30 | 31 | import android.util.AttributeSet; |
31 | 32 | import android.util.Log; |
@@ -84,6 +85,7 @@ public class VideoView extends SurfaceView implements MediaPlayerControl { |
84 | 85 | private MediaPlayer.OnPreparedListener mOnPreparedListener; |
85 | 86 | private int mCurrentBufferPercentage; |
86 | 87 | private OnErrorListener mOnErrorListener; |
| 88 | + private OnInfoListener mOnInfoListener; |
87 | 89 | private int mSeekWhenPrepared; // recording the seek position while preparing |
88 | 90 | private boolean mCanPause; |
89 | 91 | private boolean mCanSeekBack; |
@@ -230,6 +232,7 @@ private void openVideo() { |
230 | 232 | mDuration = -1; |
231 | 233 | mMediaPlayer.setOnCompletionListener(mCompletionListener); |
232 | 234 | mMediaPlayer.setOnErrorListener(mErrorListener); |
| 235 | + mMediaPlayer.setOnInfoListener(mOnInfoListener); |
233 | 236 | mMediaPlayer.setOnBufferingUpdateListener(mBufferingUpdateListener); |
234 | 237 | mCurrentBufferPercentage = 0; |
235 | 238 | mMediaPlayer.setDataSource(mContext, mUri, mHeaders); |
@@ -455,6 +458,16 @@ public void setOnErrorListener(OnErrorListener l) |
455 | 458 | mOnErrorListener = l; |
456 | 459 | } |
457 | 460 |
|
| 461 | + /** |
| 462 | + * Register a callback to be invoked when an informational event |
| 463 | + * occurs during playback or setup. |
| 464 | + * |
| 465 | + * @param l The callback that will be run |
| 466 | + */ |
| 467 | + public void setOnInfoListener(OnInfoListener l) { |
| 468 | + mOnInfoListener = l; |
| 469 | + } |
| 470 | + |
458 | 471 | SurfaceHolder.Callback mSHCallback = new SurfaceHolder.Callback() |
459 | 472 | { |
460 | 473 | public void surfaceChanged(SurfaceHolder holder, int format, |
|
0 commit comments