1

camera2video API に関するアプリを作成しています。プレビューを全画面表示したかったのですが、代わりに、Camera2video API Github https://github.com/googlesamples/android-Camera2Videoに示されているように、画面の 70% の領域を占めています。 また、ビデオ品質パラメーターのオプションもありません。非推奨の Camera API で使用できました。

4

3 に答える 3

1

デモには、アスペクト比を維持しながらプレビューをテクスチャ ビュー内にCamera2Video収める というクラスが含まれています。AutoFitTextureViewプレビューを拡大して画面全体に表示したい場合はTextureView、このクラスの代わりに通常のクラスを使用してください。

AutoFitTextureViewクラス内のへの参照とCamera2VideoFragment、縦向きと横向きの両方のレイアウト XML ファイル内の参照を置き換える必要があります。layout_widthとを に変更layout_heightmatch_parentます。

また、非推奨の Camera API で使用可能だったため、Video Quality パラメータのオプションもありません。

のMediaRecorderオブジェクト ( mMediaRecorder) に設定しCamera2VideoFragmentます。

于 2016-05-31T07:44:06.300 に答える
1

camera2 の実装はあまり良くありません。あなたの場合、メソッドchooseVideoSizeを見つけて、次のように変更します。

private Size chooseVideoSize(Size[] choices) {

        for (Size size : choices) {
            if (size.getWidth() == size.getHeight() * 16 / 9 && size.getWidth() <= 1080) {
                return size;
            }
        }
        Log.e(TAG, "Couldn't find any suitable video size");
        return choices[choices.length - 1];
    }

次に、デフォルト レイアウト フォルダの fragment_camera2_video.xml にandroid:layout_alignParentEnd="true"を挿入します。次のようになります。

<com.example.android.camera2video.AutoFitTextureView
        android:id="@+id/texture"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentEnd="true" //add here
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true" />
于 2016-11-18T07:13:34.800 に答える