-
Notifications
You must be signed in to change notification settings - Fork 437
Receiver Part
贾俊辉 edited this page Jun 9, 2018
·
9 revisions
接收者基类,如果您需要一个非视图的组件,可继承自BaseReceiver。
------------------------------------------------------------
//当Receiver被添加到ReceiverGroup时该方法会被调用。建议视图类中View的初始化在此方法中进行。
void onReceiverBind();
------------------------------------------------------------
//当Receiver被从ReceiverGroup中移除时调用。可以在此方法中进行一些释放、销毁操作等。
void onReceiverUnBind();
------------------------------------------------------------
//获取ReceiverGroup中的共享数据池。关于GroupValue,下文有讲解。
GroupValue getGroupValue();
------------------------------------------------------------
//获取播放状态获取器
PlayerStateGetter getPlayerStateGetter();
------------------------------------------------------------
//发送一个针对Receiver的事件,通过此方法发送的事件,所有Receiver都能收到。
void notifyReceiverEvent(int eventCode, Bundle bundle);
------------------------------------------------------------
//发送一个针对特定Receiver的事件,此方法发送的事件只有指定的Receiver能收到。
notifyReceiverPrivateEvent(String key, int eventCode, Bundle bundle);
------------------------------------------------------------
//收到的私有事件,即通过notifyReceiverPrivateEvent发送的事件。
Bundle onPrivateEvent(int eventCode, Bundle bundle);
------------------------------------------------------------
//获取上下文
Context getContext();
------------------------------------------------------------
//所有的播放器相关事件都会被回调到此方法中
void onPlayerEvent(int eventCode, Bundle bundle);
------------------------------------------------------------
//错误事件接收
void onErrorEvent(int eventCode, Bundle bundle);
------------------------------------------------------------
//非特定的Receiver事件都会被回调到此方法中
void onReceiverEvent(int eventCode, Bundle bundle);
------------------------------------------------------------
视图基类,继承自BaseReceiver,上文中BaseReceiver具备的方法均对BaseCover有效。
------------------------------------------------------------
//请求暂停
void requestPause(Bundle bundle);
//请求恢复播放
void requestResume(Bundle bundle);
//请求seek
void requestSeek(Bundle bundle);
//请求停止
void requestStop(Bundle bundle);
//请求重置
void requestReset(Bundle bundle);
//请求重试
void requestRetry(Bundle bundle);
//请求重播
void requestReplay(Bundle bundle);
------------------------------------------------------------
//必须实现的方法。用于初始化视图布局。
abstract View onCreateCoverView(Context context);
------------------------------------------------------------
//设置视图的显示或隐藏
void setCoverVisibility(int visibility);
------------------------------------------------------------
//获取视图的根View,如果您使用ButterKnife时可调用此方法。
View getView();
------------------------------------------------------------
//当视图依附到window时
void onCoverAttachedToWindow();
------------------------------------------------------------
//当视图从window移除时
void onCoverDetachedToWindow();
------------------------------------------------------------
//获取视图的层级优先级,默认为最低ICover.COVER_LEVEL_LOW。
//视图的优先级决定了视图被放置的位置,优先级高的会盖在优先级低的上面。
//可选值如下:
//int COVER_LEVEL_LOW = 0; 低
//int COVER_LEVEL_MEDIUM = 1; 中
//int COVER_LEVEL_HIGH = 2; 高
int getCoverLevel();
------------------------------------------------------------