Skip to content

Receiver Part

贾俊辉 edited this page Jun 9, 2018 · 9 revisions

BaseReceiver

接收者基类,如果您需要一个非视图的组件,可继承自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);

------------------------------------------------------------

BaseCover

视图基类,继承自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();

------------------------------------------------------------

ReceiverGroup

GroupValue

StateGetter

Clone this wiki locally