实时音视频

  • 实时音视频 > API 文档 > Android >QNRTC

    QNRTC

    最近更新时间: 2024-06-28 17:54:49

    QNRTC 作为 SDK 的入口,提供初始化,创建本地音视频轨道,创建 QNRTCClient 对象等一系列静态方法
    Index
    Core Methods
    Core Methods
    init[1/2]
    • static void init(Context context, QNRTCEventListener listener)
    • 使用默认配置初始化 SDK

      在使用 SDK 接口前,请务必先调用该接口进行 RTC 环境的初始化

      Parameters
      • context: Context

        上下文句柄

      • listener: QNRTCEventListener

        SDK 事件回调,回调设备相关的事件等

    init[2/2]
    • static void init(Context context, QNRTCSetting setting, QNRTCEventListener listener)
    • 使用自定义配置初始化 SDK

      在使用 SDK 接口前,请务必先调用该接口进行 RTC 环境的初始化

      Parameters
    deinit
    • static void deinit()
    • 反初始化操作

      在确认不再使用 RTC SDK 后调用此接口释放其占用的资源,此后再次使用 SDK 需重新调用 init 方法

    createClient[1/2]
    createClient[2/2]
    createCDNStreamingClient
    • static QNCDNStreamingClient createCDNStreamingClient()
    • 创建 CDN 直推控制类实例

      Returns CDN 直推控制类实例
    createMicrophoneAudioTrack[1/2]
    createMicrophoneAudioTrack[2/2]
    createCustomAudioTrack[1/2]
    createCustomAudioTrack[2/2]
    createCameraVideoTrack[1/2]
    • static QNCameraVideoTrack createCameraVideoTrack()
    • 创建一个默认的摄像头视频轨道对象,默认 tag 为 "",默认视频推送参数为 640 x 480,20fps,800kbps

    createCameraVideoTrack[2/2]
    createScreenVideoTrack[1/2]
    • static QNScreenVideoTrack createScreenVideoTrack()
    • 创建一个默认的屏幕录制轨道对象,默认 tag 为 "",默认视频推送参数为 640 x 480,20fps,800kbps

    createScreenVideoTrack[2/2]
    createCustomVideoTrack[1/2]
    • static QNCustomVideoTrack createCustomVideoTrack()
    • 创建一个默认的自定义视频采集轨道对象,默认 tag 为 "",默认视频推送参数为 640 x 480,20fps,800kbps

    createCustomVideoTrack[2/2]
    createMediaRecorder
    setAudioScene
    • static void setAudioScene(QNAudioScene audioScene)
    • 切换音频场景

      音频场景包括 DEFAULT、VOICE_CHAT 和 SOUND_EQUALIZE 三种,不同场景下,设备的音量类型存在差异,其中:

      1. DEFAULT 场景会根据发布和订阅的情况自动切换音频模式,仅发布或仅订阅时,SDK 使用媒体模式;同时发布和订阅时,SDK 将自动切换到通话模式

      2. VOICE_CHAT 场景恒定使用通话模式,调节的音量类型为通话音量

      3. SOUND_EQUALIZE 场景恒定使用媒体模式,调节的音量类型为媒体音量

      4. 佩戴蓝牙耳机的场景,将恒定使用通话模式,在蓝牙通话过程中修改的音频场景将会在蓝牙连接断开后生效

      5. 佩戴有线耳机的场景,将恒定使用媒体模式,在通话过程中修改的音频场景将会在耳机拔出后生效

      Parameters
    setAudioRouteToSpeakerphone
    • static void setAudioRouteToSpeakerphone(boolean audioRouteToSpeakerphone)
    • 设置是否将音频路由切换到扬声器。

      设置生效后会触发 QNRTCEventListener.onAudioRouteChanged 回调对应的路由状态。

      默认音频路由为扬声器,可通过 QNRTCSetting.setDefaultAudioRouteToSpeakerphone 修改默认音频路由配置。

      在音频路由为扬声器且未佩戴耳机的情况下,设置 false 将会将音频路由切换到听筒。

      1. 设置为 true,音频将会通过扬声器播放

      2. 设置为 false,音频将会通过蓝牙、有线耳机、听筒等设备播放,具体路由取决于当时的设备连接情况

      3. 在 false 状态下,断开蓝牙、有线耳机等设备后,音频将通过听筒播放,若需切换为扬声器,可监听 QNRTCEventListener.onAudioRouteChanged 回调并重新设置音频路由

      Parameters
      • audioRouteToSpeakerphone: boolean

        是否将音频路由切换到扬声器

    setSpeakerphoneMuted
    • static void setSpeakerphoneMuted(boolean muted)
    • 设置是否静音扬声器,静音后将听不到远端用户的声音。默认为 false

      Parameters
      • muted: boolean

        是否静音扬声器

    setLogFileEnabled[1/2]
    • static void setLogFileEnabled(boolean isEnabled)
    • 设置是否开启本地日志保存功能,默认开启。

      日志文件优先存储在外部存储空间应用专属目录 (Context.getExternalFilesDir(null)) 中的 QNRTCLog 文件夹下,若外部存储空间不可用,则将保存在内部存储空间应用专属目录 (Context.getFilesDir()) 中的 QNRTCLog 文件夹下

      该接口已废弃,默认会进行本地日志的存储操作

      Parameters
      • isEnabled: boolean

        是否开启本地日志保存,默认为 true

    setLogFileEnabled[2/2]
    • static void setLogFileEnabled(boolean isEnabled, String pathPrefix)
    • 设置是否开启本地日志保存功能,并设置保存文件的前缀名,默认开启,且前缀为 ""。

      日志文件优先存储在外部存储空间应用专属目录 (Context.getExternalFilesDir(null)) 中的 QNRTCLog 文件夹下,若外部存储空间不可用,则将保存在内部存储空间应用专属目录 (Context.getFilesDir()) 中的 QNRTCLog 文件夹下

      该接口已废弃,默认会进行本地日志的存储操作

      Parameters
      • isEnabled: boolean

        是否开启本地日志保存,默认为 true

      • pathPrefix: String

        日志文件的前缀名,默认为 ""

    setLogFileMaxCount
    • static void setLogFileMaxCount(int maxCount)
    • 设置开启本地日志保存后,可保存文件的最大数量,默认值为 3

      该接口已废弃,SDK 最多允许保存 3 个日志文件

      Parameters
      • maxCount: int

        本地保存日志文件的最大数量

    setLogConfig
    • static void setLogConfig(QNLogConfig logConfig)
    • 设置日志文件配置,包括文件存储路径、日志等级、日志文件的大小等

      1. 默认日志存储路径为外部存储空间应用专属目录 (Context.getExternalFilesDir(null)) 中的 QNRTCLog 文件夹下,若外部存储空间不可用,则将保存在内部存储空间应用专属目录 (Context.getFilesDir()) 中的 QNRTCLog 文件夹下

      2. 默认日志等级为 INFO 级别

      3. SDK 最多存储 3 个文件,默认每个文件大小的最大限制为 3MB,文件大小限制最多不可超过 10MB

      Parameters
    uploadLog[1/2]
    uploadLog[2/2]
    • static void uploadLog({String token, {QNUploadLogResultCallback}} callback)
    • 上传本地文件至指定的七牛云存储空间

      token 需要您的业务服务器自行签算,签算规则可参考上传策略文档

      该接口需要在 QNRTC.init 之后调用

      Parameters
    createAudioMusicMixer
    • QNAudioMusicMixer createAudioMusicMixer(String musicPath, QNAudioMusicMixerListener listener)
    • 创建背景音乐混音控制器对象

      支持本地和在线文件,支持的文件格式为:aac、mp3、mp4、ogg、opus、wav、m4a、flac

      注意:

      1. 背景音乐混音仅支持同时混合一路背景音乐,若需要切换背景音乐,重新调用本接口创建 QNAudioMusicMixer 即可

      2. 建议使用本地文件进行混音,以避免网络环境差引起的混音异常

      3. 若您希望在混合背景音乐的同时添加音效,可参考音效混音相关接口(QNAudioEffectMixer)

      Parameters
      • musicPath: String

        音频文件路径,支持本地文件和在线文件

      • 混音控制器监听接口

    createAudioEffectMixer
    createAudioSourceMixer
    以上内容是否对您有帮助?
  • Qvm free helper
    Close