Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
6279cc91
D
Docs
项目概览
OpenHarmony
/
Docs
大约 2 年 前同步成功
通知
161
Star
293
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看板
提交
6279cc91
编写于
6月 29, 2023
作者:
W
wangzx0705
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add api docs
Signed-off-by:
N
wangzx0705
<
wangzx0705@thundersoft.com
>
上级
b49b0f3d
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
509 addition
and
0 deletion
+509
-0
zh-cn/application-dev/reference/apis/js-apis-audio.md
zh-cn/application-dev/reference/apis/js-apis-audio.md
+509
-0
未找到文件。
zh-cn/application-dev/reference/apis/js-apis-audio.md
浏览文件 @
6279cc91
...
@@ -831,6 +831,17 @@ async function createTonePlayerBefore(){
...
@@ -831,6 +831,17 @@ async function createTonePlayerBefore(){
| AUDIO_SCENE_PHONE_CALL | 2 | 电话模式。
<br/>
此接口为系统接口。 |
| AUDIO_SCENE_PHONE_CALL | 2 | 电话模式。
<br/>
此接口为系统接口。 |
| AUDIO_SCENE_VOICE_CHAT | 3 | 语音聊天模式。 |
| AUDIO_SCENE_VOICE_CHAT | 3 | 语音聊天模式。 |
## VolumeAdjustType<sup>8+</sup><a name="volumeadjusttype"></a>
枚举,音频场景。
**系统能力:**
SystemCapability.Multimedia.Audio.Volume
| 名称 | 值 | 说明 |
| :--------------------- | :----- | :-------------------------------------------- |
| VOLUME_ADJUST_TURN_UP | 0 | 单步向上调节音量。 |
| VOLUME_ADJUST_TURN_DOWN | 1 | 单步向下调节音量。 |
## AudioManager
## AudioManager
管理音频音量和音频设备。在调用AudioManager的接口前,需要先通过
[
getAudioManager
](
#audiogetaudiomanager
)
创建实例。
管理音频音量和音频设备。在调用AudioManager的接口前,需要先通过
[
getAudioManager
](
#audiogetaudiomanager
)
创建实例。
...
@@ -2972,6 +2983,229 @@ audioVolumeGroupManager.on('micStateChange', (micStateChange) => {
...
@@ -2972,6 +2983,229 @@ audioVolumeGroupManager.on('micStateChange', (micStateChange) => {
});
});
```
```
### isVolumeUnadjustable<sup>(deprecated)</sup>
isVolumeUnadjustable(): boolean
>
获取固定音量模式开关,使用同步方式返回结果。
**系统能力:**
SystemCapability.Multimedia.Audio.Volume
**返回值:**
| 类型 | 说明 |
| ---------------------- | ------------------------------------------------------ |
| boolean
>
| 同步回调返回固定音量模式开关状态,true为固定音量模式,false为非固定音量模式。 |
**示例:**
```
js
bool
switch
=
audioVolumeGroupManager
.
isVolumeUnadjustable
();
console
.
info
(
`Whether it is volume unadjustable:
${
switch
}
`
);
```
### 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
](
#volumeadjusttype
)
| 是 | 音量调节方向。 |
| callback | AsyncCallback
<
void
>
| 是 | 回调表示成功还是失败。 |
**示例:**
```
js
audioVolumeGroupManager
.
adjustVolumeByStep
(
audio
.
VolumeAdjustType
.
VOLUME_ADJUST_TURN_UP
,
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to adjust the volume by step.
${
err
}
`
);
return
;
}
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
](
#volumeadjusttype
)
| 是 | 音量调节方向。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ----------------------------- |
| Promise
<
void
>
| Promise回调表示成功还是失败。 |
**示例:**
```
js
audioVolumeGroupManager
.
adjustVolumeByStep
(
audio
.
VolumeAdjustType
.
VOLUME_ADJUST_TURN_UP
).
then
(()
=>
{
console
.
info
(
'
Success to adjust the volume by step.
'
);
}).
catch
((
error
)
=>
{
console
.
info
(
'
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
](
#volumeadjusttype
)
| 是 | 音量调节方向。 |
| callback | AsyncCallback
<
void
>
| 是 | 回调表示成功还是失败。 |
**示例:**
```
js
audioVolumeGroupManager
.
adjustSystemVolumeByStep
(
audio
.
AudioVolumeType
.
MEDIA
,
audio
.
VolumeAdjustType
.
VOLUME_ADJUST_TURN_UP
,
(
err
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to adjust the system volume by step.
${
err
}
`
);
return
;
}
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
](
#volumeadjusttype
)
| 是 | 音量调节方向。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ----------------------------- |
| Promise
<
void
>
| Promise回调表示成功还是失败。 |
**示例:**
```
js
audioVolumeGroupManager
.
adjustSystemVolumeByStep
(
audio
.
AudioVolumeType
.
MEDIA
,
audio
.
VolumeAdjustType
.
VOLUME_ADJUST_TURN_UP
).
then
(()
=>
{
console
.
info
(
'
Success to adjust the system volume by step.
'
);
}).
catch
((
error
)
=>
{
console
.
info
(
'
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 | volumeLevel | 是 | 音量等级。 |
| device |
[
DeviceType
](
#devicetype
)
| 是 | 设备类型。 |
| callback | AsyncCallback
<
number
>
| 是 | 回调返回对应的音量增益DB值。 |
**示例:**
```
js
audioVolumeGroupManager
.
getSystemVolumeInDb
(
audio
.
AudioVolumeType
.
MEDIA
,
3
,
audio
.
DeviceType
.
SPEAKER
,
(
err
,
dB
)
=>
{
if
(
err
)
{
console
.
error
(
`Failed to get the volume DB.
${
err
}
`
);
return
;
}
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值。 |
**示例:**
```
js
audioVolumeGroupManager
.
getSystemVolumeInDb
(
audio
.
AudioVolumeType
.
MEDIA
,
3
,
audio
.
DeviceType
.
SPEAKER
).
then
((
dB
)
=>
{
console
.
info
(
`Success to get the volume DB.
${
dB
}
`
);
}).
catch
((
error
)
=>
{
console
.
info
(
`Fail to adjust the system volume by step.
${
error
}
`
);
});
```
## AudioStreamManager<sup>9+</sup>
## AudioStreamManager<sup>9+</sup>
管理音频流。在使用AudioStreamManager的API前,需要使用
[
getStreamManager
](
#getstreammanager9
)
获取AudioStreamManager实例。
管理音频流。在使用AudioStreamManager的API前,需要使用
[
getStreamManager
](
#getstreammanager9
)
获取AudioStreamManager实例。
...
@@ -5243,6 +5477,212 @@ audioRenderer.setVolume(0.5, (err, data)=>{
...
@@ -5243,6 +5477,212 @@ audioRenderer.setVolume(0.5, (err, data)=>{
});
});
```
```
### getMinStreamVolume<sup>10+</sup>
getMinStreamVolume(callback: AsyncCallback
<
number
>
): void
获取应用基于音频流的最小音量。使用Callback回调返回。
**系统能力:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | -----------| ------ | ------------------- |
|callback |AsyncCallback
<
number
>
| 是 |Callback回调返回音频流的最小音量。|
**示例:**
```
js
audioRenderer
.
getMinStreamVolume
((
err
,
minVolume
)
=>
{
if
(
err
){
console
.
error
(
`Get min stream volume Fail:
${
err
}
`
);
}
console
.
info
(
`Get min stream volume Success!
${
minVolume
}
`
);
});
```
### getMinStreamVolume<sup>10+</sup>
getMinStreamVolume(): Promise
<
number
>
获取应用基于音频流的最小音量。使用Promise异步回调。
**系统能力:**
SystemCapability.Multimedia.Audio.Renderer
**返回值:**
| 类型 | 说明 |
| ------------------- | ----------------------------- |
| Promise
<
number
>
| Promise回调返回音频流的最小音量。|
**示例:**
```
js
audioRenderer
.
getMinStreamVolume
().
then
(
minVolume
=>
{
console
.
info
(
`Get min stream volume Success!
${
minVolume
}
`
);
}).
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回调返回音频流的最大音量。|
**示例:**
```
js
audioRenderer
.
getMaxStreamVolume
((
err
,
maxVolume
)
=>
{
if
(
err
){
console
.
error
(
`Get max stream volume Fail:
${
err
}
`
);
}
console
.
info
(
`Get max stream volume Success!
${
maxVolume
}
`
);
});
```
### getMaxStreamVolume<sup>10+</sup>
getMaxStreamVolume(): Promise
<
number
>
获取应用基于音频流的最大音量。使用Promise异步回调。
**系统能力:**
SystemCapability.Multimedia.Audio.Renderer
**返回值:**
| 类型 | 说明 |
| ------------------- | ----------------------------- |
| Promise
<
number
>
| Promise回调返回音频流的最大音量。|
**示例:**
```
js
audioRenderer
.
getMaxStreamVolume
().
then
(
maxVolume
=>
{
console
.
info
(
`Get max stream volume Success!
${
maxVolume
}
`
);
}).
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
(
`Get underflow count Fail:
${
err
}
`
);
}
console
.
info
(
`Get underflow count Success!
${
underflowCount
}
`
);
});
```
### getUnderflowCount<sup>10+</sup>
getUnderflowCount(): Promise
<
number
>
获取当前播放音频流的欠载音频帧数量。使用Promise异步回调。
**系统能力:**
SystemCapability.Multimedia.Audio.Renderer
**返回值:**
| 类型 | 说明 |
| ------------------- | ----------------------------- |
| Promise
<
number
>
| Promise回调返回音频流的欠载音频帧数量。|
**示例:**
```
js
audioRenderer
.
getUnderflowCount
().
then
(
underflowCount
=>
{
console
.
info
(
`Get underflow count Success!
${
underflowCount
}
`
);
}).
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
(
`Get underflow count Fail:
${
err
}
`
);
}
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
<
number
>
| 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('audioInterrupt')<sup>9+</sup>
on(type: 'audioInterrupt', callback: Callback
\<
InterruptEvent>): void
on(type: 'audioInterrupt', callback: Callback
\<
InterruptEvent>): void
...
@@ -5461,6 +5901,75 @@ audioRenderer.on('stateChange', (state) => {
...
@@ -5461,6 +5901,75 @@ 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
](
#AudioDeviceDescriptor
)
> | 是 | 返回监听的音频设备变化。 |
**错误码:**
以下错误码的详细介绍请参见
[
音频错误码
](
../errorcodes/errorcode-audio.md
)
。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 401 | if input parameter type or number mismatch |
| 6800101 | if input parameter value error |
**示例:**
```
js
audioRenderer
.
on
(
'
outputDeviceChange
'
,
(
deviceChangeInfo
)
=>
{
if
(
err
){
console
.
error
(
`Subscribes output device change event callback Fail:
${
err
}
`
);
}
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
](
#AudioDeviceDescriptor
)
> | 是 | 取消监听的音频设备变化。 |
**错误码:**
以下错误码的详细介绍请参见
[
音频错误码
](
../errorcodes/errorcode-audio.md
)
。
| 错误码ID | 错误信息 |
| ------- | --------------------------------------------|
| 401 | if input parameter type or number mismatch |
| 6800101 | if input parameter value error |
**示例:**
```
js
audioRenderer
.
off
(
'
outputDeviceChange
'
,
(
deviceChangeInfo
)
=>
{
if
(
err
){
console
.
error
(
`Unsubscribes output device change event callback Fail:
${
err
}
`
);
}
console
.
info
(
`Unsubscribes output device change event callback Success!`
);
});
```
## AudioCapturer<sup>8+</sup>
## AudioCapturer<sup>8+</sup>
提供音频采集的相关接口。在调用AudioCapturer的接口前,需要先通过
[
createAudioCapturer
](
#audiocreateaudiocapturer8
)
创建实例。
提供音频采集的相关接口。在调用AudioCapturer的接口前,需要先通过
[
createAudioCapturer
](
#audiocreateaudiocapturer8
)
创建实例。
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录