@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
相关推荐
model200538 分钟前
android + tflite 分类APP开发-2彭于晏6891 小时前
Android广播与衫2 小时前
掌握嵌套子查询:复杂 SQL 中 * 列的准确表列关系500了8 小时前
Kotlin基本知识人工智能的苟富贵9 小时前
Android Debug Bridge(ADB)完全指南小雨cc5566ru14 小时前
uniapp+Android面向网络学习的时间管理工具软件 微信小程序bianshaopeng15 小时前
android 原生加载pdfhhzz15 小时前
Linux Shell编程快速入门以及案例(Linux一键批量启动、停止、重启Jar包Shell脚本)火红的小辣椒16 小时前
XSS基础勿问东西18 小时前
【Android】设备操作