在android中以慢动作播放视频

时间:2013-08-30 06:25:43

标签: android video handler runnable libvlc

- 我正在开发一个需要以慢动作播放视频的项目。

- 我很清楚Android不提供这些功能。

- 我发现 PVPlayer Engine libVLC 拥有这些功能,但我没有找到包含它们的任何教程或适当的文档在android项目中并使用它们。

- 所以我尝试使用RunnableHandler来做到这一点,它成功地减慢了视频速度,但是在播放过程中他们拥有了混蛋。

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项目中。

提前致谢......

2 个答案:

答案 0 :(得分:3)

我迟到但我找到了API 23及更高版本的解决方案。 Android 6.0 添加了PlaybackParams类来控制播放行为。 -

使用setPlaybackParams的{​​{1}}方法,如下所示 -

MediaPlayer

答案 1 :(得分:0)

如果您正在搜索如何将VLC嵌入到Android中,您可以参考this。 你可以通过调用setRate(0.5f)到libVLC进行慢动作来改变速度。