【问题标题】:How to get duration of video when it is recording-Android录制时如何获取视频时长-Android
【发布时间】:2014-06-05 08:21:36
【问题描述】:

我遇到了一个问题。我想在录制视频时获得视频的持续时间。 我可以通过代码完成视频的持续时间

MediaPlayer mp = MediaPlayer.create(mContext, Uri.parse(video));
if(mp == null)
    return -1;
int duration = mp.getDuration();
mp.release();

但我想在每次录制视频以更新到进度条时获取持续时间。 希望得到您的回复!

【问题讨论】:

    标签: android video record duration


    【解决方案1】:
       private class PlaybackObserver extends Thread {
    
            public void run() {
                currentPosition = 0;
                try {
                    while (!killObserverThread) {
                        Thread.sleep(1000);
    
                        currentPosition = (int) mediaPlayer.getCurrentPosition();
    
                        runOnUiThread(new Runnable() {
                            public void run() {
    
                                    yourProgressBar.setProgress(currentPosition);
    
    
                            }
                        });
                    }
                } catch (IllegalStateException e) {
                    e.printStackTrace();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        }
    
       @Override
        protected void onDestroy() {
    
            super.onDestroy();
    
            killObserverThread = false;
        }
        @Override
        protected void onResume() {
            // TODO Auto-generated method stub
            super.onResume();
    
    
    
            if (task == null || !task.isAlive()) {
                task = new PlaybackObserver();
                task.start();
            }
    
            startPlaying();
    
        }
    

    为你的 UiThread 添加一个私有类来更新你的搜索栏/进度条。然后从 onResume() 开始

    【讨论】:

    • 感谢您的回答。但我不明白你的解决方案。因为。我正在录制新的 MediaRecorder() 。我设置并开始了这个记录。在录制过程中,我无法为此文件创建媒体播放器。它总是返回 null。当文件记录完成时,媒体文件将被创建!所以记录运行时我无法获得持续时间!
    猜你喜欢
    • 2013-06-28
    • 2014-03-02
    • 2016-07-29
    • 1970-01-01
    • 2016-04-09
    • 2015-05-30
    • 2011-04-25
    • 1970-01-01
    相关资源
    最近更新 更多