package com.youku.player.plugin;
|
|
import android.content.Context;
|
import android.util.AttributeSet;
|
import android.widget.FrameLayout;
|
|
import com.youku.player.base.GoplayException;
|
import com.youku.player.ui.interf.IMediaPlayerDelegate;
|
|
/**
|
* Class PluginOverlay 目前使用了framelayout解决了控制层和播放器级别的问题
|
* 其实也可以考虑使用windowsmanager创建浮动窗口 利用反射 @com.android.internal.policy.impl.Policy
|
* 解决窗口问题
|
*
|
*/
|
public abstract class PluginOverlay extends FrameLayout implements
|
MediaPlayerObserver {
|
|
public IMediaPlayerDelegate mMediaPlayerDelegate;
|
public boolean pluginEnable = false;
|
|
public PluginOverlay(Context context,
|
IMediaPlayerDelegate mediaPlayerDelegate) {
|
super(context);
|
mMediaPlayerDelegate = mediaPlayerDelegate;
|
}
|
|
public YoukuPlayerListener youkuPlayerListener;
|
|
public PluginOverlay(Context context) {
|
super(context);
|
}
|
|
public PluginOverlay(Context context, AttributeSet attrs, int defStyle) {
|
super(context, attrs, defStyle);
|
}
|
|
public PluginOverlay(Context context, AttributeSet attrs) {
|
super(context, attrs);
|
}
|
|
/**
|
* 顶
|
*/
|
public abstract void onUp();
|
|
/**
|
* 踩
|
*/
|
public abstract void onDown();
|
|
/**
|
* 清空顶踩信息
|
*/
|
public abstract void onClearUpDownFav();
|
|
/**
|
* 添加到收藏
|
*/
|
public abstract void onFavor();
|
|
/**
|
* 取消收藏
|
*/
|
public abstract void onUnFavor();
|
|
/**
|
* 播放新视频,需要重置一些layout和参数
|
*/
|
public abstract void newVideo();
|
|
/**
|
* 声音调大
|
*/
|
public abstract void onVolumnUp();
|
|
/**
|
* 声音调小
|
*/
|
public abstract void onVolumnDown();
|
|
/**
|
* 是否静音
|
*
|
* @param mute
|
* true:静音
|
*/
|
public abstract void onMute(boolean mute);
|
|
/**
|
* Activity onStart触发
|
*/
|
public abstract void onStart();
|
|
/**
|
* Activity onPause触发
|
*/
|
public abstract void onPause();
|
|
/**
|
* 切换新视频
|
*/
|
public abstract void onVideoChange();
|
|
/**
|
* 开始获取播放地址
|
*/
|
public abstract void onVideoInfoGetting();
|
|
/**
|
* 获取播放地址成功
|
*/
|
public abstract void onVideoInfoGetted();
|
|
/**
|
* 正片开始播放
|
*/
|
public abstract void onRealVideoStart();
|
|
/**
|
* 播放无版权视频
|
*
|
* @param e
|
*/
|
public abstract void onPlayNoRightVideo(GoplayException e);
|
|
/**
|
* 无版权视频时候播放相关视频
|
*
|
* @param e
|
*/
|
public abstract void onPlayReleateNoRightVideo();
|
|
/**
|
* 正片开始播放
|
*/
|
public abstract void onADplaying();
|
|
/**
|
* 获取播放地址失败
|
*
|
* @param needRetry
|
* 需要重试
|
*/
|
public abstract void onVideoInfoGetFail(boolean needRetry);
|
|
/**
|
*/
|
public void download() {
|
}
|
|
/**
|
*/
|
public void loginSucc() {
|
}
|
|
/**
|
*/
|
public void loginFail() {
|
}
|
|
/**
|
* 添加下载失败
|
*/
|
public void onDownloadSucc() {
|
|
}
|
|
/**
|
* 添加下载失败
|
*
|
* @param msg
|
*/
|
public void onDownloadFail(String msg) {
|
|
}
|
|
public void onPluginAdded() {
|
|
}
|
|
/**
|
* 改变插件是否可见。需要控制自身view的可见性。
|
*
|
* @param visible
|
* 是否可见
|
*/
|
public abstract void setVisible(boolean visible);
|
|
/**
|
* 从3g返回后设置 在onresume的时候会调用插件的back 例如:挂起后启动
|
*/
|
public abstract void back();
|
|
/**
|
* 增加网速通知回调
|
*
|
* @param speed
|
*/
|
public void onNetSpeedChange(int speed) {
|
|
}
|
|
/**
|
* 订阅
|
*/
|
public void onSubscribe() {
|
|
}
|
|
/**
|
* 取消订阅
|
*/
|
public void onUnSubscribe() {
|
|
}
|
|
public void onRelease() {
|
// TODO Auto-generated method stub
|
|
}
|
|
public boolean isShowing() {
|
return false;
|
}
|
|
/**
|
* 重播回调
|
*/
|
public void onReplay() {
|
|
}
|
public void setYoukuPlayerListener(YoukuPlayerListener youkuPlayerListener) {
|
this.youkuPlayerListener = youkuPlayerListener;
|
}
|
}
|