このビデオを保存しようとすると、このエラーが発生します。
2 つの jar ファイルを追加しました 1) javacv 2) javacpp
カメラのプレビューにはopencvを使用しました。
ここにコードを追加しています。
` public void run() {
while (true) {
Bitmap bmp = null;
synchronized (this) {
if (mCamera == null)
break;
if (!mCamera.grab()) {
Log.e(TAG, "mCamera.grab() failed");
break;
}
bmp = processFrame(mCamera);
if(isRecording)
{
ByteBuffer buffer = ByteBuffer.allocate(bmp.getRowBytes()*bmp.getHeight());
bmp.copyPixelsFromBuffer(buffer);
try {
recorder.record(buffer);
} catch (Exception e) {
e.printStackTrace();
}
}
}
if (bmp != null) {
Canvas canvas = mHolder.lockCanvas();
if (canvas != null)
{
Matrix matrix = new Matrix();
matrix.preTranslate((canvas.getWidth() - getFrameWidth())/2, (canvas.getHeight() - getFrameHeight())/2);
if(getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT)
matrix.postRotate(90f,(canvas.getWidth()) / 2,(canvas.getHeight()) / 2);
canvas.drawBitmap(bmp, matrix, new Paint());
mHolder.unlockCanvasAndPost(canvas);
}
bmp.recycle();
}
}
Log.i(TAG, "Finishing processing thread");
}
// For Recording File
public boolean prepareVideoRecorder()
{
recorder = new FFmpegFrameRecorder(getOutputMediaFile(MEDIA_TYPE_VIDEO).toString(), getFrameWidth(), getFrameHeight());
recorder.setVideoCodec(avcodec.AV_CODEC_ID_MJPEG);
recorder.setPixelFormat(avutil.PIX_FMT_YUV420P);
recorder.setAudioCodec(avcodec.AV_CODEC_ID_PCM_S16LE);
try {
recorder.start();
} catch (Exception e)
{
return false;
}
return true;
}`
そして、私はこのエラーが発生しています..
11-20 13:47:09.349: エラー/AndroidRuntime(4954): 致命的な例外: メイン 11-20 13:47:09.349: エラー/AndroidRuntime(4954): java.lang.ExceptionInInitializerError 11-20 13:47:09.349:エラー/AndroidRuntime(4954): com.googlecode.javacv.FFmpegFrameRecorder.(FFmpegFrameRecorder.java:119) 11-20 13:47:09.349: エラー/AndroidRuntime(4954): com.googlecode.javacv.FFmpegFrameRecorder.(FFmpegFrameRecorder) .java:112) 11-20 13:47:09.349: エラー/AndroidRuntime (4954): com.boomalaya.moovix.CameraPreview$Preview.prepareVideoRecorder (CameraPreview.java:454) で 11-20 13:47:09.349: エラー/AndroidRuntime(4954): com.boomalaya.moovix.CameraPreview$2.onClick(CameraPreview.java:172) 11-20 13:47:09.349: エラー/AndroidRuntime(4954): android.view.View.performClick(View) で.java:2485) 11-20 13:47:09.349: エラー/AndroidRuntime(4954): android.view で。View$PerformClick.run(View.java:9080) 11-20 13:47:09.349: エラー/AndroidRuntime(4954): android.os.Handler.handleCallback(Handler.java:587) 11-20 13:47: 09.349: エラー/AndroidRuntime(4954): android.os.Handler.dispatchMessage(Handler.java:92) 11-20 13:47:09.349: エラー/AndroidRuntime(4954): android.os.Looper.loop(ルーパー) .java:130) 11-20 13:47:09.349: エラー/AndroidRuntime(4954): android.app.ActivityThread.main(ActivityThread.java:3687) で 11-20 13:47:09.349: エラー/AndroidRuntime(4954) ): java.lang.reflect.Method.invokeNative(Native Method) 11-20 13:47:09.349: エラー/AndroidRuntime(4954): java.lang.reflect.Method.invoke(Method.java:507) 11 -20 13:47:09.349: エラー/AndroidRuntime(4954): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) で 11-20 13:47:09.349: エラー/AndroidRuntime(4954 ):com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 11-20 13:47:09.349: エラー/AndroidRuntime(4954): dalvik.system.NativeStart.main(ネイティブ メソッド) 11-20 13:47:09.349: ERROR/AndroidRuntime(4954): 原因: java.lang.ExceptionInInitializerError 11-20 13:47:09.349: ERROR/AndroidRuntime(4954): at java.lang.Class.classForName(Native Method) 11 -20 13:47:09.349: エラー/AndroidRuntime(4954): java.lang.Class.forName(Class.java:234) で 11-20 13:47:09.349: エラー/AndroidRuntime(4954): com.googlecode で.javacpp.Loader.load(Loader.java:338) 11-20 13:47:09.349: エラー/AndroidRuntime(4954): com.googlecode.javacv.cpp.avformat.(avformat.java:76) で 11-20 13:47:09.349: ERROR/AndroidRuntime(4954): ... 15 詳細 11-20 13:47:09.349: ERROR/AndroidRuntime(4954): 原因: java.lang.ExceptionInInitializerError 11-20 13:47:09.349 :エラー/AndroidRuntime(4954): java.lang.Class.classForName(Native Method) 11-20 13:47:09.349: エラー/AndroidRuntime(4954): java.lang.Class.forName(Class.java:234) 11-20 13:47:09.349: エラー/AndroidRuntime(4954): com.googlecode.javacpp.Loader.load(Loader.java:338) で 11-20 13:47:09.349: エラー/AndroidRuntime(4954): でcom.googlecode.javacv.cpp.avcodec.(avcodec.java:86) 11-20 13:47:09.349: ERROR/AndroidRuntime(4954): ... 19 より 11-20 13:47:09.349: ERROR/AndroidRuntime (4954): 原因: java.lang.UnsatisfiedLinkError: jniavutil を読み込めませんでした: findLibrary が null を返しました 11-20 13:47:09.349: エラー/AndroidRuntime(4954): java.lang.Runtime.loadLibrary(Runtime.java) で:429) 11-20 13:47:09.349: エラー/AndroidRuntime(4954): java.lang.System.loadLibrary(System.java:554) 11-20 13:47:09.349: エラー/AndroidRuntime(4954):com.googlecode.javacpp.Loader.loadLibrary(Loader.java:448) 11-20 13:47:09.349: エラー/AndroidRuntime(4954): com.googlecode.javacpp.Loader.load(Loader.java:372) 11-20 13:47:09.349: エラー/AndroidRuntime(4954): com.googlecode.javacpp.Loader.load(Loader.java:319) で 11-20 13:47:09.349: エラー/AndroidRuntime(4954): でcom.googlecode.javacv.cpp.avutil.(avutil.java:75) 11-20 13:47:09.349: ERROR/AndroidRuntime(4954): ... 23 もっと見るERROR/AndroidRuntime(4954): ... 23 件以上ERROR/AndroidRuntime(4954): ... 23 件以上
誰でもこれについて私を助けることができます..