第一个问题:在调试android多媒体时,在 frameworks/base/media/jni/android_media_MediaPlayer.cpp中的 JNI_OnLoad 函数中添加了一些打印信息,始终无法打印出来,怎么回事啊?第二个问题:JNI_OnLoad中,函数映射的关系也被注册了多次,当我调用 setDataSource(url)时,执行的是 android_media_MediaPlayer_setDataSource 还是 android_media_MediaMetadataRetriever_setDataSource 啊?谢啦!

解决方案 »

  1.   

    1,确定你修改了
    2,是否重启机器
      {"setDataSource",       "(Ljava/lang/String;)V",            (void *)android_media_MediaPlayer_setDataSource},
        {"setDataSource",       "(Ljava/lang/String;Ljava/util/Map;)V",(void *)android_media_MediaPlayer_setDataSourceAndHeaders},
        {"setDataSource",       "(Ljava/io/FileDescriptor;JJ)V",    (void *)android_media_MediaPlayer_setDataSourceFD},
    setDataSource 有这么多的native方法,根据参数来的
      

  2.   

    加到android_media_MediaPlayer_setDataSource中的打印能出来,就是 JNI_OnLoad 中的打印出不来