使用源码MediaFile.java判断一个文件是否是音频文件,需要lib "media_jni",去哪里找?

ameyume
博客专家认证
2011-01-26 01:45:06
如题,我想利用源码MediaFile.java的getFileType()取得文件的类型,然后用isAudioFileType()函数判断是否是音频类型。
但是在判断wma类型的文件是需要执行DecoderCapabilities.java文件中的
static {
System.loadLibrary("media_jni");
native_init();
}
网上说这时候要求VM去载入Android的/system/libmeida_jni.so文件,但是在我下载的源码里没有找到此目录及libmeida_jni.so文件。那么,需要去哪里找此文件呢?找到后直接放在MediaFile.java文件所在目录下就可以了吧?
没用过jni,还请各位多多关照。
...全文
716 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
heidongfeng 2011-10-25
  • 打赏
  • 举报
回复
libmeida_jni.so文件是在手机设备里的,目录:/system/lib/,注意不是sd卡的system目录哦,system和sd卡在同一个根目录下
freshui 2011-01-28
  • 打赏
  • 举报
回复
源码编译很简单。
不要将文件夹单独拷贝出来,这样是不对的,因为有依赖关系。

编译整个工程:
源码根目录-make

编译某个moudle
make <module>
一般module在android.mk中定义。

比如:
make libmedia_jni
ameyume 2011-01-28
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 freshui 的回复:]
没关系的, 这个文件时编译出来的。

看你哪个版本, 一般源码在 /framework/base/media
编出来就有这个so, 这个so放在设备的 /system/lib下面

另外: 这里面的东西,接口和行为不保证在各版本及各方案厂商实现的一致 :)
[/Quote]
多谢,编译源码是不是我把相应的文件夹包括子文件靠边到linux中,直接用文件夹下的Android.mk执行,就可以编译出来了?
例如编译base-HEAD\base\media\jni目录下的文件,直接在linux的终端执行里面的Android.mk就可以编译了?
还没编译过android源码,正在学习。
freshui 2011-01-26
  • 打赏
  • 举报
回复
没关系的, 这个文件时编译出来的。

看你哪个版本, 一般源码在 /framework/base/media
编出来就有这个so, 这个so放在设备的 /system/lib下面

另外: 这里面的东西,接口和行为不保证在各版本及各方案厂商实现的一致 :)

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧