Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
5bfce928
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看板
提交
5bfce928
编写于
6月 09, 2022
作者:
Z
zhujie81
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add setInterruptMode interface of docs
Signed-off-by:
N
zhujie81
<
zhujie81@huawei.com
>
上级
4237d598
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
91 addition
and
0 deletion
+91
-0
zh-cn/application-dev/media/audio-interruptmode.md
zh-cn/application-dev/media/audio-interruptmode.md
+54
-0
zh-cn/application-dev/reference/apis/js-apis-audio.md
zh-cn/application-dev/reference/apis/js-apis-audio.md
+37
-0
未找到文件。
zh-cn/application-dev/media/audio-interruptmode.md
0 → 100644
浏览文件 @
5bfce928
# 音频焦点模式开发指导
## 场景介绍
音频应用可以在AudioRenderer下设置独立焦点模式、共享焦点模式。
<br>
当设置在共享的模式下,多个音频可以进行同时共存播放;独立焦点模式下,仅支持一个音频;
### 异步操作
为保证UI线程不被阻塞,大部分AudioRenderer调用都是异步的。对于每个API均提供了callback函数和Promise函数,以下示例均采用Promise函数。
## 开发步骤
详细API含义可参考:
[
音频管理API文档AudioRenderer
](
../reference/apis/js-apis-audio.md#audiorenderer8
)
1.
使用createAudioRenderer()创建一个AudioRenderer实例。
<br>
在audioCapturerOptions中设置相关参数。
<br>
该实例可用于音频渲染、控制和获取采集状态,以及注册通知回调。
<br>
```
js
var
audioStreamInfo
=
{
samplingRate
:
audio
.
AudioSamplingRate
.
SAMPLE_RATE_44100
,
channels
:
audio
.
AudioChannel
.
CHANNEL_1
,
sampleFormat
:
audio
.
AudioSampleFormat
.
SAMPLE_FORMAT_S16LE
,
encodingType
:
audio
.
AudioEncodingType
.
ENCODING_TYPE_RAW
}
var
audioRendererInfo
=
{
content
:
audio
.
ContentType
.
CONTENT_TYPE_SPEECH
,
usage
:
audio
.
StreamUsage
.
STREAM_USAGE_VOICE_COMMUNICATION
,
rendererFlags
:
1
}
var
audioRendererOptions
=
{
streamInfo
:
audioStreamInfo
,
rendererInfo
:
audioRendererInfo
}
let
audioRenderer
=
await
audio
.
createAudioRenderer
(
audioRendererOptions
);
```
2.
调用。
启动完成后,可以进行焦点模式调用。
<br>
```
js
var
mode_
=
audio
.
InterruptMode
.
SHARE_MODE
;
await
this
.
audioRenderer
.
setInterruptMode
(
mode_
).
then
((
value
)
=>
{
console
.
log
(
'
[JSAR] [audioRenderer.SetInterruptMode] value :
'
+
value
);
console
.
log
(
'
[JSAR] [SetInterruptMode] 设置:
'
+
(
mode
==
0
?
"
共享模式
"
:
"
独立焦点模式
"
)
+
"
成功
"
);
});
```
zh-cn/application-dev/reference/apis/js-apis-audio.md
浏览文件 @
5bfce928
...
...
@@ -246,6 +246,17 @@ audio.createAudioRenderer(audioCapturerOptions).then((data) => {
| VOICE_ASSISTANT
<sup>
8+
</sup>
| 9 | 语音助手。 |
## InterruptMode
枚举,焦点模型类型。
**系统能力:**
以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.InterruptMode
| 名称 | 默认值 | 描述 |
| ---------------------------- | ------ | ---------- |
| SHARE_MODE
<sup>
8+
</sup>
| 0 | 共享焦点模式。 |
| INDEPENDENT_MODE
<sup>
8+
</sup>
| 1 | 独立焦点模式。 |
## DeviceFlag
枚举,可获取的设备种类。
...
...
@@ -2477,7 +2488,33 @@ audioRenderer.getRenderRate().then((renderRate) => {
console.log('ERROR: '+err.message);
});
```
### setInterruptMode<sup>9+</sup>
setInterruptMode(interruptType: InterruptType): Promise
<
void
>
设置指定流的音量,使用Promise方式异步返回结果。
**系统能力:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ----------------------------------- | ---- | -------------------------------------------------------- |
| interruptType |
[
InterruptType
](
#InterruptMode
)
| 是 | 焦点模型类型。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ----------------------------- |
| Promise
<
void
>
| Promise回调表示成功还是失败。 |
**示例:**
```
audioManager.setInterruptMode(audio.InterruptType.SHARE_MODE).then(() => {
console.log('Promise returned to indicate a successful volume setting.');
});
```
### on('interrupt')<sup>9+</sup>
on(type: 'interrupt', callback: Callback
\<
InterruptEvent>): void
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录