Class ZegoMediaSideInfo


  • public class ZegoMediaSideInfo
    extends java.lang.Object
    媒体次要信息 Copyright © 2017 Zego. All rights reserved.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void sendMediaSideInfo​(java.nio.ByteBuffer inData, int dataLen, boolean packet, int channelIndex)
      发送媒体次要信息
      void setMediaSideFlags​(boolean start, boolean onlyAudioPublish, int channelIndex)
      发送媒体次要信息开关,不支持发送 SEI 的设置。
      void setMediaSideFlags​(boolean start, boolean onlyAudioPublish, int mediaInfoType, int seiSendType, int channelIndex)
      发送媒体次要信息开关,支持发送 SEI 的设置。
      void setZegoMediaSideCallback​(IZegoMediaSideCallback callback)
      设置媒体次要信息的回调监听,以接收媒体次要信息。
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ZegoMediaSideInfo

        public ZegoMediaSideInfo()
    • Method Detail

      • setMediaSideFlags

        public void setMediaSideFlags​(boolean start,
                                      boolean onlyAudioPublish,
                                      int channelIndex)
        发送媒体次要信息开关,不支持发送 SEI 的设置。

        注意:1. 必须在调用 initSDK 接口之后、推流接口之前设置。
        2. 如果只有音频直播,必须将 onlyAudioPublish 置为 true,此时将会由音频来驱动次要信息的传输,同时忽略视频流传输。

        Parameters:
        start - 开启/关闭媒体次要信息传输,true 表示开启媒体次要信息传输,false 表示关闭媒体次要信息传输。start 为 true 时,onlyAudioPublish 参数开关才有效。
        onlyAudioPublish - 是否为纯音频直播,true 表示纯音频直播,不传输视频数据;false 表示音视频直播,传输音频和视频数据;默认为 false。
        channelIndex - 推流通道 index,请参考 ZegoConstants.PublishChannelIndex
      • setMediaSideFlags

        public void setMediaSideFlags​(boolean start,
                                      boolean onlyAudioPublish,
                                      int mediaInfoType,
                                      int seiSendType,
                                      int channelIndex)
        发送媒体次要信息开关,支持发送 SEI 的设置。

        注意:1. 必须在调用 initSDK 接口之后、推流接口之前设置。
        2. 如果只有音频直播,必须将 onlyAudioPublish 置为 true,此时将会由音频来驱动次要信息的传输,同时忽略视频流传输。

        Parameters:
        start - 开启/关闭媒体次要信息传输,true 表示开启媒体次要信息传输,false 表示关闭媒体次要信息传输。start 为 true 时,onlyAudioPublish 参数开关才有效。
        onlyAudioPublish - 是否为纯音频直播,true 表示纯音频直播,不传输视频数据;false 表示音视频直播,传输音频和视频数据;默认为 false。
        mediaInfoType - 媒体次要信息类型,请参考 ZegoConstants.MediaInfoType 定义,建议使用 ZegoConstants.MediaInfoType.SeiZegoDefined 类型。
        seiSendType - SEI 发送类型,请参考 ZegoConstants.SeiSendType 定义,此参数只对发送 SEI 时有效,当 mediaInfoType 参数为 ZegoConstants.MediaInfoType.SideInfoZegoDefined 时此参数无效,当发送 SEI 时建议使用 ZegoConstants.SeiSendType.SeiSendInVideoFrame 类型。
        channelIndex - 推流通道 index,请参考 ZegoConstants.PublishChannelIndex
      • sendMediaSideInfo

        public void sendMediaSideInfo​(java.nio.ByteBuffer inData,
                                      int dataLen,
                                      boolean packet,
                                      int channelIndex)
        发送媒体次要信息

        注意:1. 必须在推流成功之后调用。
        2. setMediaSideFlags(boolean, boolean, int, int, int) or setMediaSideFlags(boolean, boolean, int) 接口设置为音视频直播时,关闭摄像头将导致无法发送媒体次要信息。
        3. 不需要发送媒体次要信息时,可调用 setMediaSideFlags 来关闭媒体次要信息传输,第一个参数填 false 就代表关闭,关闭后即使调用 sendMediaSideInfo 也不能再发送媒体次要信息。
        4. sendMediaSideInfo 的调用频率不能超过帧率,假设推流采用默认帧率15 fps,即调用频率不能超过 1000/15=66.7 ms/次。

        Parameters:
        inData - 需要传输的音视频次要信息数据,外部输入,必须使用ByteBuffer.allocateDirect(int)创建,否则数据无法传递给 SDK,观众端收不到媒体次要信息回调。
        dataLen - 传入的 inData 总长度,不能大于 4096 Bytes。
        packet - 是否采用外部打包好的包头,填写 false。
        channelIndex - 推流通道 index,请参考 ZegoConstants.PublishChannelIndex
        See Also:
        setMediaSideFlags(boolean, boolean, int)
      • setZegoMediaSideCallback

        public void setZegoMediaSideCallback​(IZegoMediaSideCallback callback)
        设置媒体次要信息的回调监听,以接收媒体次要信息。

        注意:1. 在调用 initSDK 接口之后、拉流接口之前设置。
        2. 观众端若想在此 API 设置的回调中获取主播端发送的媒体次要信息,需要主播端已开启发送媒体次要信息开关,并调用 sendMediaSideInfo(ByteBuffer,int,boolean,int) 发送媒体次要信息。
        3. 主播端采用音视频直播驱动媒体次要信息传输时,拉流时使用 ZegoLiveRoom activateVideoPlayStream(String,boolean) 接口设置了只拉音频时,将无法接收到媒体次要信息。
        4. 当不需要接收数据时,调用 setZegoMediaSideCallback(null) 去除回调监听,避免内存泄漏。

        Parameters:
        callback - 实现了 IZegoMediaSideCallback 接口的对象实例,用于拉流时接收媒体次要信息。