human: 如何处理七牛云的实时音视频QNLocalAudioTrack

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

#  QNLocalAudioTrack

最近更新时间: 2024-01-18 16:05:23

本地音频 Track 基类

Hierarchy

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

Index

Core Properties

  * userID
  * trackID
  * kind
  * tag
  * muted
  * delegate
  * encryptDelegate

Core Methods

  * updateMute
  * destroy
  * setVolume
  * getVolumeLevel
  * setEarMonitorEnabled
  * getEarMonitorEnabled
  * setPlayingVolume
  * getPlayingVolume
  * addAudioFilter
  * removeAudioFilter

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/8854/QNLocalAudioTrack-iOS/9254) kind;
  * 标识该路 Track 是音频还是视频

tag

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

muted

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

delegate

  * @property (nonatomic, weak) id<[QNLocalAudioTrackDelegate](https://developer.qiniu.com/rtc/8854/QNLocalAudioTrack-iOS/11969/QNLocalAudioTrackDelegate)> delegate;
  * 本地音频 Track 回调代理

encryptDelegate

  * @property (nonatomic, weak) id<[QNAudioEncryptDelegate](https://developer.qiniu.com/rtc/8854/QNLocalAudioTrack-iOS/12618/qnaudioencryptdelegate)> encryptDelegate;
  * 本地音频 Track 加密回调代理

Core Methods

updateMute

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

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

Parameters

    * mute: BOOL 

是否静默 Track

destroy

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

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

setVolume

  * \- (void)setVolume:(double)volume;
  * 设置当前音频输入设备采集的音量大小

> 音量值在 0.0 ~ 1.0 之间为软件缩小；1.0 为原始音量；大于 1.0 且小于 10.0 为软件放大
>
> 在需要放大时，应从 1.x 开始设置，用最小的放大值来取得合适的播放效果，过大将会导致音频音调异常
>
> 该设置可以用于适度对采集音量做放大或者缩小

Parameters

    * volume: double 

采集音量大小，范围 0.0 ～ 10.0，默认为 1.0

getVolumeLevel

  * \- (float)getVolumeLevel;
  * 获取当前音频输入设备采集的音量大小

> 可通过定时调用该方法获取音量值的方式来判断当前用户是否在讲话
>
> 在安静的环境下，获取到 0.0x 大小的数值为预期现象，您可根据您的需求自行决定判断的阈值

Returns float

setEarMonitorEnabled

  * \- (void)setEarMonitorEnabled:(BOOL)enabled;
  * 设置耳返开关，默认为 NO

> 为达到最佳体验，建议佩戴耳机的场景下，使用该功能

Parameters

    * enabled: BOOL 

开关

getEarMonitorEnabled

  * \- (BOOL)getEarMonitorEnabled;
  * 是否开启了耳返

Returns BOOL

setPlayingVolume

  * \- (void)setPlayingVolume:(float)volume;
  * 设置混音、返听场景下，本地播放的音量大小，范围 0 ～ 1.0

Parameters

    * volume: float 

播放音量

getPlayingVolume

  * \- (float)getPlayingVolume
  * 获取播放音量

Returns float，范围 0 ～ 1.0

addAudioFilter

  * \- (BOOL)addAudioFilter:(id<QNAudioFilterProtocol>)filter
  * 增加 filter 模块。目前支持设置 QNAudioMusicMixer、QNAudioEffectMixer、QNAudioSourceMixer 等内置 Filter

Returns BOOL

removeAudioFilter

  * \- (BOOL)removeAudioFilter:(id<QNAudioFilterProtocol>)filter
  * 移除 filter 模块

Returns BOOL

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