@startuml package App{ class CallBacks{ <font color="#999933" size=20> notify </font>mOnPreparedListener<font color="#999933" size=20> notify-END </font> <font color="#999933" size=20> notify </font>mOnCompletionListener<font color="#999933" size=20> notify-END </font> <font color="#999933" size=20> notify </font>mOnBufferingUpdateListener<font color="#999933" size=20> notify-END </font> <font color="#999933" size=20> notify </font>mOnSeekCompleteListener<font color="#999933" size=20> notify-END </font> <font color="#999933" size=20> notify </font>mOnVideoSizeChangedListener<font color="#999933" size=20> notify-END </font> <font color="#999933" size=20> notify </font>mOnTimedTextListener<font color="#999933" size=20> notify-END </font> <font color="#999933" size=20> notify </font>mExtSubtitleDataListener<font color="#999933" size=20> notify-END </font> <font color="#999933" size=20> notify </font>mOnMediaTimeDiscontinuityListener<font color="#999933" size=20> notify-END </font> <font color="#999933" size=20> notify </font>mOnTimedMetaDataAvailableListener<font color="#999933" size=20> notify-END </font> <font color="#999933" size=20> notify </font>mOnErrorListener<font color="#999933" size=20> notify-END </font> <font color="#999933" size=20> notify </font>mOnInfoListener<font color="#999933" size=20> notify-END </font> <font color="#999933" size=20> notify </font>mOnDrmConfigHelper<font color="#999933" size=20> notify-END </font> <font color="#999933" size=20> notify </font>mOnDrmInfoHandlerDelegate<font color="#999933" size=20> notify-END </font> } } package libmedia{ class JAVA{ <font color="pink" size=20> notify </font>private static void postEventFromNative(Object mediaplayer_ref,int what, int arg1, int arg2, Object obj) <font color="brown" size=20> notify </font> <font color="brown" size=20> notify </font>public void EventHandler::handleMessage(Message msg) <font color="#999933" size=20> notify </font> } class JNI{ JNIMediaPlayerListener <font color="green" size=20> notify </font>void JNIMediaPlayerListener::notify(int msg, int ext1, int ext2, const Parcel *obj) <font color="pink" size=20> notify </font> } class MediaPlayer{ <font color="blue" size=20> notify </font> void MediaPlayer::notify(int msg, int ext1, int ext2, const Parcel *obj) <font color="green" size=20> notify </font> } } package Interface{ abstract class IMediaPlayerClient{ <font color="cyan">IMediaPlayerClient.h <font color="green">处理来自Client的回调 <font color="red" size=20> notify </font> {abstract} void notify(int msg, int ext1, int ext2, const Parcel *obj) = 0; <font color="blue" size=20> notify </font> } } package libmediaplayerservice{ class NuPlayerDriver{ <font color="#4f6459" size=20> notify </font> void NuPlayerDriver::notifyListener_l(int msg, int ext1, int ext2, const Parcel *in) <font color="orange" size=20> notify </font> } class NuPlayer{ <font color="#4f6459" size=20> notify-START </font> xxx() <font color="#4f6459" size=20> notify </font> } class Client{ <font color="orange" size=20> notify </font> void MediaPlayerService::Client::notify(int msg, int ext1, int ext2, const Parcel *obj) <font color="red" size=20> notify </font> } } NuPlayer --> NuPlayerDriver NuPlayerDriver --> Client IMediaPlayerClient --> MediaPlayer Client --> IMediaPlayerClient MediaPlayer --> JNI JNI --> JAVA JAVA --> CallBacks @enduml
[Android] NuPlayer回调通知直至App
ykun0892024-02-09 0:10
相关推荐
笑一下蒜了.31 分钟前
Linux 存储多路径访问手册|multipath.conf 各配置段详解凡泰AI34 分钟前
如何通过小程序多端框架,让一个小程序同时运行在iOS、安卓、鸿蒙以及PC客户端,实现一次开发多端运行的效果一笑的小酒馆1 小时前
Androidiot扫地机器人设备详情页地图加载慢卡顿优化方案xixiaoyunya2 小时前
安卓远程管理电脑/NAS文件:从传统SMB方案到Web化私有云的选型与落地实践Zhu7587 小时前
在k8s集群部署MySQL单实例,支持多个主流发行版AFinalStone10 小时前
Android 7系统异常问题排查(四)Framework层(上)—System Server Watchdog宝杰X712 小时前
Android Room3 多平台数据库huibin14785236915 小时前
热缓解学习记录小田的博客17 小时前
SAP MM 供应商银行主数据更新报错!message R1228!一笑的小酒馆19 小时前
Android智能猫砂盆视频加载慢卡顿问题分析