我刚刚通过android camera tutorial玩了。我的问题是关于方向。如果我以纵向模式开始录制的视频方向错误。 在我的情况下,我稍微修改了预览视图的布局 - 现在它有一些错误/任意的宽高比,但录制的视频也有相同(错误)的宽高比!?
为什么以及预览和实际录音如何结合?有没有办法解耦它:录制的视频应该只记录相机提供的内容。
那么如何创建一个忽略录制方向的相机应用(或仅使用方向将其存储在元数据中),但在预览中反映它(无所事事 - 通过旋转手机将肖像变为风景)。有没有正确旋转处理的相机应用程序的例子?
答案 0 :(得分:3)
如果您想要使用与默认设置不同的方向在Android上录制视频,则需要使用MediaRecorder的setOrientationHint方法。
没有相机预览方向(由相机的setDisplayOrientation方法设置)与录制方向的耦合,除此之外,它们都默认为沿着设备的长边定向。
如果您将应用的方向更改为横向,则需要调用相机的setDisplayOrientation来正确调整预览,并调整Media Recorder的setOrientationHint以独立更改录制方向。
Android的默认相机应用程序({3}}中提供,可以正确处理所有这些。
答案 1 :(得分:0)
mSession = SessionBuilder.getInstance()
.setContext(getApplicationContext())
.setAudioEncoder(SessionBuilder.AUDIO_AAC)
.setAudioQuality(new AudioQuality(8000, 16000))
.setVideoEncoder(SessionBuilder.VIDEO_H264)
.setSurfaceView(mSurfaceView).setPreviewOrientation(90)
.setCallback(this).build();