Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
86e6d468
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看板
未验证
提交
86e6d468
编写于
6月 15, 2022
作者:
O
openharmony_ci
提交者:
Gitee
6月 15, 2022
浏览文件
操作
浏览文件
下载
差异文件
!5193 媒体Audio新增API接口文档
Merge pull request !5193 from zhujie/master
上级
611f0833
810c28ab
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
114 addition
and
0 deletion
+114
-0
zh-cn/application-dev/media/audio-interruptmode.md
zh-cn/application-dev/media/audio-interruptmode.md
+55
-0
zh-cn/application-dev/reference/apis/js-apis-audio.md
zh-cn/application-dev/reference/apis/js-apis-audio.md
+59
-0
未找到文件。
zh-cn/application-dev/media/audio-interruptmode.md
0 → 100644
浏览文件 @
86e6d468
# 音频焦点模式开发指导
## 场景介绍
音频焦点模式指的是应用内,允许对多个声音的播放进行控制
<br>
音频应用可以在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
import
audio
from
'
@ohos.multimedia.audio
'
;
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
(()
=>
{
console
.
log
(
'
[JSAR] [SetInterruptMode] 设置:
'
+
(
mode
==
0
?
"
共享模式
"
:
"
独立焦点模式
"
)
+
"
成功
"
);
});
```
zh-cn/application-dev/reference/apis/js-apis-audio.md
浏览文件 @
86e6d468
...
...
@@ -246,6 +246,17 @@ audio.createAudioCapturer(audioCapturerOptions).then((data) => {
| VOICE_ASSISTANT
<sup>
8+
</sup>
| 9 | 语音助手。 |
## InterruptMode<sup>9+</sup>
枚举,焦点模型。
**系统能力:**
SystemCapability.Multimedia.Audio.InterruptMode
| 名称 | 默认值 | 描述 |
| ---------------------------- | ------ | ---------- |
| SHARE_MODE | 0 | 共享焦点模式。 |
| INDEPENDENT_MODE| 1 | 独立焦点模式。 |
## DeviceFlag
枚举,可获取的设备种类。
...
...
@@ -2477,7 +2488,55 @@ audioRenderer.getRenderRate().then((renderRate) => {
console.log('ERROR: '+err.message);
});
```
### setInterruptMode<sup>9+</sup>
setInterruptMode(interruptMode: InterruptMode): Promise
<
void
>
设置应用的焦点模型。使用Promise异步回调。
**系统能力:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ----------------------------------- | ---- | -------------------------------------------------------- |
| interruptMode |
[
InterruptMode
](
#InterruptMode
)
| 是 | 焦点模型。 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ----------------------------- |
| Promise
<
void
>
| 以Promise对象返回结果,设置成功时返回undefined,否则返回error。 |
**示例:**
```
audioManager.setInterruptMode(audio.InterruptType.SHARE_MODE).then(() => {
console.log('Promise returned to indicate a successful volume setting.');
});
```
### setInterruptMode<sup>9+</sup>
setInterruptMode(interruptMode: InterruptMode, callback: Callback
\<
void>): void
设置应用的焦点模型。使用Callback回调返回执行结果。
**系统能力:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ----------------------------------- | ---- | -------------------------------------------------------- |
|interruptMode |
[
InterruptMode
](
#InterruptMode
)
| 是 | 焦点模型。|
|callback | Callback
\<
void> | 是 |回调返回执行结果。|
**示例:**
```
audioManager.setInterruptMode(audio.InterruptType.SHARE_MODE,()=>{
console.log('Callback 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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录