[Android] NuPlayer回调通知直至App

复制代码
@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
相关推荐
stevenzqzq9 小时前
Android Hilt 入门教程_传统写法和Hilt写法的比较
android
wuwu_q9 小时前
用通俗易懂方式,详细讲讲 Kotlin Flow 中的 map 操作符
android·开发语言·kotlin
_李小白10 小时前
【Android FrameWork】第五天:init加载RC文件
android
2501_9160074710 小时前
手机使用过的痕迹能查到吗?完整查询指南与步骤
android·ios·智能手机·小程序·uni-app·iphone·webview
黄毛火烧雪下11 小时前
React Native (RN)项目在web、Android和IOS上运行
android·前端·react native
下位子11 小时前
『OpenGL学习滤镜相机』- Day7: FBO(帧缓冲对象)
android·opengl
從南走到北11 小时前
JAVA国际版同城外卖跑腿团购到店跑腿多合一APP系统源码支持Android+IOS+H5
android·java·ios·微信小程序·小程序
空白格9711 小时前
组件化攻略
android
岸芷漫步11 小时前
android框架层弹出对话框的分析
android
Android疑难杂症11 小时前
鸿蒙Media Kit媒体服务开发快速指南
android·harmonyos·音视频开发