2014-09-04 5 views
4

나는 내 자신의 안드로이드 APP에서 추구하는 데 문제가 있습니다. 내가 내 rtmp 비디오 (MP4 소스)를 전달하면 VLC가 멈추고 60-120 초가 좋은 상태로 재생됩니다.LibVLC android seek and forward

내 장치는 armv7 android TV STB BOX입니다.

 // Create a new media player 
     libvlc = LibVLC.getInstance(); 
     libvlc.setHardwareAcceleration(LibVLC.HW_ACCELERATION_FULL); 
     //libvlc.setSubtitlesEncoding(""); 
     //libvlc.setAout(LibVLC.VOUT_ANDROID_SURFACE); 
     //libvlc.setTimeStretching(false); 
     //libvlc.setFrameSkip(true); 

     libvlc.setSubtitlesEncoding(""); 
     libvlc.setTimeStretching(false); 
     libvlc.setFrameSkip(true); 
     libvlc.setChroma("RV32"); 
     libvlc.setVerboseMode(true); 
     libvlc.setAout(-1); 
     libvlc.setDeblocking(4); 
     libvlc.setNetworkCaching(0); 



     //libvlc.setChroma("RV32"); 
     //libvlc.setVerboseMode(false); 
     //libvlc.setDeblocking(1); 
     //libvlc.setNetworkCaching(2500); 
     LibVLC.restart(this); 
     EventHandler.getInstance().addHandler(mHandler); 
     holder.setFormat(PixelFormat.RGBX_8888); 
     holder.setKeepScreenOn(true); 
     MediaList list = libvlc.getMediaList(); 
     list.clear(); 
     list.add(new Media(libvlc, LibVLC.PathToURI(media)), false); 
     libvlc.playIndex(0); 

MXPlayer와 같은 다른 플레이어에서는 문제가 없습니다. Vitamio는 정상적으로 작동하지만 오디오 동기화에 문제가 있습니다. VLC에 비디오를 추구하지 않고 좋은 작품 아래에있는 내 앞으로 되감기 작업입니다 : 나는 당신의 질문을 이해하지 못했습니다

switch (event.getKeyCode()) { 

     // next 
     case 87: 

      s = false; 

      if (length > 0L) { 
       Long t = time+60000L; 
       if (t < length) { 
        //libvlc.clearBuffer(); 
        libvlc.setTime(time+60000L); 
        libvlc.play(); 
       } 
      } 

      break; 
     // prev 
     case 88: 

      s = false; 

      if (length > 0L) { 
       Long t = time-60000L; 
       if (t > 0) { 
        libvlc.setTime(time-60000L); 
        libvlc.play(); 
       } 
      } 

      break; 
    } 
+0

나는 또한이 동일한 문제가 있습니다. 어떤 해결책이 아직 있습니까? –

+0

거기에 대한 해결책은 아직, 나는 컴파일 된 ffmeg 또는 Vitamio 플러그인을 사용하고 있지만 vitamio 제대로 작동하지 않습니다. 여전히 비디오가 끊기는 문제가 있습니다. 여전히 작동하지 않는 VLC를 찾는다. – ppoeas

+0

또한 rtmp 스트림을 검색 할 때 vlc를 사용하는 데 문제가 있습니다. [vlc play rtmp stream을보고 seek을 지원할 수 없습니다.] (http://stackoverflow.com/questions/43670832/vlc-play-rtmp-stream-and-cannot-support-seek) – Charein

답변

0

하지만 그건 경우는, 다음 호출로 setPosition MedaiPlayer이 재생되지 않는 찾는 위치를 설정 할 수 없다는 연주하는 동안 트릭을 수행합니다.

 if(!isPlaying){ 
      mp.play();//otherwise not seekable for some silly reason 
      mp.setTime((long)pos); 
      mp.pause(); 
     }else{ 
      mp.setTime((long)pos); 
     } 

mp는 물론 MediaPlayer입니다. getLength()에는 동일한 문제가 있기 때문에 iso는 좋은 문서 및 튜토리얼을 작성하는 데 정말로 짜증나!