[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
相关推荐
stevenzqzq37 分钟前
快递盒模型
android
黄林晴1 小时前
Composables CLI 发布!一站式创建与管理 Compose Multiplatform 项目
android
再让我睡两分钟1 小时前
【无标题】
android·java·数据库·人工智能·prompt·ai应用开发
louisgeek13 小时前
Android Studio 和 Git
android
solo_9917 小时前
Android Event 日志完全指南
android
孙晓鹏life18 小时前
MySQL-Seconds_behind_master的精度误差
android·mysql·adb
雨白18 小时前
C 语言文件操作核心
android
鱼儿也有烦恼20 小时前
01.搭建Android Studio开发环境
android·android studio
m0_7381207221 小时前
PHP代码审计基础——面向对象(四)
android·开发语言·网络·安全·github·php
Coffeeee1 天前
搞Android的怎么可能搞不懂Context Engineering?
android·人工智能·ai编程