是否有可能在Android的记录来自摄像头的视频没有音频流?
Is it possible in Android to record video from Camera without audio stream?
目标:降低输出文件的大小
Goal: to reduce the output file size.
您可以使用MediaRecorder不调用setAudio *就可以了。这是我第一次使用MediaRecorder,但这个例子似乎工作:
You can use a MediaRecorder without calling setAudio* on it. This is my first time using MediaRecorder, but this example seems to work:
public class CamcorderView extends SurfaceView implements
SurfaceHolder.Callback {
private SurfaceHolder mHolder;
private Camera mCamera;
private MediaRecorder mRecorder;
public CamcorderView(Context context, AttributeSet attrs) {
super(context, attrs);
mHolder = getHolder();
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mHolder.addCallback(this);
mCamera = Camera.open();
mRecorder = new MediaRecorder();
}
public void stop() {
mRecorder.stop();
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
mCamera.unlock();
mRecorder.setCamera(mCamera);
mRecorder.setPreviewDisplay(mHolder.getSurface());
// You may want to change these
mRecorder.setVideoSource(MediaRecorder.VideoSource.DEFAULT);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
mRecorder.setVideoEncoder(MediaRecorder.VideoEncoder.DEFAULT);
// You'll definitely want to change this
mRecorder.setOutputFile("/mnt/sdcard/out");
try {
mRecorder.prepare();
} catch (IllegalStateException e) {
Log.e("IllegalStateException", e.toString());
} catch (IOException e) {
Log.e("IOException", e.toString());
}
mRecorder.start();
}
}
您可能还需要拨打:
setVideoSize(INT,INT);
setVideoFrameRate(INT);
setVideoSize(int, int);
setVideoFrameRate(int);
上一篇:注射用StructureMap一个工厂方法注射用、工厂、方法、StructureMap
下一篇:我多少System.Timers.Timer的情况下,可以创造?我多远可以扩展?多远、情况下、System、Timers