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

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

#  QNMicrophoneAudioTrack

最近更新时间: 2023-11-30 15:14:19

本地音频麦克风 Track 类，可通过
[QNRTC.createMicrophoneAudioTrack](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/8732)
方式创建该 Track 对象

Hierarchy

  * [QNTrack](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/8693/QNTrack)
    * [QNLocalTrack](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/8662/QNLocalTrack)
      * [QNLocalVideoTrack](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/8663/QNLocalVideoTrack)
        * [QNCameraVideoTrack](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/8640/QNCameraVideoTrack)
        * [QNScreenVideoTrack](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/8687/QNScreenVideoTrack)
        * [QNCustomVideoTrack](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/8649/QNCustomVideoTrack)
      * [QNLocalAudioTrack](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/8660/QNLocalAudioTrack)
        * QNMicrophoneAudioTrack 
        * [QNCustomAudioTrack](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/8646/QNCustomAudioTrack)
    * [QNRemoteTrack](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/8676/QNRemoteTrack)
      * [QNRemoteVideoTrack](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/8680/QNRemoteVideoTrack)
      * [QNRemoteAudioTrack](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/8674/QNRemoteAudioTrack)

Index

Core Methods

  * getTrackID
  * getUserID
  * getTag
  * isAudio
  * isVideo
  * isMuted
  * setMuted
  * destroy
  * setAudioFrameListener
  * setMicrophoneEventListener
  * setVolume
  * getVolumeLevel
  * setEarMonitorEnabled
  * isEarMonitorEnabled
  * setPlayingVolume
  * getPlayingVolume
  * addAudioFilter
  * removeAudioFilter
  * startRecording
  * stopRecording

Core Methods

getTrackID

  * String getTrackID()
  * 获取 TrackID，仅当发布成功后，才可以获取到有效的 TrackID

Returns String

getUserID

  * String getUserID()
  * 获取 UserID

Returns String

getTag

  * String getTag()
  * 获取 Tag

Returns String

isAudio

  * boolean isAudio()
  * 是否为音频 Track

Returns boolean

isVideo

  * boolean isVideo()
  * 是否为视频 Track

Returns boolean

isMuted

  * boolean isMuted()
  * 该 Track 是否处于静默状态

Returns boolean

setMuted

  * void setMuted(boolean muted)
  * 设置是否静默该 track，静默后，SDK 将会发送静默帧数据

当静默状态改变后，远端用户将会收到
[QNTrackInfoChangedListener.onMuteStateChanged](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/8820)
的回调

Parameters

    * muted: boolean 

是否静默

destroy

  * void destroy()
  * 销毁本地创建的 Track

setAudioFrameListener

  * void setAudioFrameListener([QNAudioFrameListener](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/8630/QNAudioFrameListener) listener)
  * 设置音频数据监听

Parameters

    * listener: [QNAudioFrameListener](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/8630/QNAudioFrameListener)

音频数据监听接口

setMicrophoneEventListener

  * void setMicrophoneEventListener([QNMicrophoneEventListener](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/10381/QNMicrophoneEventListener) listener)
  * 设置麦克风事件监听，可用于监听麦克风启动和采集过程中的错误信息

Parameters

    * listener: [QNMicrophoneEventListener](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/10381/QNMicrophoneEventListener)

麦克风事件监听接口

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 采集音频音量大小

setEarMonitorEnabled

  * void setEarMonitorEnabled(boolean enabled)
  * 开启、关闭返听

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

Parameters

    * enabled: boolean 

是否开启返听

isEarMonitorEnabled

  * boolean isEarMonitorEnabled()
  * 获取当前是否开启、关闭返听

Returns 返听开启状态

setPlayingVolume

  * void setPlayingVolume(float playingVolume)
  * 设置混音、返听场景下，本地播放的音量大小

Parameters

    * playingVolume: float 

音量，[0.0f - 1.0f]，默认值为 1.0f

getPlayingVolume

  * float getPlayingVolume()
  * 获取混音、返听场景下，本地播放的音量大小

Returns 混音、返听场景下，本地播放的音量大小

addAudioFilter

  * boolean addAudioFilter(QNAudioFilter filter)
  * 设置音频处理器

>
> 可通过该接口添加音乐混音控制器([QNAudioMusicMixer](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/11921/QNAudioMusicMixer))、音效混音控制器([QNAudioEffectMixer](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/11923/QNAudioEffectMixer))和音源混音控制器([QNAudioSourceMixer](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/12212/QNAudioSourceMixer))

Parameters

    * filter: QNAudioFilter 

音频处理器

Returns 添加成功返回 true，失败返回 false

removeAudioFilter

  * boolean removeAudioFilter(QNAudioFilter filter)
  * 移除音频处理器

>
> 可通过该接口移除音乐混音控制器([QNAudioMusicMixer](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/11921/QNAudioMusicMixer))、音效混音控制器([QNAudioEffectMixer](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/11923/QNAudioEffectMixer))和音源混音控制器([QNAudioSourceMixer](https://developer.qiniu.com/rtc/8667/QNMicrophoneAudioTrack/12212/QNAudioSourceMixer))

Parameters

    * filter: QNAudioFilter 

音频处理器

Returns 移除成功返回 true，失败返回 false

startRecording

  * boolean startRecording()
  * 开启麦克风采集

> 1\. 默认创建 track 不会触发麦克风采集的开启，如需在发布前开始采集，需要主动调用本接口
>
> 2\. 发布默认会开启麦克风的采集

Returns 开启采集成功返回 true，失败返回 false

stopRecording

  * boolean stopRecording()
  * 停止麦克风采集

> 取消发布默认会关闭麦克风的采集

Returns 停止采集成功返回 true，失败返回 false

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