2014-09-04 3 views
4

У меня проблема с поиском в моем собственном приложении Android Android. Когда я переправляю свое видео rtmp (источник MP4), то VLC держится и после 60-120 секунд играет хорошо.LibVLC android поиск и переадресация

Мое устройство 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

У меня также есть проблема с vlc при поиске rtmp-потока. см. [vlc play rtmp stream и не может поддерживать поиск] (http://stackoverflow.com/questions/43670832/vlc-play-rtmp-stream-and-cannot-support-seek) – Charein

ответ

0

Я не мог понять ваш вопрос, но если это не в состоянии установить положение искателя при MedaiPlayer не играет, то вызов SetPosition во время игры делает трюк:

 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 хорошая документация и учебник !!