android上面使用mplayer
最近要做一个android上面的视频播放,网上查到xda论坛有一个成功将mplayer成功移植到android的案例。最近一直在看他的那部分。考虑是否直接可以用他成功移植的.so文件进行下面的工作,但是他android端的java工程看不太明白,所以特来提问。
我了解到他的java端的原理大概就是图像利用surface贴图输出,声音利用audiotrack输出。然而两个工程文件都预留了接口为写入bmp文件,和写入声音文件的函数。
接着我了解到这个预留的函数应该会在c端进行调用,但是我不知道这个具体是怎么调用的。比如C端有一个函数是void main_init(uint8_t
src[]){
(
jniVM)->AttachCurrentThread(jniVM, &JavaEnv, NULL);
temp=(
JavaEnv)->NewDirectByteBuffer(JavaEnv,src[0],w1
h1
2);
video=(jobject)(
JavaEnv)->NewGlobalRef(JavaEnv,temp);
(*JavaEnv)->CallVoidMethod( JavaEnv, JavaRenderer, jupdate,video);
}所以我也不知道这个人是不是修改了mplayer源代码中的其他部分,所以做过这方面项目的人能不能大概给我介绍一下实现的整个过程,比如具体的mplayer声音和图像输出什么的。因为之前我在window上利用mplayer完全是cmd下的命令操作。所以希望了解的人能帮我解答一下。
LCKCH
11 years ago