jancd/qiniu-developer_ShareGPT huggingface dataset:
human: 如何处理七牛云的实时音视频QNFileLogHelper

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Android >QNFileLogHelper

#  QNFileLogHelper

最近更新时间: 2023-04-21 12:41:59

日志文件辅助类，提供查询日志文件与上传日志文件功能。

> 该接口类已废弃，日志相关接口可参考
> [QNRTC.setLogConfig](https://developer.qiniu.com/rtc/8653/QNFileLogHelper/8732)
> 接口

Index

Core Methods

  * getInstance
  * getLogFiles
  * reportLogFile

Core Methods

getInstance

  * static synchronized [QNFileLogHelper](https://developer.qiniu.com/rtc/8653/QNFileLogHelper/8653/QNFileLogHelper) getInstance()
  * 获得 QNFileLogHelper 全局唯一实例，单例实现

Returns
[QNFileLogHelper](https://developer.qiniu.com/rtc/8653/QNFileLogHelper/8653/QNFileLogHelper)
全局唯一实例

getLogFiles

  * List<String> getLogFiles()
  * 获取 SDK 已保存的日志名称列表

> 可能返回为 null

Returns SDK 已保存的日志名称列表

reportLogFile

  * void reportLogFile(String logName, [LogReportCallback](https://developer.qiniu.com/rtc/8653/QNFileLogHelper/10007/LogReportCallback) callback)
  * 上报日志文件到七牛服务

Parameters

    * logName: String 

日志文件名称

    * callback: [LogReportCallback](https://developer.qiniu.com/rtc/8653/QNFileLogHelper/10007/LogReportCallback)

上传结果回调，见
[LogReportCallback](https://developer.qiniu.com/rtc/8653/QNFileLogHelper/10007/LogReportCallback)

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频LogReportCallback

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > Android >LogReportCallback

#  LogReportCallback

最近更新时间: 2022-05-12 20:09:03

日志文件上传回调的接口类，可作为上传日志功能的参数来监听上传结果，可在调用
[QNFileLogHelper.reportLogFile](https://developer.qiniu.com/rtc/api/8653/QNFileLogHelper#reportLogFile)
接口时传入。

Index

Core Methods

  * onReportSuccess
  * onReportError

Core Methods

onReportSuccess

  * void onReportSuccess(String name)
  * 当日志文件上传成功时回调

Parameters

    * name: String 

上传成功的文件名称

onReportError

  * void onReportError(String name, String errorMsg)
  * 当日志文件上传失败时回调

Parameters

    * name: String 

上传失败的文件名称

    * errorMsg: String 

上传失败的原因

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNPlayerEventInfo

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > iOS >QNPlayerEventInfo

#  QNPlayerEventInfo

最近更新时间: 2024-08-16 17:43:56

播放器事件信息

Index

Core Properties

  * message
  * errorCode

Core Properties

message

  * @property (nonatomic, strong) NSString *message;
  * 事件说明信息

errorCode

  * @property (nonatomic, assign) int errorCode;
  * 错误码

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNMediaPlayerDelegate

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > iOS >QNMediaPlayerDelegate

#  QNMediaPlayerDelegate

最近更新时间: 2024-08-16 17:43:43

QNMediaPlayerDelegate 回调代理

Index

Core Methods

  * didPlayerStateChanged
  * didPlayerEvent
  * didPlayerPositionChanged

Core Methods

didPlayerStateChanged

  * \- (void)mediaPlayer:([QNMediaPlayer](https://developer.qiniu.com/rtc/12780/qnmediaplayerdelegate/12775/QNMediaPlayer-iOS) *)player didPlayerStateChanged:([QNPlayerState](https://developer.qiniu.com/rtc/12780/qnmediaplayerdelegate/9254))state;
  * 播放器状态回调

Parameters

    * player: [QNMediaPlayer](https://developer.qiniu.com/rtc/12780/qnmediaplayerdelegate/12775/QNMediaPlayer-iOS)

播放器实例

    * state: [QNPlayerState](https://developer.qiniu.com/rtc/12780/qnmediaplayerdelegate/9254)

播放器状态

didPlayerEvent

  * \- (void)mediaPlayer:([QNMediaPlayer](https://developer.qiniu.com/rtc/12780/qnmediaplayerdelegate/12775/QNMediaPlayer-iOS) *)player didPlayerEvent:([QNPlayerEvent](https://developer.qiniu.com/rtc/12780/qnmediaplayerdelegate/9254))event eventInfo:([QNPlayerEventInfo](https://developer.qiniu.com/rtc/12780/qnmediaplayerdelegate/12779/QNPlayerEventInfo-iOS) *)info;
  * 播放器事件信息回调

Parameters

    * player: [QNMediaPlayer](https://developer.qiniu.com/rtc/12780/qnmediaplayerdelegate/12775/QNMediaPlayer-iOS)

播放器实例

    * event: [QNPlayerEvent](https://developer.qiniu.com/rtc/12780/qnmediaplayerdelegate/9254)

播放器事件

    * info: [QNPlayerEventInfo](https://developer.qiniu.com/rtc/12780/qnmediaplayerdelegate/12779/QNPlayerEventInfo-iOS)

事件信息

didPlayerPositionChanged

  * \- (void)mediaPlayer:([QNMediaPlayer](https://developer.qiniu.com/rtc/12780/qnmediaplayerdelegate/12775/QNMediaPlayer-iOS) *)player didPlayerPositionChanged:(NSUInteger)position;
  * 播放器状态回调

Parameters

    * player: [QNMediaPlayer](https://developer.qiniu.com/rtc/12780/qnmediaplayerdelegate/12775/QNMediaPlayer-iOS)

播放器实例

    * position: NSUInteger 

播放进度

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNMediaPlayer

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > iOS >QNMediaPlayer

#  QNMediaPlayer

最近更新时间: 2024-08-16 17:43:32

媒体播放器

Index

Core Properties

  * delegate

Core Methods

  * play
  * pause
  * stop
  * resume
  * seek
  * getDuration
  * getCurrentPosition
  * setLoopCount
  * getCurrentPlayerState
  * setView
  * getMediaPlayerVideoTrack
  * getMediaPlayerAudioTrack

Core Properties

delegate

  * @property (nonatomic, weak) id<[QNMediaPlayerDelegate](https://developer.qiniu.com/rtc/12775/qnmediaplayer/12780/QNMediaPlayerDelegate)> delegate;
  * 播放器代理，处理状态和事件等回调信息

Core Methods

play

  * \- (int)play:([QNMediaSource](https://developer.qiniu.com/rtc/12775/qnmediaplayer/12776/QNMediaSource))source;
  * 开始播放

接口调用后，将会触发
[QNMediaPlayerDelegate](https://developer.qiniu.com/rtc/12775/qnmediaplayer/12780/QNMediaPlayerDelegate)
中的回调

Parameters

    * source: [QNMediaSource](https://developer.qiniu.com/rtc/12775/qnmediaplayer/12776/QNMediaSource)

播放配置参数

pause

  * \- (int)pause;
  * 暂停播放

接口调用成功后，将会触发
[QNMediaPlayerDelegate.didPlayerStateChanged](https://developer.qiniu.com/rtc/12775/qnmediaplayer/undefined)
回调

stop

  * \- (int)stop;
  * 停止播放

接口调用成功后，将会触发
[QNMediaPlayerDelegate.didPlayerStateChanged](https://developer.qiniu.com/rtc/12775/qnmediaplayer/undefined)
回调

resume

  * \- (int)resume;
  * 恢复播放

接口调用成功后，将会触发
[QNMediaPlayerDelegate.didPlayerStateChanged](https://developer.qiniu.com/rtc/12775/qnmediaplayer/undefined)
回调

seek

  * \- (int)seek:(NSUInteger)positionMs
  * seek 到某一点播放

getDuration

  * \- (int)getDuration
  * 获取点播文件总时长，直播流获取返回 0。单位(ms)

getCurrentPosition

  * \- (int)getCurrentPosition
  * 获取播放进度。单位(ms)

setLoopCount

  * \- (int)setLoopCount:(NSInteger)loopCount
  * 设置循环播放次数。默认值为 1。设置 -1，表示一直循环

getCurrentPlayerState

  * \- (QNPlayerState)getCurrentPlayerState
  * 获取播放状态

setView

  * \- (void)setView:(QNVideoGLView *)videoView
  * 视频渲染视图

getMediaPlayerVideoTrack

  * \- (QNCustomVideoTrack *)getMediaPlayerVideoTrack
  * 获取需要发布到房间内的 VideoTrack，外部拿到 VideoTrack 之后，由调用方通过调用 destroy 进行释放。

getMediaPlayerAudioTrack

  * \- (QNCustomAudioTrack *)getMediaPlayerAudioTrack
  * 获取需要发布到房间内的 AudioTrack，外部拿到 AudioTrack 之后，由调用方通过调用 destroy 进行释放。

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNRTCLogConfiguration

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > iOS >QNRTCLogConfiguration

#  QNRTCLogConfiguration

最近更新时间: 2023-07-07 21:12:39

日志文件相关配置

Index

Core Properties

  * dir
  * tag
  * maxSizeInBytes
  * level

Core Methods

  * defaultConfiguration
  * initWithLogLevel

Core Properties

dir

  * @property (nonatomic, strong) NSString *dir;
  * log 文件存储路径

默认日志文件位于 App Container/Library/Caches/Pili/Logs 目录内

tag

  * @property (nonatomic, strong) NSString *tag;
  * 唯一标识，用于区分客户及用户

建议传入用户 userID 等唯一标识符；若用户未设置，则默认使用 deviceID 区分

maxSizeInBytes

  * @property (nonatomic, assign) long maxSizeInBytes;
  * 文件最大 size

默认为 3MB，传 0 则代表不需要写日志

level

  * @property (nonatomic, assign) [QNRTCLogLevel](https://developer.qiniu.com/rtc/12502/QNRTCLogConfiguration/9254) level;
  * 日志等级

Core Methods

defaultConfiguration

  * \+ (instancetype)defaultRTCLogConfig;
  * 初始化使用默认存储到 App 沙盒的 Container/Library/Caches/Pili/Logs 目录内

默认日志等级是 QNRTCLogLevelInfo，最多存储 3 个文件，默认每个文件大小的最大限制为 3MB，文件大小限制最多不可超过 10MB

Returns
[QNRTCLogConfiguration](https://developer.qiniu.com/rtc/12502/QNRTCLogConfiguration/12502/QNRTCLogConfiguration)

initWithLogLevel

  * \- (instancetype)initWithLogLevel:([QNRTCLogLevel](https://developer.qiniu.com/rtc/12502/QNRTCLogConfiguration/9254))level;
  * 初始化使用自定义日志等级，配置存储到 App 沙盒

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

Returns
[QNRTCLogConfiguration](https://developer.qiniu.com/rtc/12502/QNRTCLogConfiguration/12502/QNRTCLogConfiguration)

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNClientConfig

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > iOS >QNClientConfig

#  QNClientConfig

最近更新时间: 2022-06-30 15:07:23

用来配置 QNRTCClient 的相关信息

Index

Core Properties

  * mode
  * role

Core methods

  * defaultClientConfig
  * initWithMode[1/2]
  * initWithMode[2/2]

Core Properties

mode

  * @property (nonatomic, assign, readonly) [QNClientMode](https://developer.qiniu.com/rtc/10156/QNClientConfig-iOS/9254) mode;
  * 使用场景，默认为 [QNClientModeRTC](https://developer.qiniu.com/rtc/10156/QNClientConfig-iOS/9254)

role

  * @property (nonatomic, assign, readonly) [QNClientRole](https://developer.qiniu.com/rtc/10156/QNClientConfig-iOS/9254) role;
  * 用户角色，仅在 [QNClientMode](https://developer.qiniu.com/rtc/10156/QNClientConfig-iOS/9254) 为 [QNClientModeLive](https://developer.qiniu.com/rtc/10156/QNClientConfig-iOS/9254) 时可用

Core methods

defaultClientConfig

  * \+ (instancetype)defaultClientConfig;
  * 使用默认 [QNClientModeRTC](https://developer.qiniu.com/rtc/10156/QNClientConfig-iOS/9254)，创建 [QNClientConfig](https://developer.qiniu.com/rtc/10156/QNClientConfig-iOS/undefined) 对象

Returns [QNClientConfig](https://developer.qiniu.com/rtc/10156/QNClientConfig-
iOS/undefined)

initWithMode[1/2]

  * \- (instancetype)initWithMode:([QNClientMode](https://developer.qiniu.com/rtc/10156/QNClientConfig-iOS/9254))mode;
  * 使用用指定的 [QNClientMode](https://developer.qiniu.com/rtc/10156/QNClientConfig-iOS/9254)，创建 [QNClientConfig](https://developer.qiniu.com/rtc/10156/QNClientConfig-iOS/undefined) 对象

> 注意：调用此方法将场景设置为互动直播时，角色默认为观众

Parameters

    * mode: [QNClientMode](https://developer.qiniu.com/rtc/10156/QNClientConfig-iOS/9254)

使用场景

Returns [QNClientConfig](https://developer.qiniu.com/rtc/10156/QNClientConfig-
iOS/undefined)

initWithMode[2/2]

  * \- (instancetype)initWithMode:([QNClientMode](https://developer.qiniu.com/rtc/10156/QNClientConfig-iOS/9254))mode role:([QNClientRole](https://developer.qiniu.com/rtc/10156/QNClientConfig-iOS/9254))role;
  * 使用用指定的 [QNClientMode](https://developer.qiniu.com/rtc/10156/QNClientConfig-iOS/9254)、[QNClientRole](https://developer.qiniu.com/rtc/10156/QNClientConfig-iOS/9254)，创建 [QNClientConfig](https://developer.qiniu.com/rtc/10156/QNClientConfig-iOS/undefined) 对象

> 注意：此方法适用于将场景设置为互动直播时，指定相应角色；场景设置为互动通信时，指定角色无效。

Parameters

    * mode: [QNClientMode](https://developer.qiniu.com/rtc/10156/QNClientConfig-iOS/9254)

使用场景

    * role: [QNClientRole](https://developer.qiniu.com/rtc/10156/QNClientConfig-iOS/9254)

用户角色

Returns [QNClientConfig](https://developer.qiniu.com/rtc/10156/QNClientConfig-
iOS/undefined)

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNCDNStreamingConfig

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > iOS >QNCDNStreamingConfig

#  QNCDNStreamingConfig

最近更新时间: 2024-01-12 15:34:04

RTMP 推流的配置类

Index

Core Properties

  * publishUrl
  * audioTrack
  * videoTrack
  * enableQuic
  * reconnectCount
  * bufferingTime

Core Properties

publishUrl

  * @property (nonatomic, copy) NSString *publishUrl;
  * RTMP 推流地址

audioTrack

  * @property (nonatomic, strong) [QNLocalAudioTrack](https://developer.qiniu.com/rtc/12636/QNCDNStreamingConfig-iOS/8854/QNLocalAudioTrack-iOS) *audioTrack;
  * 推流需要的 audioTrack, 可以是 microphoneTrack 或者 customAudioTrack

videoTrack

  * @property (nonatomic, strong) [QNLocalVideoTrack](https://developer.qiniu.com/rtc/12636/QNCDNStreamingConfig-iOS/8849/QNLocalVideoTrack-iOS) *videoTrack;
  * 推流需要的 videoTrack, 可以是 cameraTrack 或者 customVideoTrack

enableQuic

  * @property (nonatomic, assign) BOOL enableQuic;
  * 是否打开 quic, 默认关闭

reconnectCount

  * @property (nonatomic, assign) uint32_t reconnectCount;
  * 重连次数，默认 3 次

bufferingTime

  * @property (nonatomic, assign) uint32_t bufferingTime;
  * 推流缓存最大时长, 单位ms, 默认 5000 ms

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNCDNStreamingClient

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > iOS >QNCDNStreamingClient

#  QNCDNStreamingClient

最近更新时间: 2024-01-12 15:33:36

RTMP 直推 CDN 核心类，包含开始推流、停止推流，获取统计信息等功能

Index

Core Properties

  * delegate

Core Methods

  * startWithConfig
  * stop

Core Properties

delegate

  * @property (nonatomic, weak) id<[QNCDNStreamingDelegate](https://developer.qiniu.com/rtc/12634/QNCDNStreamingClient-iOS/12635/QNCDNStreamingDelegate)> delegate;
  * CDN Streaming Client 的状态回调和统计信息代理

Core Methods

startWithConfig

  * \- (int)startWithConfig:([QNCDNStreamingConfig](https://developer.qiniu.com/rtc/12634/QNCDNStreamingClient-iOS/12636/QNCDNStreamingConfig-iOS))config;
  * 开始推流

接口调用成功后，将会触发
[QNCDNStreamingDelegate.didCDNStreamingConnectionStateChanged](https://developer.qiniu.com/rtc/12634/QNCDNStreamingClient-
iOS/12635) 回调

> 调用该方法之前，请确保 config 中的 video track 和 audio track 参数正确

Parameters

    * config: [QNCDNStreamingConfig](https://developer.qiniu.com/rtc/12634/QNCDNStreamingClient-iOS/12636/QNCDNStreamingConfig-iOS)

推流配置参数

stop

  * \- (int)stop;
  * 停止推流

接口调用成功后，将会触发
[QNCDNStreamingDelegate.didCDNStreamingConnectionStateChanged](https://developer.qiniu.com/rtc/12634/QNCDNStreamingClient-
iOS/12635) 回调

> 请确保在
> [QNCDNStreamingConfig](https://developer.qiniu.com/rtc/12634/QNCDNStreamingClient-
> iOS/12636/QNCDNStreamingConfig-iOS) 中的 videoTrack 和 audioTrack, 在 stop
> 之前是有效的

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNMediaRecorder

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > iOS >QNMediaRecorder

#  QNMediaRecorder

最近更新时间: 2024-06-28 16:41:41

音视频本地录制核心类，包含开始录制、停止录制，录制状态及信息回调等功能

Index

Core Properties

  * delegate

Core Methods

  * startRecording
  * stopRecording

Core Properties

delegate

  * @property (nonatomic, weak) id<[QNMediaRecorderDelegate](https://developer.qiniu.com/rtc/12685/QNMediaRecorder-iOS/12688/QNMediaRecorderDelegate-iOS)> delegate;
  * 录制信息回调代理

Core Methods

startRecording

  * \- (int)startRecording:([QNMediaRecorderConfig](https://developer.qiniu.com/rtc/12685/QNMediaRecorder-iOS/12687/QNMediaRecorderConfig-iOS) *)configuration
  * 开始录制

接口调用成功后，将会触发
[QNMediaRecorderDelegate.stateDidChanged](https://developer.qiniu.com/rtc/12685/QNMediaRecorder-
iOS/12688) 回调

> 调用该方法之前，请确保 config 中的 video track 和 audio track 参数正确

Parameters

    * config: [QNMediaRecorderConfig](https://developer.qiniu.com/rtc/12685/QNMediaRecorder-iOS/12687/QNMediaRecorderConfig-iOS)

录制配置参数

Returns int

stopRecording

  * \- (int)stopRecording;
  * 停止录制

接口调用成功后，将会触发
[QNMediaRecorderDelegate.stateDidChanged](https://developer.qiniu.com/rtc/12685/QNMediaRecorder-
iOS/12688) 回调

> 请确保在
> [QNMediaRecorderConfig](https://developer.qiniu.com/rtc/12685/QNMediaRecorder-
> iOS/12687/QNMediaRecorderConfig-iOS) 中的 videoTrack 和 audioTrack, 在 stop
> 之前是有效的

Returns int

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNTrack

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > iOS >QNTrack

#  QNTrack

最近更新时间: 2022-06-30 16:44:13

音视频 Track 基类

Hierarchy

  * QNTrack 
    * [QNLocalTrack](https://developer.qiniu.com/rtc/8851/QNTrack-iOS/8847/QNLocalTrack-iOS)
      * [QNLocalVideoTrack](https://developer.qiniu.com/rtc/8851/QNTrack-iOS/8849/QNLocalVideoTrack-iOS)
        * [QNCameraVideoTrack](https://developer.qiniu.com/rtc/8851/QNTrack-iOS/8852/QNCameraVideoTrack-iOS)
        * [QNScreenVideoTrack](https://developer.qiniu.com/rtc/8851/QNTrack-iOS/8850/QNScreenVideoTrack-iOS)
        * [QNCustomVideoTrack](https://developer.qiniu.com/rtc/8851/QNTrack-iOS/8853/QNCustomVideoTrack-iOS)
      * [QNLocalAudioTrack](https://developer.qiniu.com/rtc/8851/QNTrack-iOS/8854/QNLocalAudioTrack-iOS)
        * [QNMicrophoneAudioTrack](https://developer.qiniu.com/rtc/8851/QNTrack-iOS/8855/QNMicrophoneAudioTrack-iOS)
        * [QNCustomAudioTrack](https://developer.qiniu.com/rtc/8851/QNTrack-iOS/8856/QNCustomAudioTrack-iOS)
    * [QNRemoteTrack](https://developer.qiniu.com/rtc/8851/QNTrack-iOS/8857/QNRemoteTrack-iOS)
      * [QNRemoteVideoTrack](https://developer.qiniu.com/rtc/8851/QNTrack-iOS/8858/QNRemoteVideoTrack-iOS)
      * [QNRemoteAudioTrack](https://developer.qiniu.com/rtc/8851/QNTrack-iOS/8859/QNRemoteAudioTrack-iOS)

Index

Core Properties

  * userID
  * trackID
  * kind
  * tag
  * muted

Core Properties

userID

  * @property (nonatomic, readonly) NSString *userID;
  * 一路 Track 所属用户的唯一标识

trackID

  * @property (nonatomic, strong) NSString *trackID;
  * 一路 Track 在 Server 端的唯一标识

> 发布成功时由 SDK 自动生成，订阅/Mute 等操作依据此 trackID 来确定相应的 Track

kind

  * @property (nonatomic, readonly) [QNTrackKind](https://developer.qiniu.com/rtc/8851/QNTrack-iOS/9254) kind;
  * 标识该路 Track 是音频还是视频

tag

  * @property (nonatomic, strong) NSString *tag;
  * Track 的 tag

> 当发布多路视频 Track 时，可用 tag 来作区分

muted

  * @property (nonatomic, assign, readonly) BOOL muted;
  * 标识 Track 是否为 mute 状态

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNLocalTrack

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > iOS >QNLocalTrack

#  QNLocalTrack

最近更新时间: 2022-06-30 15:26:52

音视频本地 Track 基类

Hierarchy

  * [QNTrack](https://developer.qiniu.com/rtc/8847/QNLocalTrack-iOS/8851/QNTrack-iOS)
    * QNLocalTrack 
      * [QNLocalVideoTrack](https://developer.qiniu.com/rtc/8847/QNLocalTrack-iOS/8849/QNLocalVideoTrack-iOS)
        * [QNCameraVideoTrack](https://developer.qiniu.com/rtc/8847/QNLocalTrack-iOS/8852/QNCameraVideoTrack-iOS)
        * [QNScreenVideoTrack](https://developer.qiniu.com/rtc/8847/QNLocalTrack-iOS/8850/QNScreenVideoTrack-iOS)
        * [QNCustomVideoTrack](https://developer.qiniu.com/rtc/8847/QNLocalTrack-iOS/8853/QNCustomVideoTrack-iOS)
      * [QNLocalAudioTrack](https://developer.qiniu.com/rtc/8847/QNLocalTrack-iOS/8854/QNLocalAudioTrack-iOS)
        * [QNMicrophoneAudioTrack](https://developer.qiniu.com/rtc/8847/QNLocalTrack-iOS/8855/QNMicrophoneAudioTrack-iOS)
        * [QNCustomAudioTrack](https://developer.qiniu.com/rtc/8847/QNLocalTrack-iOS/8856/QNCustomAudioTrack-iOS)
    * [QNRemoteTrack](https://developer.qiniu.com/rtc/8847/QNLocalTrack-iOS/8857/QNRemoteTrack-iOS)
      * [QNRemoteVideoTrack](https://developer.qiniu.com/rtc/8847/QNLocalTrack-iOS/8858/QNRemoteVideoTrack-iOS)
      * [QNRemoteAudioTrack](https://developer.qiniu.com/rtc/8847/QNLocalTrack-iOS/8859/QNRemoteAudioTrack-iOS)

Index

Core Properties

  * userID
  * trackID
  * kind
  * tag
  * muted

Core Methods

  * updateMute
  * destroy

Core Properties

userID

  * @property (nonatomic, readonly) NSString *userID;
  * 一路 Track 所属用户的唯一标识

trackID

  * @property (nonatomic, strong) NSString *trackID;
  * 一路 Track 在 Server 端的唯一标识

> 发布成功时由 SDK 自动生成，订阅/Mute 等操作依据此 trackID 来确定相应的 Track

kind

  * @property (nonatomic, readonly) [QNTrackKind](https://developer.qiniu.com/rtc/8847/QNLocalTrack-iOS/9254) kind;
  * 标识该路 Track 是音频还是视频

tag

  * @property (nonatomic, strong) NSString *tag;
  * Track 的 tag

> 当发布多路视频 Track 时，可用 tag 来作区分

muted

  * @property (nonatomic, assign, readonly) BOOL muted;
  * 标识 Track 是否为 mute 状态

Core Methods

updateMute

  * \- (void)updateMute:(BOOL)mute;
  * 更新当前 Track 的 mute 值，静默后，SDK 将会发送静默帧数据

当静默状态改变后，远端用户将会收到
[QNRemoteAudioTrackDelegate.didMuteStateChanged](https://developer.qiniu.com/rtc/8847/QNLocalTrack-
iOS/11948) 或
[QNRemoteVideoTrackDelegate.didMuteStateChanged](https://developer.qiniu.com/rtc/8847/QNLocalTrack-
iOS/11947) 的回调

Parameters

    * mute: BOOL 

是否静默 Track

destroy

  * \- (void)destroy;
  * 销毁本地音/视频 Track

> 在不使用该 Track 之后，请务必调用此接口

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNCDNStreamingStats

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > iOS >QNCDNStreamingStats

#  QNCDNStreamingStats

最近更新时间: 2024-01-12 15:33:55

推流的统计数据

Index

Core Properties

  * sendVideoFps
  * videoBitrate
  * audioBitrate
  * droppedVideoFrames

Core Properties

sendVideoFps

  * @property (nonatomic, assign) uint32_t sendVideoFps;
  * 发送到 CDN 的视频 fps

videoBitrate

  * @property (nonatomic, assign) uint32_t videoBitrate;
  * 发送的视频码率，单位 kbps

audioBitrate

  * @property (nonatomic, assign) uint32_t audioBitrate;
  * 发送的音频码率，单位 kbps

droppedVideoFrames

  * @property (nonatomic, assign) uint32_t droppedVideoFrames;
  * 每秒的视频丢帧数

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNRemoteTrack

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > iOS >QNRemoteTrack

#  QNRemoteTrack

最近更新时间: 2022-06-30 15:44:34

音视频远端 Track 基类

Hierarchy

  * [QNTrack](https://developer.qiniu.com/rtc/8857/QNRemoteTrack-iOS/8851/QNTrack-iOS)
    * [QNLocalTrack](https://developer.qiniu.com/rtc/8857/QNRemoteTrack-iOS/8847/QNLocalTrack-iOS)
      * [QNLocalVideoTrack](https://developer.qiniu.com/rtc/8857/QNRemoteTrack-iOS/8849/QNLocalVideoTrack-iOS)
        * [QNCameraVideoTrack](https://developer.qiniu.com/rtc/8857/QNRemoteTrack-iOS/8852/QNCameraVideoTrack-iOS)
        * [QNScreenVideoTrack](https://developer.qiniu.com/rtc/8857/QNRemoteTrack-iOS/8850/QNScreenVideoTrack-iOS)
        * [QNCustomVideoTrack](https://developer.qiniu.com/rtc/8857/QNRemoteTrack-iOS/8853/QNCustomVideoTrack-iOS)
      * [QNLocalAudioTrack](https://developer.qiniu.com/rtc/8857/QNRemoteTrack-iOS/8854/QNLocalAudioTrack-iOS)
        * [QNMicrophoneAudioTrack](https://developer.qiniu.com/rtc/8857/QNRemoteTrack-iOS/8855/QNMicrophoneAudioTrack-iOS)
        * [QNCustomAudioTrack](https://developer.qiniu.com/rtc/8857/QNRemoteTrack-iOS/8856/QNCustomAudioTrack-iOS)
    * QNRemoteTrack 
      * [QNRemoteVideoTrack](https://developer.qiniu.com/rtc/8857/QNRemoteTrack-iOS/8858/QNRemoteVideoTrack-iOS)
      * [QNRemoteAudioTrack](https://developer.qiniu.com/rtc/8857/QNRemoteTrack-iOS/8859/QNRemoteAudioTrack-iOS)

Index

Core Properties

  * userID
  * trackID
  * kind
  * tag
  * muted
  * isSubscribed

Core Properties

userID

  * @property (nonatomic, readonly) NSString *userID;
  * 一路 Track 所属用户的唯一标识

trackID

  * @property (nonatomic, strong) NSString *trackID;
  * 一路 Track 在 Server 端的唯一标识

> 发布成功时由 SDK 自动生成，订阅/Mute 等操作依据此 trackID 来确定相应的 Track

kind

  * @property (nonatomic, readonly) [QNTrackKind](https://developer.qiniu.com/rtc/8857/QNRemoteTrack-iOS/9254) kind;
  * 标识该路 Track 是音频还是视频

tag

  * @property (nonatomic, strong) NSString *tag;
  * Track 的 tag

muted

  * @property (nonatomic, assign, readonly) BOOL muted;
  * 标识 Track 是否为 mute 状态

isSubscribed

  * @property (nonatomic, readonly)BOOL isSubscribed;
  * 是否被订阅，只读属性

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNAudioQuality

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > iOS >QNAudioQuality

#  QNAudioQuality

最近更新时间: 2022-06-30 14:51:04

Track 音频编码配置类

Index

Core Properties

  * bitrate

Core Methods

  * defaultAudioQuality
  * initWithBitrate

Core Properties

bitrate

  * @property (nonatomic, assign, readonly) NSUInteger bitrate;
  * 音频编码码率，默认 64kbps，单位 kbps

Core Methods

defaultAudioQuality

  * \+ (instancetype)defaultAudioQuality;
  * 初始化默认音频编码配置，默认码率为 64kbps

Returns [QNAudioQuality](https://developer.qiniu.com/rtc/11936/QNAudioQuality-
iOS/11936/QNAudioQuality-iOS) 实例对象

initWithBitrate

  * \- (instancetype)initWithBitrate:(NSUInteger)bitrate;
  * 初始化指定码率音频编码配置，单位 kbps

Parameters

    * bitrate: NSUInteger 

音频码率

Returns [QNAudioQuality](https://developer.qiniu.com/rtc/11936/QNAudioQuality-
iOS/11936/QNAudioQuality-iOS) 实例对象

以上内容是否对您有帮助？
human: 如何处理七牛云的实时音视频QNMediaRecordInfo

gpt: [实时音视频](https://developer.qiniu.com/rtc) > API 文档 > iOS >QNMediaRecordInfo

#  QNMediaRecordInfo

最近更新时间: 2024-06-28 16:41:34

音视频本地录制的信息

Index

Core Properties

  * filePath
  * fileSize
  * duration

Core Properties

filePath

  * @property(nonatomic, copy, readonly) NSString * _Nullable filePath;
  * 录制文件的存储路径

fileSize

  * @property(nonatomic, assign, readonly) int32_t fileSize;
  * 录制文件的大小，单位为字节

duration

  * @property(nonatomic, assign, readonly) int64_t duration;
  * 录制文件的时长，单位毫秒

以上内容是否对您有帮助？