Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
ce1de3db
D
Docs
项目概览
OpenHarmony
/
Docs
大约 1 年 前同步成功
通知
159
Star
292
Fork
28
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Docs
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
未验证
提交
ce1de3db
编写于
7月 19, 2023
作者:
O
openharmony_ci
提交者:
Gitee
7月 19, 2023
浏览文件
操作
浏览文件
下载
差异文件
!20272 阶段一二音频需求api文档上库
Merge pull request !20272 from zvanxu/master
上级
05ca53ba
24d940f9
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
564 addition
and
0 deletion
+564
-0
zh-cn/application-dev/reference/apis/js-apis-audio.md
zh-cn/application-dev/reference/apis/js-apis-audio.md
+564
-0
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-audio.md
浏览文件 @
ce1de3db
...
...
@@ -831,6 +831,17 @@ async function createTonePlayerBefore(){
| AUDIO_SCENE_PHONE_CALL | 2 | 电话模式。
<br/>
此接口为系统接口。 |
| AUDIO_SCENE_VOICE_CHAT | 3 | 语音聊天模式。 |
## VolumeAdjustType<sup>10+</sup>
枚举,音量调节类型。
**系统能力:**
SystemCapability.Multimedia.Audio.Volume
| 名称 | 值 | 说明 |
| :--------------------- | :----- | :-------------------------------------------- |
| VOLUME_UP | 0 | 向上调节音量。 |
| VOLUME_DOWN | 1 | 向下调节音量。 |
## AudioManager
管理音频音量和音频设备。在调用AudioManager的接口前,需要先通过
[
getAudioManager
](
#audiogetaudiomanager
)
创建实例。
...
...
@@ -2972,6 +2983,284 @@ audioVolumeGroupManager.on('micStateChange', (micStateChange) => {
});
```
### isVolumeUnadjustable<sup>10+</sup>
isVolumeUnadjustable(): boolean
获取固定音量模式开关状态,打开时进入固定音量模式,此时音量固定无法被调节,使用同步方式返回结果。
**系统能力:**
SystemCapability.Multimedia.Audio.Volume
**返回值:**
| 类型 | 说明 |
| ---------------------- | ------------------------------------------------------ |
| boolean | 同步接口,返回固定音量模式开关状态,true为固定音量模式,false为非固定音量模式。 |
**示例:**
```
js
bool
volumeAdjustSwitch
=
audioVolumeGroupManager
.
isVolumeUnadjustable
();
console
.
info
(
`Whether it is volume unadjustable:
${
volumeAdjustSwitch
}
.`
);
```
### adjustVolumeByStep<sup>10+</sup>
adjustVolumeByStep(adjustType: VolumeAdjustType, callback: AsyncCallback
<
void
>
): void
调节当前最高优先级的流的音量,使音量值按步长加或减,使用callback方式异步返回结果。
**需要权限:**
ohos.permission.ACCESS_NOTIFICATION_POLICY
仅设置铃声(即volumeType为AudioVolumeType.RINGTONE)在静音和非静音状态切换时需要该权限。
**系统接口:**
该接口为系统接口
**系统能力:**
SystemCapability.Multimedia.Audio.Volume
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ----------------------------------- | ---- | -------------------------------------------------------- |
| adjustType |
[
VolumeAdjustType
](
#volumeadjusttype10
)
| 是 | 音量调节方向。 |
| callback | AsyncCallback
<
void
>
| 是 | 回调表示成功还是失败。 |
**错误码:**
以下错误码的详细介绍请参见
[
音频错误码
](
../errorcodes/errorcode-audio.md
)
。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 6800101 | Invalid parameter error |
| 6800301 | System error |
**示例:**
```
js
audioVolumeGroupManager
.
adjustVolumeByStep
(
audio
.
VolumeAdjustType
.
VOLUME_UP
,
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to adjust the volume by step.
${
err
}
`
);
return
;
}
else
{
console
.
info
(
'
Success to adjust the volume by step.
'
);
}
});
```
### adjustVolumeByStep<sup>10+</sup>
adjustVolumeByStep(adjustType: VolumeAdjustType): Promise
<
void
>
单步设置当前最高优先级的流的音量,使用Promise方式异步返回结果。
**需要权限:**
ohos.permission.ACCESS_NOTIFICATION_POLICY
仅设置铃声(即volumeType为AudioVolumeType.RINGTONE)在静音和非静音状态切换时需要该权限。
**系统接口:**
该接口为系统接口
**系统能力:**
SystemCapability.Multimedia.Audio.Volume
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ----------------------------------- | ---- | -------------------------------------------------------- |
| adjustType |
[
VolumeAdjustType
](
#volumeadjusttype10
)
| 是 | 音量调节方向。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ----------------------------- |
| Promise
<
void
>
| Promise回调表示成功还是失败。 |
**错误码:**
以下错误码的详细介绍请参见
[
音频错误码
](
../errorcodes/errorcode-audio.md
)
。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 6800101 | Invalid parameter error |
| 6800301 | System error |
**示例:**
```
js
audioVolumeGroupManager
.
adjustVolumeByStep
(
audio
.
VolumeAdjustType
.
VOLUME_UP
).
then
((
value
)
=>
{
console
.
info
(
'
Success to adjust the volume by step.
'
);
}).
catch
((
error
)
=>
{
console
.
error
(
'
Fail to adjust the volume by step.
'
);
});
```
### adjustSystemVolumeByStep<sup>10+</sup>
adjustSystemVolumeByStep(volumeType: AudioVolumeType, adjustType: VolumeAdjustType, callback: AsyncCallback
<
void
>
): void
单步设置指定流的音量,使用callback方式异步返回结果。
**需要权限:**
ohos.permission.ACCESS_NOTIFICATION_POLICY
仅设置铃声(即volumeType为AudioVolumeType.RINGTONE)在静音和非静音状态切换时需要该权限。
**系统接口:**
该接口为系统接口
**系统能力:**
SystemCapability.Multimedia.Audio.Volume
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ----------------------------------- | ---- | -------------------------------------------------------- |
| volumeType |
[
AudioVolumeType
](
#audiovolumetype
)
| 是 | 音量流类型。 |
| adjustType |
[
VolumeAdjustType
](
#volumeadjusttype10
)
| 是 | 音量调节方向。 |
| callback | AsyncCallback
<
void
>
| 是 | 回调表示成功还是失败。 |
**错误码:**
以下错误码的详细介绍请参见
[
音频错误码
](
../errorcodes/errorcode-audio.md
)
。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 6800101 | Invalid parameter error |
| 6800301 | System error |
**示例:**
```
js
audioVolumeGroupManager
.
adjustSystemVolumeByStep
(
audio
.
AudioVolumeType
.
MEDIA
,
audio
.
VolumeAdjustType
.
VOLUME_UP
,
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to adjust the system volume by step
${
err
}
`
);
}
else
{
console
.
info
(
'
Success to adjust the system volume by step.
'
);
}
});
```
### adjustSystemVolumeByStep<sup>10+</sup>
adjustSystemVolumeByStep(volumeType: AudioVolumeType, adjustType: VolumeAdjustType): Promise
<
void
>
单步设置指定流的音量,使用Promise方式异步返回结果。
**需要权限:**
ohos.permission.ACCESS_NOTIFICATION_POLICY
仅设置铃声(即volumeType为AudioVolumeType.RINGTONE)在静音和非静音状态切换时需要该权限。
**系统接口:**
该接口为系统接口
**系统能力:**
SystemCapability.Multimedia.Audio.Volume
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ----------------------------------- | ---- | -------------------------------------------------------- |
| volumeType |
[
AudioVolumeType
](
#audiovolumetype
)
| 是 | 音量流类型。 |
| adjustType |
[
VolumeAdjustType
](
#volumeadjusttype10
)
| 是 | 音量调节方向。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ----------------------------- |
| Promise
<
void
>
| Promise回调表示成功还是失败。 |
**错误码:**
以下错误码的详细介绍请参见
[
音频错误码
](
../errorcodes/errorcode-audio.md
)
。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 6800101 | Invalid parameter error |
| 6800301 | System error |
**示例:**
```
js
audioVolumeGroupManager
.
adjustSystemVolumeByStep
(
audio
.
AudioVolumeType
.
MEDIA
,
audio
.
VolumeAdjustType
.
VOLUME_UP
).
then
((
value
)
=>
{
console
.
info
(
'
Success to adjust the system volume by step.
'
);
}).
catch
((
error
)
=>
{
console
.
error
(
'
Fail to adjust the system volume by step.
'
);
});
```
### getSystemVolumeInDb<sup>10+</sup>
getSystemVolumeInDb(volumeType: AudioVolumeType, volumeLevel: number, device: DeviceType, callback: AsyncCallback
<
number
>
): void
获取音量增益dB值,使用callback方式异步返回结果。
**系统接口:**
该接口为系统接口
**系统能力:**
SystemCapability.Multimedia.Audio.Volume
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ----------------------------------- | ---- | -------------------------------------------------------- |
| volumeType |
[
AudioVolumeType
](
#audiovolumetype
)
| 是 | 音量流类型。 |
| volumeLevel | number | 是 | 音量等级。 |
| device |
[
DeviceType
](
#devicetype
)
| 是 | 设备类型。 |
| callback | AsyncCallback
<
number
>
| 是 | 回调返回对应的音量增益dB值。 |
**错误码:**
以下错误码的详细介绍请参见
[
音频错误码
](
../errorcodes/errorcode-audio.md
)
。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 6800101 | Invalid parameter error |
| 6800301 | System error |
**示例:**
```
js
audioVolumeGroupManager
.
getSystemVolumeInDb
(
audio
.
AudioVolumeType
.
MEDIA
,
3
,
audio
.
DeviceType
.
SPEAKER
,
(
err
,
dB
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to get the volume DB.
${
err
}
`
);
}
else
{
console
.
info
(
`Success to get the volume DB.
${
dB
}
`
);
}
});
```
### getSystemVolumeInDb<sup>10+</sup>
getSystemVolumeInDb(volumeType: AudioVolumeType, volumeLevel: number, device: DeviceType): Promise
<
number
>
获取音量增益dB值,使用Promise方式异步返回结果。
**系统接口:**
该接口为系统接口
**系统能力:**
SystemCapability.Multimedia.Audio.Volume
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ----------------------------------- | ---- | -------------------------------------------------------- |
| volumeType |
[
AudioVolumeType
](
#audiovolumetype
)
| 是 | 音量流类型。 |
| volumeLevel | number | 是 | 音量等级。 |
| device |
[
DeviceType
](
#devicetype
)
| 是 | 设备类型。 |
**返回值:**
| 类型 | 说明 |
| --------------------- | ---------------------------------- |
| Promise
<
number
>
| Promise回调返回对应的音量增益dB值。 |
**错误码:**
以下错误码的详细介绍请参见
[
音频错误码
](
../errorcodes/errorcode-audio.md
)
。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 6800101 | Invalid parameter error |
| 6800301 | System error |
**示例:**
```
js
audioVolumeGroupManager
.
getSystemVolumeInDb
(
audio
.
AudioVolumeType
.
MEDIA
,
3
,
audio
.
DeviceType
.
SPEAKER
).
then
((
value
)
=>
{
console
.
info
(
`Success to get the volume DB.
${
value
}
`
);
}).
catch
((
error
)
=>
{
console
.
error
(
`Fail to adjust the system volume by step.
${
error
}
`
);
});
```
## AudioStreamManager<sup>9+</sup>
管理音频流。在使用AudioStreamManager的API前,需要使用
[
getStreamManager
](
#getstreammanager9
)
获取AudioStreamManager实例。
...
...
@@ -5246,6 +5535,216 @@ audioRenderer.setVolume(0.5, (err, data)=>{
});
```
### getMinStreamVolume<sup>10+</sup>
getMinStreamVolume(callback: AsyncCallback
<
number
>
): void
获取应用基于音频流的最小音量。使用Callback回调返回。
**系统能力:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | -----------| ------ | ------------------- |
|callback |AsyncCallback
<
number
>
| 是 |Callback回调返回音频流最小音量(音量范围0-1)。|
**示例:**
```
js
audioRenderer
.
getMinStreamVolume
((
err
,
minVolume
)
=>
{
if
(
err
)
{
console
.
error
(
`getMinStreamVolume error:
${
err
}
`
);
}
else
{
console
.
info
(
`getMinStreamVolume Success!
${
minVolume
}
`
);
}
});
```
### getMinStreamVolume<sup>10+</sup>
getMinStreamVolume(): Promise
<
number
>
获取应用基于音频流的最小音量。使用Promise异步回调。
**系统能力:**
SystemCapability.Multimedia.Audio.Renderer
**返回值:**
| 类型 | 说明 |
| ------------------- | ----------------------------- |
| Promise
<
number
>
| Promise回调返回音频流最小音量(音量范围0-1)。|
**示例:**
```
js
audioRenderer
.
getMinStreamVolume
().
then
((
value
)
=>
{
console
.
info
(
`Get min stream volume Success!
${
value
}
`
);
}).
catch
((
err
)
=>
{
console
.
error
(
`Get min stream volume Fail:
${
err
}
`
);
});
```
### getMaxStreamVolume<sup>10+</sup>
getMaxStreamVolume(callback: AsyncCallback
<
number
>
): void
获取应用基于音频流的最大音量。使用Callback回调返回。
**系统能力:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | -----------| ------ | ------------------- |
|callback | AsyncCallback
<
number
>
| 是 |Callback回调返回音频流最大音量(音量范围0-1)。|
**示例:**
```
js
audioRenderer
.
getMaxStreamVolume
((
err
,
maxVolume
)
=>
{
if
(
err
)
{
console
.
error
(
`getMaxStreamVolume Fail:
${
err
}
`
);
}
else
{
console
.
info
(
`getMaxStreamVolume Success!
${
maxVolume
}
`
);
}
});
```
### getMaxStreamVolume<sup>10+</sup>
getMaxStreamVolume(): Promise
<
number
>
获取应用基于音频流的最大音量。使用Promise异步回调。
**系统能力:**
SystemCapability.Multimedia.Audio.Renderer
**返回值:**
| 类型 | 说明 |
| ------------------- | ----------------------------- |
| Promise
<
number
>
| Promise回调返回音频流最大音量(音量范围0-1)。|
**示例:**
```
js
audioRenderer
.
getMaxStreamVolume
().
then
((
value
)
=>
{
console
.
info
(
`Get max stream volume Success!
${
value
}
`
);
}).
catch
((
err
)
=>
{
console
.
error
(
`Get max stream volume Fail:
${
err
}
`
);
});
```
### getUnderflowCount<sup>10+</sup>
getUnderflowCount(callback: AsyncCallback
<
number
>
): void
获取当前播放音频流的欠载音频帧数量。使用Callback回调返回。
**系统能力:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | -----------| ------ | ------------------- |
|callback | AsyncCallback
<
number
>
| 是 |Callback回调返回音频流的欠载音频帧数量。|
**示例:**
```
js
audioRenderer
.
getUnderflowCount
((
err
,
underflowCount
)
=>
{
if
(
err
)
{
console
.
error
(
`getUnderflowCount Fail:
${
err
}
`
);
}
else
{
console
.
info
(
`getUnderflowCount Success!
${
underflowCount
}
`
);
}
});
```
### getUnderflowCount<sup>10+</sup>
getUnderflowCount(): Promise
<
number
>
获取当前播放音频流的欠载音频帧数量。使用Promise异步回调。
**系统能力:**
SystemCapability.Multimedia.Audio.Renderer
**返回值:**
| 类型 | 说明 |
| ------------------- | ----------------------------- |
| Promise
<
number
>
| Promise回调返回音频流的欠载音频帧数量。|
**示例:**
```
js
audioRenderer
.
getUnderflowCount
().
then
((
value
)
=>
{
console
.
info
(
`Get underflow count Success!
${
value
}
`
);
}).
catch
((
err
)
=>
{
console
.
error
(
`Get underflow count Fail:
${
err
}
`
);
});
```
### getCurrentOutputDevices<sup>10+</sup>
getCurrentOutputDevices(callback: AsyncCallback
<
AudioDeviceDescriptors
>
): void
获取音频流输出设备描述符。使用Callback回调返回。
**系统能力:**
SystemCapability.Multimedia.Audio.Device
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | -----------| ------ | ------------------- |
|callback | AsyncCallback
<
AudioDeviceDescriptors
>
| 是 |Callback回调返回音频流的输出设备描述符。|
**示例:**
```
js
audioRenderer
.
getCurrentOutputDevices
((
err
,
deviceInfo
)
=>
{
if
(
err
)
{
console
.
error
(
`getCurrentOutputDevices Fail:
${
err
}
`
);
}
else
{
console
.
info
(
`DeviceInfo id:
${
deviceInfo
.
id
}
`
);
console
.
info
(
`DeviceInfo type:
${
descriptor
.
deviceType
}
`
);
console
.
info
(
`DeviceInfo role:
${
descriptor
.
deviceRole
}
`
);
console
.
info
(
`DeviceInfo name:
${
descriptor
.
name
}
`
);
console
.
info
(
`DeviceInfo address:
${
descriptor
.
address
}
`
);
console
.
info
(
`DeviceInfo samplerates:
${
descriptor
.
sampleRates
[
0
]}
`
);
console
.
info
(
`DeviceInfo channelcounts:
${
descriptor
.
channelCounts
[
0
]}
`
);
console
.
info
(
`DeviceInfo channelmask:
${
descriptor
.
channelMasks
}
`
);
}
});
```
### getCurrentOutputDevices<sup>10+</sup>
getCurrentOutputDevices(): Promise
<
AudioDeviceDescriptors
>
获取音频流输出设备描述符。使用Promise异步回调。
**系统能力:**
SystemCapability.Multimedia.Audio.Device
**返回值:**
| 类型 | 说明 |
| ------------------- | ----------------------------- |
| Promise
<
AudioDeviceDescriptors
>
| Promise回调返回音频流的输出设备描述信息 |
**示例:**
```
js
audioRenderer
.
getCurrentOutputDevices
().
then
((
deviceInfo
)
=>
{
console
.
info
(
`DeviceInfo id:
${
deviceInfo
.
id
}
`
);
console
.
info
(
`DeviceInfo type:
${
descriptor
.
deviceType
}
`
);
console
.
info
(
`DeviceInfo role:
${
descriptor
.
deviceRole
}
`
);
console
.
info
(
`DeviceInfo name:
${
descriptor
.
name
}
`
);
console
.
info
(
`DeviceInfo address:
${
descriptor
.
address
}
`
);
console
.
info
(
`DeviceInfo samplerates:
${
descriptor
.
sampleRates
[
0
]}
`
);
console
.
info
(
`DeviceInfo channelcounts:
${
descriptor
.
channelCounts
[
0
]}
`
);
console
.
info
(
`DeviceInfo channelmask:
${
descriptor
.
channelMasks
}
`
);
}).
catch
((
err
)
=>
{
console
.
error
(
`Get current output devices Fail:
${
err
}
`
);
});
```
### on('audioInterrupt')<sup>9+</sup>
on(type: 'audioInterrupt', callback: Callback
\<
InterruptEvent>): void
...
...
@@ -5464,6 +5963,71 @@ audioRenderer.on('stateChange', (state) => {
});
```
### on('outputDeviceChange') <sup>10+</sup>
on(type: 'outputDeviceChange', callback: Callback<AudioDeviceDescriptors
\>
): void
订阅监听音频输出设备变化。
**系统能力:**
SystemCapability.Multimedia.Audio.Device
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| :------- | :------------------------- | :--- | :------------------------------------------ |
| type | string | 是 | 事件回调类型,支持的事件为:'outputDeviceChange'。 |
| callback | Callback
\<
[
AudioDeviceDescriptors
](
#audiodevicedescriptors
)
> | 是 | 返回监听的音频设备变化。 |
**错误码:**
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 6800101 | if input parameter value error |
**示例:**
```
js
audioRenderer
.
on
(
'
outputDeviceChange
'
,
(
deviceChangeInfo
)
=>
{
if
(
err
)
{
console
.
error
(
`Subscribes output device change event callback Fail:
${
err
}
`
);
}
else
{
console
.
info
(
`Subscribes output device change event callback Success!`
);
}
});
```
### off('outputDeviceChange') <sup>10+</sup>
off(type: 'outputDeviceChange', callback?: Callback<AudioDeviceDescriptors
\>
): void
取消订阅监听音频输出设备变化。
**系统能力:**
SystemCapability.Multimedia.Audio.Device
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| :------- | :------------------------- | :--- | :------------------------------------------ |
| type | string | 是 | 事件回调类型,支持的事件为:'outputDeviceChange'。 |
| callback | Callback
\<
[
AudioDeviceDescriptors
](
#audiodevicedescriptors
)
> | 是 | 取消监听的音频设备变化。 |
**错误码:**
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 6800101 | if input parameter value error |
**示例:**
```
js
audioRenderer
.
off
(
'
outputDeviceChange
'
,
(
deviceChangeInfo
)
=>
{
if
(
err
)
{
console
.
error
(
`Unsubscribes output device change event callback Fail:
${
err
}
`
);
}
else
{
console
.
info
(
`Unsubscribes output device change event callback Success!`
);
}
});
```
## AudioCapturer<sup>8+</sup>
提供音频采集的相关接口。在调用AudioCapturer的接口前,需要先通过
[
createAudioCapturer
](
#audiocreateaudiocapturer8
)
创建实例。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录