Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
fd99c621
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看板
提交
fd99c621
编写于
8月 01, 2022
作者:
J
jiao_yanlin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Submission of interface development guidance document of audiostreammanager module
Signed-off-by:
N
jiao_yanlin
<
jiaoyanlin@huawei.com
>
上级
de065055
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
115 addition
and
114 deletion
+115
-114
zh-cn/application-dev/media/Readme-CN.md
zh-cn/application-dev/media/Readme-CN.md
+1
-0
zh-cn/application-dev/media/audio-stream-manager.md
zh-cn/application-dev/media/audio-stream-manager.md
+114
-114
未找到文件。
zh-cn/application-dev/media/Readme-CN.md
浏览文件 @
fd99c621
...
...
@@ -5,6 +5,7 @@
-
[
音频播放开发指导
](
audio-playback.md
)
-
[
音频录制开发指导
](
audio-recorder.md
)
-
[
音频渲染开发指导
](
audio-renderer.md
)
-
[
音频流管理开发指导
](
audio-stream-manager.md
)
-
[
音频采集开发指导
](
audio-capturer.md
)
-
[
OpenSL ES播放开发指导
](
opensles-playback.md
)
-
[
OpenSL ES录音开发指导
](
opensles-capture.md
)
...
...
zh-cn/application-dev/media/audio-stream-manager.md
浏览文件 @
fd99c621
...
...
@@ -20,15 +20,15 @@ AudioStreamManager提供了音频流管理的方法。开发者可以通过本
在使用AudioStreamManager的API前,需要使用getStreamManager()创建一个AudioStreamManager实例。
```
js
var
audioStreamManager
=
audio
.
getStreamManager
();
```
```
js
var
audioStreamManager
=
audio
.
getStreamManager
();
```
2.
(可选)使用on('audioRendererChange')监听音频渲染器更改事件。
如果音频流监听应用需要在音频播放应用状态变化、设备变化、音频属性变化时获取通知,可以订阅该事件。更多事件请参考
[
API参考文档
](
../reference/apis/js-apis-audio.md
)
。
```
js
audioStreamManager
.
on
(
'
audioRendererChange
'
,
(
AudioRendererChangeInfoArray
)
=>
{
```
js
audioStreamManager
.
on
(
'
audioRendererChange
'
,
(
AudioRendererChangeInfoArray
)
=>
{
for
(
let
i
=
0
;
i
<
AudioRendererChangeInfoArray
.
length
;
i
++
)
{
AudioRendererChangeInfo
=
AudioRendererChangeInfoArray
[
i
];
console
.
info
(
'
## RendererChange on is called for
'
+
i
+
'
##
'
);
...
...
@@ -50,21 +50,21 @@ audioStreamManager.on('audioRendererChange', (AudioRendererChangeInfoArray) =>
console
.
info
(
'
ChannelMask:
'
+
i
+
'
:
'
+
AudioRendererChangeInfo
.
deviceDescriptors
[
j
].
channelMasks
);
}
}
});
```
});
```
3.
(可选)使用off('audioRendererChange')取消监听音频渲染器更改事件。
```
js
audioStreamManager
.
off
(
'
audioRendererChange
'
);
console
.
info
(
'
######### RendererChange Off is called #########
'
);
```
```
js
audioStreamManager
.
off
(
'
audioRendererChange
'
);
console
.
info
(
'
######### RendererChange Off is called #########
'
);
```
4.
(可选)使用on('audioCapturerChange')监听音频捕获器更改事件。
如果音频流监听应用需要在音频录制应用状态变化、设备变化、音频属性变化时获取通知,可以订阅该事件。更多事件请参考
[
API参考文档
](
../reference/apis/js-apis-audio.md
)
。
```
js
audioStreamManager
.
on
(
'
audioCapturerChange
'
,
(
AudioCapturerChangeInfoArray
)
=>
{
```
js
audioStreamManager
.
on
(
'
audioCapturerChange
'
,
(
AudioCapturerChangeInfoArray
)
=>
{
for
(
let
i
=
0
;
i
<
AudioCapturerChangeInfoArray
.
length
;
i
++
)
{
console
.
info
(
'
## audioCapturerChange on is called for element
'
+
i
+
'
##
'
);
console
.
info
(
'
StreamId for
'
+
i
+
'
is:
'
+
AudioCapturerChangeInfoArray
[
i
].
streamId
);
...
...
@@ -83,21 +83,21 @@ audioStreamManager.on('audioCapturerChange', (AudioCapturerChangeInfoArray) =>
console
.
info
(
'
ChannelMask:
'
+
i
+
'
:
'
+
AudioCapturerChangeInfoArray
[
i
].
deviceDescriptors
[
j
].
channelMasks
);
}
}
});
```
});
```
5.
(可选)使用off('audioCapturerChange')取消监听音频捕获器更改事件。
```
js
audioStreamManager
.
off
(
'
audioCapturerChange
'
);
console
.
info
(
'
######### CapturerChange Off is called #########
'
);
```
```
js
audioStreamManager
.
off
(
'
audioCapturerChange
'
);
console
.
info
(
'
######### CapturerChange Off is called #########
'
);
```
6.
(可选)使用getCurrentAudioRendererInfoArray()获取当前音频渲染器的信息。
该接口可获取音频流唯一ID,音频播放客户端的UID,音频状态以及音频播放器的其他信息。需注意的是若对第三方音频流监听应用未配置ohos.permission.USE_BLUETOOTH权限,则查询到的设备名称和设备地址为空字符串,若正确配置权限,则显示的实际的设备名称和设备地址信息。
```
js
await
audioStreamManager
.
getCurrentAudioRendererInfoArray
().
then
(
function
(
AudioRendererChangeInfoArray
)
{
```
js
await
audioStreamManager
.
getCurrentAudioRendererInfoArray
().
then
(
function
(
AudioRendererChangeInfoArray
)
{
console
.
info
(
'
######### Get Promise is called ##########
'
);
if
(
AudioRendererChangeInfoArray
!=
null
)
{
for
(
let
i
=
0
;
i
<
AudioRendererChangeInfoArray
.
length
;
i
++
)
{
...
...
@@ -121,16 +121,16 @@ await audioStreamManager.getCurrentAudioRendererInfoArray().then( function (Audi
}
}
}
}).
catch
((
err
)
=>
{
}).
catch
((
err
)
=>
{
console
.
log
(
'
getCurrentAudioRendererInfoArray :ERROR:
'
+
err
.
message
);
});
```
});
```
7.
(可选)使用getCurrentAudioCapturerInfoArray()获取当前音频捕获器的信息。
该接口可获取音频流唯一ID,音频录制客户端的UID,音频状态以及音频捕获器的其他信息。需注意的是若对第三方音频流监听应用未配置ohos.permission.USE_BLUETOOTH权限,则查询到的设备名称和设备地址为空字符串,若正确配置权限,则显示的实际的设备名称和设备地址信息。
```
js
await
audioStreamManager
.
getCurrentAudioCapturerInfoArray
().
then
(
function
(
AudioCapturerChangeInfoArray
)
{
```
js
await
audioStreamManager
.
getCurrentAudioCapturerInfoArray
().
then
(
function
(
AudioCapturerChangeInfoArray
)
{
console
.
info
(
'
getCurrentAudioCapturerInfoArray: **** Get Promise Called ****
'
);
if
(
AudioCapturerChangeInfoArray
!=
null
)
{
for
(
let
i
=
0
;
i
<
AudioCapturerChangeInfoArray
.
length
;
i
++
)
{
...
...
@@ -152,7 +152,7 @@ await audioStreamManager.getCurrentAudioCapturerInfoArray().then( function (Audi
}
}
}
}).
catch
((
err
)
=>
{
}).
catch
((
err
)
=>
{
console
.
log
(
'
getCurrentAudioCapturerInfoArray :ERROR:
'
+
err
.
message
);
});
```
\ No newline at end of file
});
```
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录