android - 如何从 Android Gingerbread 中的 libmedia_jni 访问自己的 libmediaplayerservice 库

标签 android android-ndk android-mediaplayer stagefright

默认情况下,android Gigerbread 2.3 使用 PV_Player(opencore 库)。我找到了一个解决方案,它应该修补系统 build.prop 文件,但我不想修补系统。我想使用将使用 StageFright 播放器的 android 媒体框架工作创建我自己的库。我知道 libmediaplayerservice 决定播放器的选择。看看 media framework

我想根据android框架创建库 -

  • libmedia_jni_own
  • libmedia_own
  • libmediaplayerservice_own

    但问题是 libmedia 不直接与 libmediaplayerservice 库交互,它不直接依赖 libmediaplayerservice 库。这样就无法创建怯场播放器。 libmedia 通过 Binder IPC 机制与 libmediaplayerservice 库通信。 我如何修补 libmedia 源库,以便它可以访问我的 libmediaplayerservice 库并能够创建 StageFright 播放器以及 StageFright 记录器等的所有访问权限,而不是 opencore 库。

  • 最佳答案

    我认为您无法在不修补系统的情况下修改媒体服务的工作方式。由于媒体服务及其库位于系统分区上,因此您实际上没有任何方法可以劫持 jni 负载。如果您运行的是非 AOSP ROM(如原装三星、HTC 等),您将无法仅更换库,因为原装 ROM 中的库包含大量与专有库的链接。

    关于android - 如何从 Android Gingerbread 中的 libmedia_jni 访问自己的 libmediaplayerservice 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10570111/

    相关文章:

    android - 使用 ImageView 时我的微调器不可见

    Android 共享首选项时间限制

    java - 如何在 Android 上使用 jni.h?

    android - 如何恢复 Android OpenGL native 应用程序

    android - 法线贴图与法线坐标

    android - 应用程序已在运行时激活 GPS

    android - 带有图像和 2 TextView 的 TableRow

    android - Audiomanager.abandonAudioFocus 不恢复播放

    android - 如何在Android上实现循环之间的无缝音频播放

    android - android中viewpager中的多个视频播放器