# 音频基础功能 (/zh-CN/api-reference/rtc/harmonyos/audio/audio-basic)

> For AI agents: see the complete documentation index at [llms.txt](/llms.txt).

<a id="toc_audio_basic"></a>

<a id="api_irtcengine_adjustuserplaybacksignalvolume"></a>

<a id="ariaid-title2"></a>

## adjustUserPlaybackSignalVolume [#adjustuserplaybacksignalvolume]

调节本地播放的指定远端用户信号音量。

<a id="api_irtcengine_adjustuserplaybacksignalvolume__prototype"></a>

```ts
public abstract adjustUserPlaybackSignalVolume(uid:number,volume:number):number;
```

<a id="api_irtcengine_adjustuserplaybacksignalvolume__detailed_desc"></a>

<a id="api_irtcengine_adjustuserplaybacksignalvolume__desc"></a>

你可以在通话中调用该方法调节指定远端用户在本地播放的音量。如需调节多个用户在本地播放的音量，则需多次调用该方法。

<a id="api_irtcengine_adjustuserplaybacksignalvolume__timing"></a>

### 调用时机 [#调用时机]

该方法需要在加入频道后调用。

<a id="api_irtcengine_adjustuserplaybacksignalvolume__restriction"></a>

### 调用限制 [#调用限制]

无。

<a id="api_irtcengine_adjustuserplaybacksignalvolume__parameters"></a>

### 参数 [#参数]

<ParameterList>
<a id="uid"></a>
<Parameter name="uid">

远端用户 ID。

</Parameter>
<a id="volume"></a>
<Parameter name="volume">

音量，取值范围为 [0,400]。

- 0: 静音。
- 100: （默认）原始音量。
- 400: 原始音量的 4 倍，自带溢出保护。

</Parameter>
</ParameterList>

<a id="api_irtcengine_adjustuserplaybacksignalvolume__return_values"></a>

### 返回值 [#返回值]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

### 所属接口类 [#所属接口类]

- [RtcEngine](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengine)

<a id="api_irtcengineex_adjustuserplaybacksignalvolumeex"></a>

<a id="ariaid-title3"></a>

## adjustUserPlaybackSignalVolumeEx [#adjustuserplaybacksignalvolumeex]

调节本地播放的指定远端用户信号音量。

<a id="api_irtcengineex_adjustuserplaybacksignalvolumeex__prototype"></a>

```ts
public abstract adjustUserPlaybackSignalVolumeEx(uid:number,volume:number,connection:RtcConnection):number;
```

<a id="api_irtcengineex_adjustuserplaybacksignalvolumeex__detailed_desc"></a>

你可以在通话中调用该方法调节指定远端用户在本地播放的音量。如需调节多个用户在本地播放的音量，则需多次调用该方法。

<a id="api_irtcengineex_adjustuserplaybacksignalvolumeex__timing"></a>

### 调用时机 [#调用时机-1]

该方法需要在 [joinChannelEx](/zh-CN/api-reference/rtc/harmonyos/channel#api_irtcengineex_joinchannelex) 之后调用。

<a id="api_irtcengineex_adjustuserplaybacksignalvolumeex__restriction"></a>

### 调用限制 [#调用限制-1]

无。

<a id="api_irtcengineex_adjustuserplaybacksignalvolumeex__parameters"></a>

### 参数 [#参数-1]

<ParameterList>
<a id="uid-1"></a>
<Parameter name="uid">

远端用户 ID。

</Parameter>
<a id="volume-1"></a>
<Parameter name="volume">

音量，取值范围为 [0,400]。

- 0: 静音。
- 100: （默认）原始音量。
- 400: 原始音量的 4 倍，自带溢出保护。

</Parameter>
<a id="connection"></a>
<Parameter name="connection">

Connection 信息。详见 [RtcConnection](/zh-CN/api-reference/rtc/harmonyos/class-rtcconnection)。

</Parameter>
</ParameterList>

<a id="api_irtcengineex_adjustuserplaybacksignalvolumeex__return_values"></a>

### 返回值 [#返回值-1]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

### 所属接口类 [#所属接口类-1]

- [RtcEngineEx](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengineex)

<a id="api_irtcengine_disableaudio"></a>

<a id="ariaid-title4"></a>

## disableAudio [#disableaudio]

关闭音频模块。

<a id="api_irtcengine_disableaudio__prototype"></a>

```ts
public abstract disableAudio(): number;
```

<a id="api_irtcengine_disableaudio__detailed_desc"></a>

音频模块默认开启，你可以调用该方法关闭音频模块。

<a id="api_irtcengine_disableaudio__timing"></a>

### 调用时机 [#调用时机-2]

加入频道前后均可调用。离开频道后仍然有效。

<a id="api_irtcengine_disableaudio__restriction"></a>

### 调用限制 [#调用限制-2]

该方法重置整个引擎，响应时间较慢，因此声网建议使用如下方法来控制音频模块：

- [enableLocalAudio](/zh-CN/api-reference/rtc/harmonyos/audio/audio-capture#api_irtcengine_enablelocalaudio)：是否启动麦克风采集并创建本地音频流。
- [muteLocalAudioStream](/zh-CN/api-reference/rtc/harmonyos/publishnsubscribe#api_irtcengine_mutelocalaudiostream)：是否发布本地音频流。
- [muteRemoteAudioStream](/zh-CN/api-reference/rtc/harmonyos/publishnsubscribe#api_irtcengine_muteremoteaudiostream)：是否接收并播放远端音频流。
- [muteAllRemoteAudioStreams](/zh-CN/api-reference/rtc/harmonyos/publishnsubscribe#api_irtcengine_muteallremoteaudiostreams)：是否接收并播放所有远端音频流。

<a id="api_irtcengine_disableaudio__return_values"></a>

### 返回值 [#返回值-2]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

### 所属接口类 [#所属接口类-2]

- [RtcEngine](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengine)

<a id="api_irtcengine_enableaudio"></a>

<a id="ariaid-title5"></a>

## enableAudio [#enableaudio]

启用音频模块。

<a id="api_irtcengine_enableaudio__prototype"></a>

```ts
public abstract enableAudio(): number;
```

<a id="api_irtcengine_enableaudio__detailed_desc"></a>

<a id="api_irtcengine_enableaudio__desc"></a>

音频模块默认开启。如果你调用 [disableAudio](/zh-CN/api-reference/rtc/harmonyos/audio/audio-basic#api_irtcengine_disableaudio) 关闭了音频模块，可调用该方法重新开启。

<a id="api_irtcengine_enableaudio__timing"></a>

### 调用时机 [#调用时机-3]

加入频道前后均可调用。离开频道后仍然有效。

<a id="api_irtcengine_enableaudio__restriction"></a>

### 调用限制 [#调用限制-3]

- 调用该方法会重置整个引擎，响应时间较慢。你可以根据实际需求用以下方法来独立控制音频模块的某一项功能：

  - [enableLocalAudio](/zh-CN/api-reference/rtc/harmonyos/audio/audio-capture#api_irtcengine_enablelocalaudio): 是否启动麦克风采集并创建本地音频流。
  - [muteLocalAudioStream](/zh-CN/api-reference/rtc/harmonyos/publishnsubscribe#api_irtcengine_mutelocalaudiostream): 是否发布本地音频流。
  - [muteRemoteAudioStream](/zh-CN/api-reference/rtc/harmonyos/publishnsubscribe#api_irtcengine_muteremoteaudiostream): 是否接收并播放远端音频流。
  - [muteAllRemoteAudioStreams](/zh-CN/api-reference/rtc/harmonyos/publishnsubscribe#api_irtcengine_muteallremoteaudiostreams): 是否接收并播放所有远端音频流。
- 在频道内调用该方法时，会重置 enableLocalAudio、muteRemoteAudioStream 和 muteAllRemoteAudioStreams 的设置，需谨慎使用。

<a id="api_irtcengine_enableaudio__return_values"></a>

### 返回值 [#返回值-3]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

### 所属接口类 [#所属接口类-3]

- [RtcEngine](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengine)

<a id="api_irtcengine_enableaudiovolumeindication"></a>

<a id="ariaid-title6"></a>

## enableAudioVolumeIndication [#enableaudiovolumeindication]

启用用户音量提示。

<a id="api_irtcengine_enableaudiovolumeindication__prototype"></a>

```ts
public abstract enableAudioVolumeIndication(interval: number, smooth: number, reportVad: boolean): number;
```

<a id="api_irtcengine_enableaudiovolumeindication__detailed_desc"></a>

该方法允许 SDK 定期向 App 报告本地发流用户和瞬时音量最高的远端用户（最多 3 位）的音量相关信息。

<a id="api_irtcengine_enableaudiovolumeindication__timing"></a>

### 调用时机 [#调用时机-4]

加入频道前后均可调用。

<a id="api_irtcengine_enableaudiovolumeindication__restriction"></a>

### 调用限制 [#调用限制-4]

无。

<a id="api_irtcengine_enableaudiovolumeindication__related"></a>

### 相关回调 [#相关回调]

成功调用该方法、且频道内存在发流用户时，SDK 会按设置的时间间隔触发 [onAudioVolumeIndication](/zh-CN/api-reference/rtc/harmonyos/audio/audio-basic#callback_irtcengineeventhandler_onaudiovolumeindication) 回调。

<a id="api_irtcengine_enableaudiovolumeindication__parameters"></a>

### 参数 [#参数-2]

<ParameterList>
<a id="interval"></a>
<Parameter name="interval">

指定音量提示的时间间隔：

- ≤ 0: 禁用音量提示功能。
- &gt; 0: 返回音量提示的间隔，单位为毫秒。建议设置到大于 100 毫秒，不得小于 10 毫秒，否则会收不到 onAudioVolumeIndication 回调。

</Parameter>
<a id="smooth"></a>
<Parameter name="smooth">

平滑系数，指定音量提示的灵敏度。取值范围为 [0,10]，建议值为 3。数字越大，波动越灵敏；数字越小，波动越平滑。

</Parameter>
<a id="reportvad"></a>
<Parameter name="reportVad">

- `true`：开启本地人声检测功能。开启后，onAudioVolumeIndication 回调的 vad 参数会报告是否在本地检测到人声。
- `false`：（默认）关闭本地人声检测功能。除引擎自动进行本地人声检测的场景外，onAudioVolumeIndication 回调的 vad 参数不会报告是否在本地检测到人声。

</Parameter>
</ParameterList>

<a id="api_irtcengine_enableaudiovolumeindication__return_values"></a>

### 返回值 [#返回值-4]

- 0：方法调用成功。
- &lt; 0：方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

### 所属接口类 [#所属接口类-4]

- [RtcEngine](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengine)

<a id="api_irtcengineex_enableaudiovolumeindicationex"></a>

<a id="ariaid-title7"></a>

## enableAudioVolumeIndicationEx [#enableaudiovolumeindicationex]

启用用户音量提示。

<a id="api_irtcengineex_enableaudiovolumeindicationex__prototype"></a>

```ts
public abstract enableAudioVolumeIndicationEx(interval:number,smooth:number,reportVad:boolean,connection:RtcConnection):number;
```

<a id="api_irtcengineex_enableaudiovolumeindicationex__detailed_desc"></a>

该方法允许 SDK 定期向 App 报告本地发流用户和瞬时音量最高的远端用户（最多 3 位）的音量相关信息。

<a id="api_irtcengineex_enableaudiovolumeindicationex__timing"></a>

### 调用时机 [#调用时机-5]

该方法需要在 [joinChannelEx](/zh-CN/api-reference/rtc/harmonyos/channel#api_irtcengineex_joinchannelex) 之后调用。

<a id="api_irtcengineex_enableaudiovolumeindicationex__restriction"></a>

### 调用限制 [#调用限制-5]

无。

<a id="api_irtcengineex_enableaudiovolumeindicationex__related"></a>

### 相关回调 [#相关回调-1]

成功调用该方法、且频道内存在发流用户时，SDK 会按设置的时间间隔触发 [onAudioVolumeIndication](/zh-CN/api-reference/rtc/harmonyos/audio/audio-basic#callback_irtcengineeventhandler_onaudiovolumeindication) 回调。

<a id="api_irtcengineex_enableaudiovolumeindicationex__parameters"></a>

### 参数 [#参数-3]

<ParameterList>
<a id="interval-1"></a>
<Parameter name="interval">

指定音量提示的时间间隔：

- ≤ 0: 禁用音量提示功能。
- &gt; 0: 返回音量提示的间隔，单位为毫秒。建议设置到大于 100 毫秒，不得小于 10 毫秒，否则会收不到 onAudioVolumeIndication 回调。

</Parameter>
<a id="smooth-1"></a>
<Parameter name="smooth">

平滑系数，指定音量提示的灵敏度。取值范围为 [0,10]，建议值为 3。数字越大，波动越灵敏；数字越小，波动越平滑。

</Parameter>
<a id="reportvad-1"></a>
<Parameter name="reportVad">

- `true`：开启本地人声检测功能。开启后，onAudioVolumeIndication 回调的 vad 参数会报告是否在本地检测到人声。
- `false`：（默认）关闭本地人声检测功能。除引擎自动进行本地人声检测的场景外，onAudioVolumeIndication 回调的 vad 参数不会报告是否在本地检测到人声。

</Parameter>
<a id="connection-1"></a>
<Parameter name="connection">

Connection 信息。详见 [RtcConnection](/zh-CN/api-reference/rtc/harmonyos/class-rtcconnection)。

</Parameter>
</ParameterList>

<a id="api_irtcengineex_enableaudiovolumeindicationex__return_values"></a>

### 返回值 [#返回值-5]

- 0：方法调用成功。
- &lt; 0：方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

### 所属接口类 [#所属接口类-5]

- [RtcEngineEx](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengineex)

<a id="api_irtcengine_setaudioprofile2"></a>

<a id="ariaid-title8"></a>

## setAudioProfile [#setaudioprofile]

设置音频编码属性。

<a id="api_irtcengine_setaudioprofile2__prototype"></a>

```ts
public abstract setAudioProfile(profile: Constants.AudioProfileType): number;
```

<a id="api_irtcengine_setaudioprofile2__detailed_desc"></a>

如果你想设置音频应用场景，可以直接调用 [setAudioScenario](/zh-CN/api-reference/rtc/harmonyos/audio/audio-basic#api_irtcengine_setaudioscenario) 方法进行设置，也可以调用 [create](/zh-CN/api-reference/rtc/harmonyos/initialize#api_irtcengine_initialize) 并设置 [RtcEngineConfig](/zh-CN/api-reference/rtc/harmonyos/class-rtcengineconfig) 结构体中的 mAudioScenario。

<a id="api_irtcengine_setaudioprofile2__scenario"></a>

### 适用场景 [#适用场景]

该方法适用于各种音频场景，你可以按需选择。例如，在音乐教学等高音质需求的场景中，建议将 `profile` 设置为 `MUSIC_HIGH_QUALITY`(4)。

<a id="api_irtcengine_setaudioprofile2__timing"></a>

### 调用时机 [#调用时机-6]

该方法在加入频道前后均可调用。

<a id="api_irtcengine_setaudioprofile2__restriction"></a>

### 调用限制 [#调用限制-6]

无。

<a id="api_irtcengine_setaudioprofile2__parameters"></a>

### 参数 [#参数-4]

<ParameterList>
<a id="profile"></a>
<Parameter name="profile">

音频编码属性，包含采样率、码率、编码模式和声道数。详见 [AudioProfileType](/zh-CN/api-reference/rtc/harmonyos/enum-audioprofiletype)。

</Parameter>
</ParameterList>

<a id="api_irtcengine_setaudioprofile2__return_values"></a>

### 返回值 [#返回值-6]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

### 所属接口类 [#所属接口类-6]

- [RtcEngine](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengine)

<a id="api_irtcengine_setaudioscenario"></a>

<a id="ariaid-title9"></a>

## setAudioScenario [#setaudioscenario]

设置音频场景。

<a id="api_irtcengine_setaudioscenario__prototype"></a>

```ts
public abstract setAudioScenario(scenario: Constants.AudioScenarioType): number;
```

<a id="api_irtcengine_setaudioscenario__detailed_desc"></a>

<a id="api_irtcengine_setaudioscenario__scenario"></a>

### 适用场景 [#适用场景-1]

该方法适用于各种音频场景，你可以按需选择。例如，在音乐教学等高音质需求的场景中，建议将 scenario 设置为 `GAME_STREAMING`(3)。

<a id="api_irtcengine_setaudioscenario__timing"></a>

### 调用时机 [#调用时机-7]

该方法在加入频道前后均可调用。

<a id="api_irtcengine_setaudioscenario__restriction"></a>

### 调用限制 [#调用限制-7]

<a id="api_irtcengine_setaudioscenario__parameters"></a>

### 参数 [#参数-5]

<ParameterList>
<a id="scenario"></a>
<Parameter name="scenario">

音频场景。不同的音频场景下，设备的音量类型是不同的。
                    详见 [AudioScenarioType](/zh-CN/api-reference/rtc/harmonyos/enum-audioscenariotype)。

</Parameter>
</ParameterList>

<a id="api_irtcengine_setaudioscenario__return_values"></a>

### 返回值 [#返回值-7]

- 0: 方法调用成功。
- &lt; 0: 方法调用失败。详见[错误码](/zh-CN/api-reference/rtc/error-code)了解详情和解决建议。

### 所属接口类 [#所属接口类-7]

- [RtcEngine](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengine)

<a id="callback_irtcengineeventhandler_onaudiovolumeindication"></a>

<a id="ariaid-title10"></a>

## onAudioVolumeIndication [#onaudiovolumeindication]

用户音量提示回调。

<a id="callback_irtcengineeventhandler_onaudiovolumeindication__prototype"></a>

```ts
onAudioVolumeIndication?:( speakers:Array<AudioVolumeInfo>,  totalVolume:number) => void
```

<a id="callback_irtcengineeventhandler_onaudiovolumeindication__detailed_desc"></a>

### 详情 [#详情]

该回调默认禁用，你可以通过 [enableAudioVolumeIndication](/zh-CN/api-reference/rtc/harmonyos/audio/audio-basic#api_irtcengine_enableaudiovolumeindication) 开启。 开启后，只要频道内有发流用户，SDK 会在加入频道后按 enableAudioVolumeIndication 中设置的时间间隔触发 onAudioVolumeIndication 回调。每次会触发两个 onAudioVolumeIndication 回调，一个报告本地发流用户的音量相关信息，另一个报告瞬时音量最高的远端用户（最多 3 位）的音量相关信息。

:::caution
注意：

启用该功能后，如果有用户将自己静音（调用了 [muteLocalAudioStream](/zh-CN/api-reference/rtc/harmonyos/publishnsubscribe#api_irtcengine_mutelocalaudiostream)），SDK 会继续报告本地用户的音量提示回调。

瞬时音量最高的远端用户静音后 20 秒，远端的音量提示回调中将不再包含该用户；如果远端所有用户都将自己静音，20 秒后 SDK 停止报告远端用户的音量提示回调。
:::

<a id="callback_irtcengineeventhandler_onaudiovolumeindication__parameters"></a>

### 参数 [#参数-6]

<ParameterList>
<a id="speakers"></a>
<Parameter name="speakers">

用户音量信息，详见 [AudioVolumeInfo](/zh-CN/api-reference/rtc/harmonyos/class-audiovolumeinfo) 数组。如果 speakers 为空，则表示远端用户不发流或没有远端用户。

</Parameter>
<a id="totalvolume"></a>
<Parameter name="totalVolume">

混音后的总音量，取值范围为 [0,255]。

- 在本地用户的回调中，totalVolume 为本地发流用户的音量。
- 在远端用户的回调中，totalVolume 为瞬时音量最高的远端用户（最多 3 位）混音后的总音量。如果用户调用了 [startAudioMixing](/zh-CN/api-reference/rtc/harmonyos/play/audio-mixing#api_irtcengine_startaudiomixing2)，则 totalVolume 为音乐文件和用户声音的总音量。

</Parameter>
</ParameterList>

### 所属接口类 [#所属接口类-8]

- [IRtcEngineEventHandler](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengineeventhandler)

<a id="callback_irtcengineeventhandler_onlocalaudiostatechanged"></a>

<a id="ariaid-title11"></a>

## onLocalAudioStateChanged [#onlocalaudiostatechanged]

本地音频状态发生改变回调。

<a id="callback_irtcengineeventhandler_onlocalaudiostatechanged__prototype"></a>

```ts
onLocalAudioStateChanged?:(state:Constants.LocalAudioStreamState,error:Constants.LocalAudioStreamReason) => void
```

<a id="callback_irtcengineeventhandler_onlocalaudiostatechanged__detailed_desc"></a>

### 详情 [#详情-1]

<a id="callback_irtcengineeventhandler_onlocalaudiostatechanged__desc"></a>

本地音频的状态发生改变时（包括本地麦克风采集状态和音频编码状态），SDK 会触发该回调报告当前的本地音频状态。在本地音频出现故障时，该回调可以帮助你了解当前音频的状态以及出现故障的原因，方便你排查问题。

<a id="callback_irtcengineeventhandler_onlocalaudiostatechanged__note"></a>

:::caution
注意：
                当状态为 FAILED (3) 时， 你可以在 error 参数中查看返回的错误信息。
:::

<a id="callback_irtcengineeventhandler_onlocalaudiostatechanged__parameters"></a>

### 参数 [#参数-7]

<ParameterList>
<a id="state"></a>
<Parameter name="state">

当前的本地音频状态。详见 [LocalAudioStreamState](/zh-CN/api-reference/rtc/harmonyos/enum-localaudiostreamstate)。

</Parameter>
<a id="reason"></a>
<Parameter name="reason">

本地音频状态改变原因。详见 [LocalAudioStreamReason](/zh-CN/api-reference/rtc/harmonyos/enum-localaudiostreamreason)。

</Parameter>
</ParameterList>

### 所属接口类 [#所属接口类-9]

- [IRtcEngineEventHandler](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengineeventhandler)

<a id="callback_irtcengineeventhandler_onlocalaudiostats"></a>

<a id="ariaid-title12"></a>

## onLocalAudioStats [#onlocalaudiostats]

通话中本地音频流的统计信息回调。

<a id="callback_irtcengineeventhandler_onlocalaudiostats__prototype"></a>

```ts
onLocalAudioStats?:( stats:LocalAudioStats) =>void;
```

<a id="callback_irtcengineeventhandler_onlocalaudiostats__detailed_desc"></a>

### 详情 [#详情-2]

<a id="callback_irtcengineeventhandler_onlocalaudiostats__desc"></a>

SDK 每 2 秒触发该回调一次。

<a id="callback_irtcengineeventhandler_onlocalaudiostats__parameters"></a>

### 参数 [#参数-8]

<ParameterList>
<a id="stats"></a>
<Parameter name="stats">

本地音频统计数据。详见 [LocalAudioStats](/zh-CN/api-reference/rtc/harmonyos/class-localaudiostats)。

</Parameter>
</ParameterList>

### 所属接口类 [#所属接口类-10]

- [IRtcEngineEventHandler](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengineeventhandler)

<a id="callback_irtcengineeventhandler_onremoteaudiostatechanged"></a>

<a id="ariaid-title13"></a>

## onRemoteAudioStateChanged [#onremoteaudiostatechanged]

远端音频流状态发生改变回调。

<a id="callback_irtcengineeventhandler_onremoteaudiostatechanged__prototype"></a>

```ts
onRemoteAudioStateChanged ? : (uid:number, state: Constants.RemoteAudioStreamState, reason: Constants.RemoteAudioStreamReason, elapsed:number) => void
```

<a id="callback_irtcengineeventhandler_onremoteaudiostatechanged__detailed_desc"></a>

### 详情 [#详情-3]

<a id="callback_irtcengineeventhandler_onremoteaudiostatechanged__desc"></a>

远端用户（通信场景）或主播（直播场景）的音频状态发生改变时，SDK 会触发该回调向本地用户报告当前的远端音频流状态。

<a id="callback_irtcengineeventhandler_onremoteaudiostatechanged__note"></a>

:::caution
注意： 频道内的用户（通信场景）或主播（直播场景）人数超过 32 人时，该回调可能不准确。
:::

<a id="callback_irtcengineeventhandler_onremoteaudiostatechanged__parameters"></a>

### 参数 [#参数-9]

<ParameterList>
<a id="uid-2"></a>
<Parameter name="uid">

发生音频状态改变的远端用户 ID。

</Parameter>
<a id="state-1"></a>
<Parameter name="state">

远端音频流状态，详见 [RemoteAudioState](/zh-CN/api-reference/rtc/harmonyos/enum-remoteaudiostate)。

</Parameter>
<a id="reason-1"></a>
<Parameter name="reason">

远端音频流状态改变的具体原因，详见 [RemoteAudioStateReason](/zh-CN/api-reference/rtc/harmonyos/enum-remoteaudiostatereason)。

</Parameter>
<a id="elapsed"></a>
<Parameter name="elapsed">

从本地用户调用 joinChannelWithOptions 方法到发生本事件经历的时间，单位为毫秒。

</Parameter>
</ParameterList>

### 所属接口类 [#所属接口类-11]

- [IRtcEngineEventHandler](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengineeventhandler)

<a id="callback_irtcengineeventhandler_onremoteaudiostats"></a>

<a id="ariaid-title14"></a>

## onRemoteAudioStats [#onremoteaudiostats]

通话中远端音频流的统计信息回调。

<a id="callback_irtcengineeventhandler_onremoteaudiostats__prototype"></a>

```ts
onRemoteAudioStats?:(stats:RemoteAudioStats) => void;
```

<a id="callback_irtcengineeventhandler_onremoteaudiostats__detailed_desc"></a>

### 详情 [#详情-4]

<a id="callback_irtcengineeventhandler_onremoteaudiostats__desc"></a>

该回调针对每个发送音频流的远端用户/主播每 2 秒触发一次。如果远端有多个用户/主播发送音频流，该回调每 2 秒会被触发多次。

<a id="callback_irtcengineeventhandler_onremoteaudiostats__parameters"></a>

### 参数 [#参数-10]

<ParameterList>
<a id="stats-1"></a>
<Parameter name="stats">

接收到的远端音频统计数据，详见 [RemoteAudioStats](/zh-CN/api-reference/rtc/harmonyos/class-remoteaudiostats)。

</Parameter>
</ParameterList>

### 所属接口类 [#所属接口类-12]

- [IRtcEngineEventHandler](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengineeventhandler)

<a id="callback_irtcengineeventhandler_onusermuteaudio"></a>

<a id="ariaid-title15"></a>

## onUserMuteAudio [#onusermuteaudio]

远端用户（通信场景）/主播（直播场景）停止或恢复发送音频流回调。

<a id="callback_irtcengineeventhandler_onusermuteaudio__prototype"></a>

```ts
onUserMuteAudio?:(uid:number,muted:boolean) =>void;
```

<a id="callback_irtcengineeventhandler_onusermuteaudio__detailed_desc"></a>

### 详情 [#详情-5]

该回调是由远端用户调用 [muteLocalAudioStream](/zh-CN/api-reference/rtc/harmonyos/publishnsubscribe#api_irtcengine_mutelocalaudiostream) 方法关闭或开启音频发送触发的。

:::caution
注意： 频道内的用户（通信场景）或主播（直播场景）人数超过 32 人时，该回调可能不准确。
:::

<a id="callback_irtcengineeventhandler_onusermuteaudio__parameters"></a>

### 参数 [#参数-11]

<ParameterList>
<a id="uid-3"></a>
<Parameter name="uid">

用户 ID。

</Parameter>
<a id="muted"></a>
<Parameter name="muted">

该用户是否静音：

- `true`: 该用户已将音频静音。
- `false`: 该用户取消了音频静音。

</Parameter>
</ParameterList>

### 所属接口类 [#所属接口类-13]

- [IRtcEngineEventHandler](/zh-CN/api-reference/rtc/harmonyos/rtc-interface-class#class_irtcengineeventhandler)
