android上的LibVLC未更新SurfaceTexture

android上的LibVLC未更新SurfaceTexture,android,opengl-es,java-native-interface,libvlc,Android,Opengl Es,Java Native Interface,Libvlc,我们希望在我们的项目中集成libvlc,取代Android MediaPlayer 项目编译时,libvlc被初始化为put错误,但什么也没有发生 我们不必在android小部件上以SurfaceView、GLSurfaceView或TextureView的形式渲染视频,而是必须渲染到一个SurfaceTexture,而GL texture在JNI部分中就是这样做的。我们在游戏中使用此纹理渲染天空圆顶 现在,我们正在使用android MediaPlayer将视频解码为纹理,并完美运行。因此,这

我们希望在我们的项目中集成libvlc,取代Android MediaPlayer

项目编译时,libvlc被初始化为put错误,但什么也没有发生

我们不必在android小部件上以SurfaceView、GLSurfaceView或TextureView的形式渲染视频,而是必须渲染到一个SurfaceTexture,而GL texture在JNI部分中就是这样做的。我们在游戏中使用此纹理渲染天空圆顶

现在,我们正在使用android MediaPlayer将视频解码为纹理,并完美运行。因此,这些问题与libVLC集成有关。没有写跟踪日志,所以很难找到问题所在

总结我们的代码:

1-设置libvlc库

ArrayList<String> options = new ArrayList<String>();
options.add("-vvv"); // verbosity

libVLC = new LibVLC(options);
libVLC.setOnNativeCrashListener(this);

mediaPlayer = new MediaPlayer(libVLC);
mediaPlayer.setEventListener(this);
3-在渲染循环中更新纹理

synchronized(this) {
    if(isFrameNew) {
        if(surfaceTexture != null) surfaceTexture.updateTexImage();
            isFrameNew = false;
            isMoviedone = false;
            return true;
    } 
    return false;    
}
但什么都没有。纹理为空,似乎libvlc在内部不工作

有人有同样的问题吗


高级感谢

你在vlc android论坛上问过这个问题吗?您可以从vlc开发人员那里获得快速帮助。是的,我也在vlc安卓论坛上发表过。我也有同样的问题。你在vlc安卓论坛上有进展吗?我找不到你的问题。在libvlc论坛上找到你的问题,你找到有用的样本了吗?我所能找到的就是这个(或它的副本),它使用android视图组件——我只想像你一样使用SurfaceTexture,而不是任何示例。我们使用exoplayer将libVLC更改为javajni:(。它工作得很好
synchronized(this) {
    if(isFrameNew) {
        if(surfaceTexture != null) surfaceTexture.updateTexImage();
            isFrameNew = false;
            isMoviedone = false;
            return true;
    } 
    return false;    
}