Cómo utilizar la biblioteca ijkplayer

Voy a utilizar ijkplayer github enlace . Lo descargue y luego lo importo a eclipse por Archivo> Importar> General> Proyectos existentes en el área de trabajo. Después de eso tengo tres proyectos:

1.ijkmediaplayer ( library ) 2.ijkmediawidget ( VideoView-like interface ) 3.ijkmediademo ( Demo project ) 

Cuando ejecuto ijkmediademo, Ocurrió un error y el programa se bloqueó. Tengo estas líneas de error:

 07-06 14:06:26.913: E/AndroidRuntime(11394): FATAL EXCEPTION: main 07-06 14:06:26.913: E/AndroidRuntime(11394): Process: tv.danmaku.ijk.media.demo, PID: 11394 07-06 14:06:26.913: E/AndroidRuntime(11394): java.lang.UnsatisfiedLinkError: Couldn't load ijkffmpeg from loader dalvik.system.PathClassLoader[dexPath=/data/app/tv.danmaku.ijk.media.demo-8.apk,libraryPath=/data/app-lib/tv.danmaku.ijk.media.demo-8]: findLibrary returned null 07-06 14:06:26.913: E/AndroidRuntime(11394): at java.lang.Runtime.loadLibrary(Runtime.java:358) 07-06 14:06:26.913: E/AndroidRuntime(11394): at java.lang.System.loadLibrary(System.java:526) 07-06 14:06:26.913: E/AndroidRuntime(11394): at tv.danmaku.ijk.media.player.IjkMediaPlayer$1.loadLibrary(IjkMediaPlayer.java:86) 07-06 14:06:26.913: E/AndroidRuntime(11394): at tv.danmaku.ijk.media.player.IjkMediaPlayer.loadLibrariesOnce(IjkMediaPlayer.java:95) 07-06 14:06:26.913: E/AndroidRuntime(11394): at tv.danmaku.ijk.media.player.IjkMediaPlayer.initPlayer(IjkMediaPlayer.java:137) 07-06 14:06:26.913: E/AndroidRuntime(11394): at tv.danmaku.ijk.media.player.IjkMediaPlayer.<init>(IjkMediaPlayer.java:133) 07-06 14:06:26.913: E/AndroidRuntime(11394): at tv.danmaku.ijk.media.player.IjkMediaPlayer.<init>(IjkMediaPlayer.java:125) 07-06 14:06:26.913: E/AndroidRuntime(11394): at tv.danmaku.ijk.media.widget.VideoView.openVideo(VideoView.java:244) 07-06 14:06:26.913: E/AndroidRuntime(11394): at tv.danmaku.ijk.media.widget.VideoView.access$30(VideoView.java:229) 07-06 14:06:26.913: E/AndroidRuntime(11394): at tv.danmaku.ijk.media.widget.VideoView$8.surfaceCreated(VideoView.java:502) 07-06 14:06:26.913: E/AndroidRuntime(11394): at android.view.SurfaceView.updateWindow(SurfaceView.java:602) 07-06 14:06:26.913: E/AndroidRuntime(11394): at android.view.SurfaceView.access$000(SurfaceView.java:94) 07-06 14:06:26.913: E/AndroidRuntime(11394): at android.view.SurfaceView$3.onPreDraw(SurfaceView.java:183) 07-06 14:06:26.913: E/AndroidRuntime(11394): at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:888) 07-06 14:06:26.913: E/AndroidRuntime(11394): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2173) 07-06 14:06:26.913: E/AndroidRuntime(11394): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1246) 07-06 14:06:26.913: E/AndroidRuntime(11394): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6567) 07-06 14:06:26.913: E/AndroidRuntime(11394): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:803) 07-06 14:06:26.913: E/AndroidRuntime(11394): at android.view.Choreographer.doCallbacks(Choreographer.java:603) 07-06 14:06:26.913: E/AndroidRuntime(11394): at android.view.Choreographer.doFrame(Choreographer.java:573) 07-06 14:06:26.913: E/AndroidRuntime(11394): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:789) 07-06 14:06:26.913: E/AndroidRuntime(11394): at android.os.Handler.handleCallback(Handler.java:733) 07-06 14:06:26.913: E/AndroidRuntime(11394): at android.os.Handler.dispatchMessage(Handler.java:95) 07-06 14:06:26.913: E/AndroidRuntime(11394): at android.os.Looper.loop(Looper.java:136) 07-06 14:06:26.913: E/AndroidRuntime(11394): at android.app.ActivityThread.main(ActivityThread.java:5476) 07-06 14:06:26.913: E/AndroidRuntime(11394): at java.lang.reflect.Method.invokeNative(Native Method) 07-06 14:06:26.913: E/AndroidRuntime(11394): at java.lang.reflect.Method.invoke(Method.java:515) 07-06 14:06:26.913: E/AndroidRuntime(11394): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1268) 07-06 14:06:26.913: E/AndroidRuntime(11394): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1084) 07-06 14:06:26.913: E/AndroidRuntime(11394): at dalvik.system.NativeStart.main(Native Method) 

Parece que el programa no puede encontrar algunas bibliotecas que establece aquí en la clase IjkMediaPlayer:

 public static void loadLibrariesOnce(IjkLibLoader libLoader) { synchronized (IjkMediaPlayer.class) { if (!mIsLibLoaded) { libLoader.loadLibrary("stlport_shared"); libLoader.loadLibrary("ijkffmpeg"); libLoader.loadLibrary("ijkutil"); libLoader.loadLibrary("ijkadk"); libLoader.loadLibrary("ijksdl"); libLoader.loadLibrary("ijkplayer"); mIsLibLoaded = true; } } } 

¿Qué son estas bibliotecas?

Donde están estas bibliotecas? (No pude encontrarlos en proyectos)

¿Cómo puede solucionar este problema?

Parece que usted no ha construido las bibliotecas que se requieren – usted tiene que hacerlo usted mismo. Siga las instrucciones en el encabezado Crear Android en la página ijkplayer github link

Después de un proceso de compilación exitoso, obtendrá varios archivos de biblioteca ( libijkffmpeg, libijkutil, libijkadk, libijksdl, libijkplayer ) que se colocarán automáticamente en la carpeta ijkmediaplayer/libs .

He construido con éxito las bibliotecas de ijkplayer bajo VirtualBox Ubuntu 12.04 . Y tendrás que instalar Android NDK .

  • Buffer de flujo de audio
  • Error de MediaPlayer de Android: Error de MediaPlayer (1, -2147483648) en Stream de Internet
  • ¿Cómo se incluyen los encabezados http con MediaPlayer setDataSource?
  • Android - QCMediaPlayer mediaplayer NO está presente - no puede reproducir sonido en absoluto
  • Android varios MediaPlayers
  • Reproducción de archivos .wav cortos - Android
  • ¿Dónde y cómo almacena las descargas progresivas de la caché de Android MediaPlayer?
  • Problemas con MediaPlayer para Android: "Error (-38, 0)" y "stop llamado en estado 1"
  • Establecer sonido de notificación en la carpeta Activos
  • ¿Cómo reproducir los archivos de audio directamente de la carpeta res / raw?
  • Detener y iniciar música en las llamadas entrantes
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.