2013-08-30 6 views
5

- Я работаю над проектом, который должен воспроизводить видео в замедленном темпе.Воспроизведение видео в замедленном режиме в android

- Мне хорошо известно, что Android не предоставляет эти функции.

- я нашел PVPlayer двигатель и libVLC, которые обладают этими возможностями, но я не нашел ни одного учебника или надлежащую документацию, включая их в андроиде проекта и их использования.

- Так я попытался сделать это с помощью Runnable и Handler, она была успешной в замедлении видео, но они обладали рывков во время игры.

public class MainActivity extends Activity { 

    VideoView vx; 
    Button mbutt; 
    Handler h ; 
    int curr = 0; 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     h = new Handler(); 

     vx = (VideoView)findViewById(R.id.videoView); 
     mbutt = (Button)findViewById(R.id.button_Play); 

     vx.setVideoPath("/mnt/sdcard/you.mp4"); 

     mbutt.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 

       vx.start(); 
      } 
     }); 


     Runnable r = new Runnable() { 

      @Override 
      public void run() { 

       if (vx != null) { 

        if (vx.isPlaying()){ 

         vx.pause(); 
        } 
        else{       
         vx.start(); 
        } 
       } 

       h.postDelayed(this, 50); 
      } 
     }; 

     h.postDelayed(r, 200); 






    } 


} 

- Я пробовал различные комбинации времени паузы и время воспроизведения, чтобы удалить рывки, но все напрасно, кто может мне помочь в устранении этих рывков, так что играет хорошее медленное видео движения или предложить еще один простой для интеграции библиотеки в мой проект Android.

Заранее спасибо ......

+0

вы нашли решение? – safari

+0

Нет, я havent нашел решение еще .... –

+0

mhm, allright У меня есть аналогичная проблема, теперь я начал работать с библиотекой vitamio - но ее действительно слабая документально оформленная. но вы можете дать ему шанс – safari

ответ

0

Если вы ищете, как встроенный VLC в андроид, вы можете реф в this. , и вы можете изменить скорость, вызвав setRate (0.5f) в libVLC для замедленного движения.

2

Я опаздываю, но нашел решение для API 23 и выше. Android 6.0 добавлен PlaybackParams класс для управления воспроизведением. -

Используйте setPlaybackParams метод MediaPlayer, как указано ниже -

videoview = (VideoView)findViewById(R.id.videoview); 
videoview.setVideoURI("Your Video URI"); 
videoview.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
       @Override 
       public void onPrepared(MediaPlayer mp) { 
        //works only from api 23 
        PlaybackParams myPlayBackParams = new PlaybackParams(); 
        myPlayBackParams.setSpeed(0.5f); //here set speed eg. 0.5 for slow 2 for fast mode 
        mp.setPlaybackParams(myPlayBackParams); 

        videoview.start();//start your video. 
       } 
     });