agora.io RENDERモード (映像表示モード)


概要

agora.io の VideoSDK for Native では、RENDERモードという機能により、画面上の映像表示設定をすることができます。
本記事では、Androidを利用して、本機能の利用方法および各モードの映像表示を説明します。

RENDERモードの利用方法

RENDERモードは、以下のAPIコール時に引数で指定します。

setupLocalVideo と setupRemoteVideo は、ビデオ通話開始時にそれぞれ自拠点、他拠点の映像表示を初期化するためのAPIです。
setLocalRenderMode と setRemoteRenderMode は、初期化後に映像表示を変更するためのAPIです。

// Java
private void setupLocalVideo() {

    // Enable the video module.
    mRtcEngine.enableVideo();

    // Create a SurfaceView object.
    private FrameLayout mLocalContainer;
    private SurfaceView mLocalView;

    mLocalView = RtcEngine.CreateRendererView(getBaseContext());
    mLocalView.setZOrderMediaOverlay(true);
    mLocalContainer.addView(mLocalView);
    // Set the local video view.
    VideoCanvas localVideoCanvas = new VideoCanvas(mLocalView, VideoCanvas.RENDER_MODE_HIDDEN, 0);
    mRtcEngine.setupLocalVideo(localVideoCanvas);
}

各RENDERモードについて

RENDERモードは、2020年6月現在3種類あります。
各モードについて説明します。
※2拠点入室時のほうが各モードの差異がわかりやすいので、1拠点入室時と2拠点入室時両方の画面キャプチャを載せています。

HIDDEN

余白なく、映像を表示します。
カメラ映像と画面のアスペクト比が一致しない場合、カメラ映像の一部をトリミングして、表示します。

   

FIT

カメラで取得したアスペクト比のまま、映像を画面上に表示します。
カメラ映像と画面のアスペクト比が一致しない場合、画面上に余白 (黒い部分) ができます。

   

FILL

余白なく、映像を表示します。
カメラ映像と画面のアスペクト比が一致しない場合、映像を拡大もしくは収縮させて、画面全体に映像が表示されるようにします。

   

最後に

agora.ioに関するお問い合わせはこちらから