Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 空对象引用上的FFmpeg.execute.FFmpegExecuteResponseHandler_Java_Android_Ffmpeg - Fatal编程技术网

Java 空对象引用上的FFmpeg.execute.FFmpegExecuteResponseHandler

Java 空对象引用上的FFmpeg.execute.FFmpegExecuteResponseHandler,java,android,ffmpeg,Java,Android,Ffmpeg,我的代码: submit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { execFFmpegBinary( " -i" + newFile.getAbsolutePath() + " -codec:v libx264 -profile:v high -preset slow -b:v 500k -maxrate 500

我的代码:

submit.setOnClickListener(new View.OnClickListener() {
       @Override
       public void onClick(View v) {
           execFFmpegBinary( " -i" + newFile.getAbsolutePath() + " -codec:v libx264 -profile:v high -preset slow -b:v 500k -maxrate 500k -bufsize 1000k -vf scale=-1:480 -threads 0 -pass 2 -codec:a libfdk_aac -b:a 128k -f mp4 " + dest1.getAbsolutePath());

       }
   });


public void execFFmpegBinary(final String command) {
    try {
        Log.d("path....",command);
        ffmpeg.execute( command, new ExecuteBinaryResponseHandler() {
            @Override
            public void onFailure(String s) {
                Log.d(TAG, "FAILED with output : " + s);
            }

            @Override
            public void onSuccess(String s) {
                Log.d(TAG, "SUCCESS with output : "+s);
            }

            @Override
            public void onProgress(String s) {
                Log.d(TAG, "Started command : ffmpeg "+command);
                Log.d(TAG, "progress : " + s);
            }

            @Override
            public void onStart() {
                Log.d(TAG, "Started command : ffmpeg " + command);
                progressDialog.setMessage("Processing...");
                progressDialog.show();
            }

            @Override
            public void onFinish() {
                Log.d(TAG, "Finished command : ffmpeg " + command);
                progressDialog.dismiss();
            }
        });
    } catch (FFmpegCommandAlreadyRunningException e) {
        // do nothing for now
    }
}
显示此错误:

FATAL EXCEPTION: main
Process: com.example.mypc.videocut, PID: 26910
java.lang.NullPointerException: Attempt to invoke virtual method 'void com.github.hiteshsondhi88.libffmpeg.FFmpeg.execute(java.lang.String, com.github.hiteshsondhi88.libffmpeg.FFmpegExecuteResponseHandler)' on a null object reference

ffmpeg
当前未实例化

你必须先打电话:

ffmpeg = FFmpeg.getInstance(this);
并尝试加载库:

try {
        ffmpeg.loadBinary(new LoadBinaryResponseHandler() {
            @Override
            public void onFailure() {
                Log.e(TAG,"");
            }
        });
    } catch (FFmpegNotSupportedException e) {
        Log.e(TAG,"");
    }

因此,在此之后,您可以使用
execute
method

方法
execFFmpegBinary
中的参数必须是
String[]
而不是
String