1

我刚刚通过安卓相机教程玩过。我的问题是关于方向。如果我以纵向模式开始,录制的视频方向错误。在我的情况下,我稍微修改了预览视图的布局 - 现在它有一些错误/任意的纵横比,但录制的视频也有相同(错误)的纵横比!?

预览和实际录制为什么以及如何耦合?有没有办法解耦:录制的视频应该只记录相机提供的内容。

那么如何创建一个相机应用程序,它在录制时忽略方向(或仅使用方向将其存储在元数据中)但在预览中反映它(无事可做 - 通过旋转手机,肖像变成风景)。是否有任何具有正确旋转处理的相机应用程序示例?

4

2 回答 2

3

如果要在 Android 上以与默认方向不同的方向录制视频,则需要使用 MediaRecorder 的setOrientationHint方法。

相机预览方向(由相机的setDisplayOrientation方法设置)和录制方向没有耦合,除此之外,它们都默认沿设备的长边定向。

如果您将应用的方向从横向更改,则需要调用 Camera 的 setDisplayOrientation 以正确调整预览,并调用 Media Recorder 的 setOrientationHint 以独立更改录制方向。

Android 的默认相机应用程序(在AOSP中可用)可以正确处理所有这些问题。

于 2013-07-22T16:56:31.900 回答
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();
于 2015-04-18T06:22:26.393 回答