97 lines
3.2 KiB
Java
97 lines
3.2 KiB
Java
|
|
|
||
|
|
package com.pukka.videoplayertv;
|
||
|
|
/**
|
||
|
|
* Author: wxf
|
||
|
|
* Date: 2025/1/6 13:44
|
||
|
|
* Description:播放器的抽象类封装
|
||
|
|
*/
|
||
|
|
@SuppressWarnings("WeakerAccess")
|
||
|
|
public abstract class AbstractMediaPlayer implements IMediaPlayer {
|
||
|
|
private OnPreparedListener mOnPreparedListener;
|
||
|
|
private OnCompletionListener mOnCompletionListener;
|
||
|
|
private OnBufferingUpdateListener mOnBufferingUpdateListener;
|
||
|
|
private OnSeekCompleteListener mOnSeekCompleteListener;
|
||
|
|
private OnVideoSizeChangedListener mOnVideoSizeChangedListener;
|
||
|
|
private OnErrorListener mOnErrorListener;
|
||
|
|
private OnInfoListener mOnInfoListener;
|
||
|
|
|
||
|
|
public final void setOnPreparedListener(OnPreparedListener listener) {
|
||
|
|
mOnPreparedListener = listener;
|
||
|
|
}
|
||
|
|
|
||
|
|
public final void setOnCompletionListener(OnCompletionListener listener) {
|
||
|
|
mOnCompletionListener = listener;
|
||
|
|
}
|
||
|
|
|
||
|
|
public final void setOnBufferingUpdateListener(
|
||
|
|
OnBufferingUpdateListener listener) {
|
||
|
|
mOnBufferingUpdateListener = listener;
|
||
|
|
}
|
||
|
|
|
||
|
|
public final void setOnSeekCompleteListener(OnSeekCompleteListener listener) {
|
||
|
|
mOnSeekCompleteListener = listener;
|
||
|
|
}
|
||
|
|
|
||
|
|
public final void setOnVideoSizeChangedListener(
|
||
|
|
OnVideoSizeChangedListener listener) {
|
||
|
|
mOnVideoSizeChangedListener = listener;
|
||
|
|
}
|
||
|
|
|
||
|
|
public final void setOnErrorListener(OnErrorListener listener) {
|
||
|
|
mOnErrorListener = listener;
|
||
|
|
}
|
||
|
|
|
||
|
|
public final void setOnInfoListener(OnInfoListener listener) {
|
||
|
|
mOnInfoListener = listener;
|
||
|
|
}
|
||
|
|
|
||
|
|
public void resetListeners() {
|
||
|
|
mOnPreparedListener = null;
|
||
|
|
mOnBufferingUpdateListener = null;
|
||
|
|
mOnCompletionListener = null;
|
||
|
|
mOnSeekCompleteListener = null;
|
||
|
|
mOnVideoSizeChangedListener = null;
|
||
|
|
mOnErrorListener = null;
|
||
|
|
mOnInfoListener = null;
|
||
|
|
}
|
||
|
|
|
||
|
|
protected final void notifyOnPrepared() {
|
||
|
|
if (mOnPreparedListener != null)
|
||
|
|
mOnPreparedListener.onPrepared(this);
|
||
|
|
}
|
||
|
|
|
||
|
|
protected final void notifyOnCompletion() {
|
||
|
|
if (mOnCompletionListener != null)
|
||
|
|
mOnCompletionListener.onCompletion(this);
|
||
|
|
}
|
||
|
|
|
||
|
|
protected final void notifyOnBufferingUpdate(int percent) {
|
||
|
|
if (mOnBufferingUpdateListener != null)
|
||
|
|
mOnBufferingUpdateListener.onBufferingUpdate(this, percent);
|
||
|
|
}
|
||
|
|
|
||
|
|
protected final void notifyOnSeekComplete() {
|
||
|
|
if (mOnSeekCompleteListener != null)
|
||
|
|
mOnSeekCompleteListener.onSeekComplete(this);
|
||
|
|
}
|
||
|
|
|
||
|
|
protected final void notifyOnVideoSizeChanged(int width, int height,
|
||
|
|
int sarNum, int sarDen) {
|
||
|
|
if (mOnVideoSizeChangedListener != null)
|
||
|
|
mOnVideoSizeChangedListener.onVideoSizeChanged(this, width, height,
|
||
|
|
sarNum, sarDen);
|
||
|
|
}
|
||
|
|
|
||
|
|
protected final boolean notifyOnError(int what, int extra) {
|
||
|
|
return mOnErrorListener != null && mOnErrorListener.onError(this, what, extra);
|
||
|
|
}
|
||
|
|
|
||
|
|
protected final boolean notifyOnInfo(int what, int extra) {
|
||
|
|
return mOnInfoListener != null && mOnInfoListener.onInfo(this, what, extra);
|
||
|
|
}
|
||
|
|
|
||
|
|
public void setDataSource(IMediaDataSource mediaDataSource) {
|
||
|
|
throw new UnsupportedOperationException();
|
||
|
|
}
|
||
|
|
}
|