How to add progress bar to FFMPEG android

前端 未结 4 1129
时光取名叫无心
时光取名叫无心 2021-01-01 07:34

I want add a progress bar during FFMPEG execution android.

When i start FFMPEG command then progress bar start with percentage progress.

4条回答
  •  轻奢々
    轻奢々 (楼主)
    2021-01-01 08:09

    I added a ProgressDialog using the video time

    final int msec = MediaPlayer.create(this, Uri.fromFile(new File(path))).getDuration();
    
     final ProgressDialog dialog = new ProgressDialog(this);
            dialog.setMax(msec);
            dialog.setMessage("Progress");
            dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
            dialog.setProgress(0);
    

    then in the OnStart Method of ExecuteBinaryResponseHandler call dialog.show() and update the Progress in the onProgress(String message) Method

    @Override
    public void onProgress(String message) {
        int start = message.indexOf("time=");
            int end = message.indexOf(" bitrate");
            if (start != -1 && end != -1) {
                String duration = message.substring(start + 5, end);
                if (duration != "") {
                    try {
                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
                        sdf.setTimeZone(TimeZone.getTimeZone("UTC"));
                        dialog.setProgress((int)sdf.parse("1970-01-01 " + duration).getTime());                        
                    }catch (ParseException e)
                    {
                        e.printStackTrace();
                    }
                }
        }
    }
    

    dismiss the dialog in the OnFinish() method

    @Override
    public void onFinish() {
        String s = System.currentTimeMillis() - MainActivity.this.startTime + "";
        dialog.dismiss();
    }
    

提交回复
热议问题