Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Docs
提交
a8d895e0
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看板
提交
a8d895e0
编写于
7月 26, 2022
作者:
J
jiao_yanlin
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update for device Descriptors ,focus type and Sample format
Signed-off-by:
N
jiao_yanlin
<
jiaoyanlin@huawei.com
>
上级
07e2b721
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
256 addition
and
179 deletion
+256
-179
zh-cn/application-dev/media/stream-manager.md
zh-cn/application-dev/media/stream-manager.md
+0
-41
zh-cn/application-dev/reference/apis/js-apis-audio.md
zh-cn/application-dev/reference/apis/js-apis-audio.md
+256
-138
未找到文件。
zh-cn/application-dev/media/stream-manager.md
已删除
100644 → 0
浏览文件 @
07e2b721
## 开发指导
1.
获取流管理器。
const audioStreamManager = audio.getStreamManager();
2.
获取当前音频渲染器流信息。
```
audioStreamManager.getCurrentAudioRendererInfoArray(async (err, AudioRendererChangeInfoArray) => {
console.info('[GET_RENDERER_STATE_1_CALLBACK] **** Get Callback Called ****');
if (err) {
console.log('getCurrentAudioRendererInfoArray :ERROR: '+err.message);
resultFlag = false;
}
else {
if (AudioRendererChangeInfoArray !=null) {
for (let i=0;i<AudioRendererChangeInfoArray.length;i++) {
AudioRendererChangeInfo = AudioRendererChangeInfoArray[i];
console.info('StreamId for '+i+' is:'+AudioRendererChangeInfo.streamId);
console.info('ClientUid for '+i+' is:'+AudioRendererChangeInfo.clientUid);
console.info('Content '+i+' is:'+AudioRendererChangeInfo.rendererInfo.content);
console.info('Stream'+i+' is:'+AudioRendererChangeInfo.rendererInfo.usage);
console.info('Flag'+i+' is:'+AudioRendererChangeInfo.rendererInfo.rendererFlags);
console.info('State for '+i+' is:'+AudioRendererChangeInfo.rendererState);
var devDescriptor = AudioRendererChangeInfo.deviceDescriptors;
for (let j=0;j<AudioRendererChangeInfo.deviceDescriptors.length; j++) {
console.info('Id:'+i+':'+AudioRendererChangeInfo.deviceDescriptors[j].id);
console.info('Type:'+i+':'+AudioRendererChangeInfo.deviceDescriptors[j].deviceType);
console.info('Role:'+i+':'+AudioRendererChangeInfo.deviceDescriptors[j].deviceRole);
console.info('Name:'+i+':'+AudioRendererChangeInfo.deviceDescriptors[j].name);
console.info('Address:'+i+':'+AudioRendererChangeInfo.deviceDescriptors[j].address);
console.info('SampleRates:'+i+':'+AudioRendererChangeInfo.deviceDescriptors[j].sampleRates[0]);
console.info('ChannelCount'+i+':'+AudioRendererChangeInfo.deviceDescriptors[j].channelCounts[0]);
console.info('ChannelMask:'+i+':'+AudioRendererChangeInfo.deviceDescriptors[j].channelMasks);
}
}
}
}
});
```
\ No newline at end of file
zh-cn/application-dev/reference/apis/js-apis-audio.md
浏览文件 @
a8d895e0
...
...
@@ -40,16 +40,16 @@ var audioManager = audio.getAudioManager();
getStreamManager(): AudioStreamManager
获取
**AudioStreamManager**
接口.
获取
音频流管理器实例。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Core
**系统能力
:**
SystemCapability.Multimedia.Audio.Core
**返回值**
**返回值
:
**
| 类型 | 说明 |
| -------------------------------------------------| ------------------------------- |
|
[
AudioStreamManager
](
#audiostreammanager
sup9sup
)
|
**AudioStreamManager**
实例。
|
|
[
AudioStreamManager
](
#audiostreammanager
9
)
| 返回音频流管理器实例。
|
**示例**
**示例
:
**
```
var audioStreamManager = audio.getStreamManager();
```
...
...
@@ -62,7 +62,7 @@ createAudioRenderer(options: AudioRendererOptions, callback: AsyncCallback\<Audi
**系统能力:**
SystemCapability.Multimedia.Audio.Renderer
**参数**
:
**参数
:
**
:
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------- | ---- | ---------------- |
...
...
@@ -428,11 +428,11 @@ audio.createAudioCapturer(audioCapturerOptions).then((data) => {
| STREAM_USAGE_VOICE_COMMUNICATION | 2 | 语音通信。 |
| STREAM_USAGE_NOTIFICATION_RINGTONE | 6 | 通知铃声。 |
## FocusType
## FocusType
<sup>9+</sup>
表示焦点类型的枚举。
**系统能力**
: SystemCapability.Multimedia.Audio.Core
**系统能力
:
**
: SystemCapability.Multimedia.Audio.Core
| 名称 | 默认值 | 描述 |
| ---------------------------------- | ------ | ------------------------------- |
...
...
@@ -659,7 +659,7 @@ audio.createAudioCapturer(audioCapturerOptions).then((data) => {
## AudioRendererDataInfo<sup>9+</sup>
描述渲染器
数据信息。
音频渲染器的
数据信息。
**系统能力**
: SystemCapability.Multimedia.Audio.Renderer
...
...
@@ -1893,23 +1893,23 @@ audioManager.getAudioScene().then((value) => {
## AudioStreamManager<sup>9+</sup>
实现音频流管理。 在
**AudioStreamManager**
调用任何API之前, 必须使用
[
getStreamManager
](
#audiogetstreammanagersup9sup
)
创建一个
**AudioStreamManager**
实例.
管理音频流。在使用AudioStreamManager的API前,需要使用
[
getStreamManager
](
#audiogetstreammanager9
)
获取AudioStreamManager实例。
### getCurrentAudioRendererInfoArray<sup>9+</sup>
getCurrentAudioRendererInfoArray(callback: AsyncCallback
<
AudioRendererChangeInfoArray
>
): void
;
getCurrentAudioRendererInfoArray(callback: AsyncCallback
<
AudioRendererChangeInfoArray
>
): void
获取当前
现有音频渲染器流的信息。此API使用异步回调返回结果
。
获取当前
音频渲染器的信息。使用callback异步回调
。
**系统能力**
: SystemCapability.Multimedia.Audio.Renderer
**参数**
**参数
:
**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------- | -------- | --------------------------- |
| callback | AsyncCallback
<
<
a
href=
"#audiorendererchangeinfoarray"
>
AudioRendererChangeInfoArray
</a>
> | 是 | Callback用于返回当前现有
音频渲染器的信息。 |
| callback | AsyncCallback
<
[
AudioRendererChangeInfoArray
](
#audiorendererchangeinfoarray9
)
>
| 是 | 回调函数,返回当前
音频渲染器的信息。 |
**示例**
**示例
:
**
```
audioStreamManager.getCurrentAudioRendererInfoArray(async (err, AudioRendererChangeInfoArray) => {
console.info('[GET_RENDERER_STATE_1_CALLBACK] **** Get Callback Called ****');
...
...
@@ -1947,19 +1947,19 @@ audioStreamManager.getCurrentAudioRendererInfoArray(async (err, AudioRendererCha
### getCurrentAudioRendererInfoArray<sup>9+</sup>
getCurrentAudioRendererInfoArray(): Promise
<
AudioRendererChangeInfoArray
>
;
getCurrentAudioRendererInfoArray(): Promise
<
AudioRendererChangeInfoArray
>
获取当前
现有音频渲染器的信息。此API使用Promise返回结果
。
获取当前
音频渲染器的信息。使用Promise异步回调
。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**返回值**
**返回值
:
**
| 类型 | 说明 |
| ---------------------------------------------------------------------------------| --------------------------------------- |
| Promise
<
<
a
href=
"#audiorendererchangeinfoarry"
>
AudioRendererChangeInfoArray
</a>
> | Promise用于返回当前现有音频渲染器的信息。
|
| Promise
<
[
AudioRendererChangeInfoArray
](
#audiorendererchangeinfoarray9
)
>
| Promise对象,返回当前音频渲染器信息。
|
**示例**
**示例
:
**
```
await audioStreamManager.getCurrentAudioRendererInfoArray().then( function (AudioRendererChangeInfoArray) {
console.info('[GET_RENDERER_STATE_3_PROMISE] ######### Get Promise is called ##########');
...
...
@@ -1994,19 +1994,19 @@ await audioStreamManager.getCurrentAudioRendererInfoArray().then( function (Audi
### getCurrentAudioCapturerInfoArray<sup>9+</sup>
getCurrentAudioCapturerInfoArray(callback: AsyncCallback
<
AudioCapturerChangeInfoArray
>
): void
;
getCurrentAudioCapturerInfoArray(callback: AsyncCallback
<
AudioCapturerChangeInfoArray
>
): void
获取当前
现有音频捕捉器的信息。此API使用异步回调返回结果
。
获取当前
音频采集器的信息。使用callback异步回调
。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**参数**
**参数
:
**
| 名称 | 类型 | 必填 | 说明 |
| ---------- | ----------------------------------- | --------- | -------------------------------------------------------- |
| callback | AsyncCallback
<
<
a
href=
"#audiocapturerchangeinfoarray"
>
AudioCapturerChangeInfoArray
</a>
> | 是 | Callback用于返回当前现有音频捕获器流
的信息。 |
| callback | AsyncCallback
<
[
AudioCapturerChangeInfoArray
](
#audiocapturerchangeinfoarray9
)
>
| 是 | 回调函数,返回当前音频采集器
的信息。 |
**示例**
**示例
:
**
```
audioStreamManager.getCurrentAudioCapturerInfoArray(async (err, AudioCapturerChangeInfoArray) => {
console.info('[GET_CAPTURER_STATE_1_CALLBACK] **** Get Callback Called ****');
...
...
@@ -2042,19 +2042,19 @@ audioStreamManager.getCurrentAudioCapturerInfoArray(async (err, AudioCapturerCha
### getCurrentAudioCapturerInfoArray<sup>9+</sup>
getCurrentAudioCapturerInfoArray(): Promise
<
AudioCapturerChangeInfoArray
>
;
getCurrentAudioCapturerInfoArray(): Promise
<
AudioCapturerChangeInfoArray
>
获取当前
现有音频捕捉器的信息。此API使用Promise返回结果
。
获取当前
音频采集器的信息。使用Promise异步回调
。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**返回值**
**返回值
:
**
| 类型
| 说明 |
| -----------------------------------------------------------------------------
-----
| ----------------------------------- |
| Promise
<
<
a
href=
"#audiocapturerchangeinfoarray"
>
AudioCapturerChangeInfoArray
</a>
> | Promise用于返回当前现有音频捕获器的信息。
|
| 类型 | 说明 |
| -----------------------------------------------------------------------------| ----------------------------------- |
| Promise
<
[
AudioCapturerChangeInfoArray
](
#audiocapturerchangeinfoarray9
)
>
| Promise对象,返回当前音频渲染器信息。
|
**示例**
**示例
:
**
```
await audioStreamManagerCB.getCurrentAudioCapturerInfoArray().then( function (AudioCapturerChangeInfoArray) {
console.info('AFCapturerChangeLog: [GET_CAP_STA_1_PR] **** Get Promise Called ****');
...
...
@@ -2087,22 +2087,20 @@ await audioStreamManagerCB.getCurrentAudioCapturerInfoArray().then( function (Au
### on('audioRendererChange')<sup>9+</sup>
on(type: "audioRendererChange", callback: Callback
<
AudioRendererChangeInfoArray
>
): void
;
on(type: "audioRendererChange", callback: Callback
<
AudioRendererChangeInfoArray
>
): void
监听音频渲染器更改事件。
当音频渲染器发生任何更改时,注册的客户端将收到回调。
**System capability**
: SystemCapability.Multimedia.Audio.Renderer
**系统能力:**
SystemCapability.Multimedia.Audio.Renderer
**参数**
**参数
:
**
| 名称 | 类型 | 必填 | 说明
|
| -------- | ---------- | --------- | ------------------------------------------------------------------------
--------
|
| type | string | 是 |
要侦听的事件的类型。仅支持AudioRenderChange事件。
|
| callback | Callback
<
<
a
href=
"#audiorendererchangeinfoarry"
>
AudioRendererChangeInfoArray
</a>
> | 是 | 渲染器流更改调用回调。
|
| 名称 | 类型 | 必填 | 说明 |
| -------- | ---------- | --------- | ------------------------------------------------------------------------ |
| type | string | 是 |
事件类型,支持的事件
`'audioRendererChange'`
:当音频渲染器发生更改时触发。
|
| callback | Callback
<
[
AudioRendererChangeInfoArray
](
#audiorendererchangeinfoarry9
)
>
| 是 | 回调函数。
|
**示例**
**示例
:
**
```
audioStreamManagerCB.on('audioRendererChange', (AudioRendererChangeInfoArray) => {
for (let i=0;i<AudioRendererChangeInfoArray.length;i++) {
...
...
@@ -2134,17 +2132,17 @@ audioStreamManagerCB.on('audioRendererChange', (AudioRendererChangeInfoArray) =
off(type: "audioRendererChange");
取消订阅
音频渲染器更改事件。
监听
音频渲染器更改事件。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**参数**
**参数
:
**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------- | ---- | ---------------- |
| type | string | 是 |
关闭渲染器的监听
。 |
| type | string | 是 |
事件类型,支持的事件
`'audioRendererChange'`
:音频渲染器更改事件
。 |
**示例**
**示例
:
**
```
audioStreamManagerCB.off('audioRendererChange');
console.info('[RENDERER-CHANGE-ON-001] ######### RendererChange Off is called #########');
...
...
@@ -2152,22 +2150,22 @@ console.info('[RENDERER-CHANGE-ON-001] ######### RendererChange Off is called ##
### on('audioCapturerChange')<sup>9+</sup>
on(type: "audioCapturerChange", callback: Callback
<
AudioCapturerChangeInfoArray
>
): void
;
on(type: "audioCapturerChange", callback: Callback
<
AudioCapturerChangeInfoArray
>
): void
监听音频捕获器更改事件。
当音频捕获器发生任何更改时,注册的客户端将收到回调。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Capturer
**系统能力
:**
SystemCapability.Multimedia.Audio.Capturer
**参数**
**参数
:
**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------- | --------- | -------------------------------------------------------------------
----------------------
---- |
| type | string | 是 |
要侦听的事件的类型。仅支持audioCapturerChange事件。
|
| callback | Callback
<
<
a
href=
"#audiocapturerchangeinfoarry"
>
AudioCapturerChangeInfoArray
</a>
> | 是 | 捕捉器流状态更改调用的回调。
|
| -------- | ------- | --------- | -------------------------------------------------------------------
---- |
| type | string | 是 |
事件类型,支持的事件
`'audioCapturerChange'`
:当音频采集器发生更改时触发。
|
| callback | Callback
<
[
AudioCapturerChangeInfoArray
](
#audiocapturerchangeinfoarry9
)
>
| 是 | 回调函数。
|
**示例**
**示例
:
**
```
audioStreamManager.on('audioCapturerChange', (AudioCapturerChangeInfoArray) => {
for (let i=0;i<AudioCapturerChangeInfoArray.length;i++) {
...
...
@@ -2196,17 +2194,17 @@ audioStreamManager.on('audioCapturerChange', (AudioCapturerChangeInfoArray) =>
off(type: "audioCapturerChange");
取消订阅
音频捕获器更改事件。
监听
音频捕获器更改事件。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Capturer
**系统能力
:**
SystemCapability.Multimedia.Audio.Capturer
**参数**
**参数
:
**
| 名称 | 类型 | 必填 | 说明 |
| -------- | -------- | --- | ---------------------------- |
| type | string |是 |
关闭捕捉器的监听。
|
| 名称 | 类型 | 必填 | 说明
|
| -------- | -------- | --- | ----------------------------
---------------------------------
|
| type | string |是 |
事件类型,支持的事件
`'audioCapturerChange'`
:音频采集器更改事件。
|
**示例**
**示例
:
**
```
audioStreamManager.off('audioCapturerChange');
console.info('[GET_CAPTURER_STATE_2_PROMISE] ######### CapturerChange Off is called #########');
...
...
@@ -2215,20 +2213,21 @@ console.info('[GET_CAPTURER_STATE_2_PROMISE] ######### CapturerChange Off is cal
### isAudioRendererLowLatencySupported<sup>9+</sup>
isAudioRendererLowLatencySupported(streaminfo: AudioStreamInfo, callback: Callback
<
boolean
>
): void;
;
isAudioRendererLowLatencySupported(streaminfo: AudioStreamInfo, callback: Callback
<
boolean
>
): void;
检查系统是否支持音频渲染器中的低延迟配置。
检查系统是否支持音频渲染器中的低延迟配置。
使用callback异步回调。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**参数**
**参数
:
**
| 名称 | 类型 | 必填 | 说明 |
| ---------- | ----------------------- | -------- | --------------------------------------- |
| streaminfo | AudioStreamInfo | 是 | 音频渲染器流信息。 |
| callback | Callback
<
boolean
>
| 是 | callback用于返回当前现有音频渲染器的信息。 |
| streaminfo |
[
AudioStreamInfo
](
#audiostreaminfo8
)
| 是 | 音频渲染器流信息。 |
| callback | Callback
<
boolean
>
| 是 | 返回系统是否支持音频渲染器中的低延迟配置。 |
**示例:**
**示例**
```
var audioManager = audio.getAudioManager();
...
...
@@ -2247,19 +2246,26 @@ streamManagerCB.isAudioRendererLowLatencySupported(AudioStreamInfo, (result) =>
### isAudioRendererLowLatencySupported<sup>9+</sup>
isAudioRendererLowLatencySupported(streaminfo: AudioStreamInfo): Promise
<
boolean
>
;
isAudioRendererLowLatencySupported(streaminfo: AudioStreamInfo): Promise
<
boolean
>
检查系统是否支持音频渲染器中的低延迟配置。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**参数**
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------------------ | ---- | ------------|
| streaminfo |
[
AudioStreamInfo
](
#audiostreaminfo8
)
| 是 | 数据流信息 |
**返回值:**
| 类型 | 说明 |
| ------------------- | ---------------------------------------------------- |
| Promise
<
void
>
| Promise方式异步返回系统是否支持音频渲染器中的低延迟配置。 |
| 类型 | 必填 | 说明 |
| ----------------------------------------------------- | -------| ------------------------------------ |
| (streaminfo: AudioStreamInfo): Promise
<
boolean
>
| 是 | Promise用于返回当前现有音频渲染器的信息。|
**示例:**
**示例**
```
var audioManager = audio.getAudioManager();
...
...
@@ -2275,6 +2281,130 @@ var result = streamManager.isAudioRendererLowLatencySupported(AudioStreamInfo);
console.info('isAudioRendererLowLatencySupported success var =' + result);
```
## AudioRendererChangeInfo<sup>9+</sup>
描述音频渲染器更改信息。
**系统能力:**
以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Renderer
| 名称 | 类型 | 可读 | 可写 | 说明 |
| -------------------| ----------------------------------------- | ---- | ---- | ---------------------------- |
| streamId | number | 是 | 否 | 音频流唯一id。 |
| clientUid | number | 是 | 否 | 音频渲染器客户端应用程序的Uid。 |
| rendererInfo |
[
AudioRendererInfo
](
#audiorendererinfo8
)
| 是 | 否 | 音频渲染器信息。 |
| rendererState |
[
AudioState
](
#audiostate
)
| 是 | 否 | 音频状态。 |
**示例:**
```
import audio from '@ohos.multimedia.audio';
var audioStreamManager;
var audioStreamManagerCB;
await audioManager.getStreamManager().then(async function (data) {
audioStreamManager = data;
console.info(Tag+'Get AudioStream Manager : Success ');
}).catch((err) => {
console.info(Tag+'Get AudioStream Manager : ERROR : '+err.message);
});
audioManager.getStreamManager((err, data) => {
if (err) {
console.error(Tag+'Get AudioStream Manager : ERROR : '+err.message);
}
else {
audioStreamManagerCB = data;
console.info(Tag+'Get AudioStream Manager : Success ');
}
});
audioStreamManagerCB.on('audioRendererChange', (AudioRendererChangeInfoArray) => {
for (let i=0;i<AudioRendererChangeInfoArray.length;i++) {
console.info(Tag+'## RendererChange on is called for '+i+' ##');
console.info(Tag+'StreamId for '+i+' is:'+AudioRendererChangeInfoArray[i].streamId);
console.info(Tag+'ClientUid for '+i+' is:'+AudioRendererChangeInfoArray[i].clientUid);
console.info(Tag+'Content for '+i+' is:'+AudioRendererChangeInfoArray[i].rendererInfo.content);
console.info(Tag+'Stream for '+i+' is:'+AudioRendererChangeInfoArray[i].rendererInfo.usage);
console.info(Tag+'Flag '+i+' is:'+AudioRendererChangeInfoArray[i].rendererInfo.rendererFlags);
console.info(Tag+'State for '+i+' is:'+AudioRendererChangeInfoArray[i].rendererState);
var devDescriptor = AudioRendererChangeInfoArray[i].deviceDescriptors;
for (let j=0;j<AudioRendererChangeInfoArray[i].deviceDescriptors.length; j++) {
console.info(Tag+'Id:'+i+':'+AudioRendererChangeInfoArray[i].deviceDescriptors[j].id);
console.info(Tag+'Type:'+i+':'+AudioRendererChangeInfoArray[i].deviceDescriptors[j].deviceType);
console.info(Tag+'Role:'+i+':'+AudioRendererChangeInfoArray[i].deviceDescriptors[j].deviceRole);
console.info(Tag+'Name:'+i+':'+AudioRendererChangeInfoArray[i].deviceDescriptors[j].name);
console.info(Tag+'Addr:'+i+':'+AudioRendererChangeInfoArray[i].deviceDescriptors[j].address);
console.info(Tag+'SR:'+i+':'+AudioRendererChangeInfoArray[i].deviceDescriptors[j].sampleRates[0]);
console.info(Tag+'C'+i+':'+AudioRendererChangeInfoArray[i].deviceDescriptors[j].channelCounts[0]);
console.info(Tag+'CM:'+i+':'+AudioRendererChangeInfoArray[i].deviceDescriptors[j].channelMasks);
}
if (AudioRendererChangeInfoArray[i].rendererState == 1 && devDescriptor != null) {
resultFlag = true;
console.info(Tag+'[RENDERER-CHANGE-ON-001] ResultFlag for '+i+' is:'+resultFlag);
}
}
});
```
## AudioRendererChangeInfoArray<sup>9+</sup>
AudioRenderChangeInfo数组,只读。
**系统能力:**
: SystemCapability.Multimedia.Audio.Renderer
## AudioCapturerChangeInfo<sup>9+</sup>
描述音频捕获器更改信息。
**系统能力:**
以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Capturer
| 名称 | 类型 | 可读 | 可写 | 说明 |
| -------------------| ----------------------------------------- | ---- | ---- | ---------------------------- |
| streamId | number | 是 | 否 | 音频流唯一id。 |
| clientUid | number | 是 | 否 | 音频渲染器客户端应用程序的Uid。 |
| capturerInfo |
[
AudioCapturerInfo
](
#audiocaptureinfo8
)
| 是 | 否 | 音频渲染器信息。 |
| capturerState |
[
AudioState
](
#audiostate
)
| 是 | 否 | 音频状态。 |
**示例:**
```
import audio from '@ohos.multimedia.audio';
const audioManager = audio.getAudioManager();
audioStreamManager.on('audioCapturerChange', (AudioCapturerChangeInfoArray) => {
for (let i=0;i<AudioCapturerChangeInfoArray.length;i++) {
console.info(Tag+' ## CapChange on is called for element '+i+' ##');
console.info(Tag+'StrId for '+i+'is:'+AudioCapturerChangeInfoArray[i].streamId);
console.info(Tag+'CUid for '+i+'is:'+AudioCapturerChangeInfoArray[i].clientUid);
console.info(Tag+'Src for '+i+'is:'+AudioCapturerChangeInfoArray[i].capturerInfo.source);
console.info(Tag+'Flag '+i+'is:'+AudioCapturerChangeInfoArray[i].capturerInfo.capturerFlags);
console.info(Tag+'State for '+i+'is:'+AudioCapturerChangeInfoArray[i].capturerState);
var devDescriptor = AudioCapturerChangeInfoArray[i].deviceDescriptors;
for (let j=0;j<AudioCapturerChangeInfoArray[i].deviceDescriptors.length; j++) {
console.info(Tag+'Id:'+i+':'+AudioCapturerChangeInfoArray[i].deviceDescriptors[j].id);
console.info(Tag+'Type:'+i+':'+AudioCapturerChangeInfoArray[i].deviceDescriptors[j].deviceType);
console.info(Tag+'Role:'+i+':'+AudioCapturerChangeInfoArray[i].deviceDescriptors[j].deviceRole);
console.info(Tag+'Name:'+i+':'+AudioCapturerChangeInfoArray[i].deviceDescriptors[j].name);
console.info(Tag+'Addr:'+i+':'+AudioCapturerChangeInfoArray[i].deviceDescriptors[j].address);
console.info(Tag+'SR:'+i+':'+AudioCapturerChangeInfoArray[i].deviceDescriptors[j].sampleRates[0]);
console.info(Tag+'C'+i+':'+AudioCapturerChangeInfoArray[i].deviceDescriptors[j].channelCounts[0]);
console.info(Tag+'CM:'+i+':'+AudioCapturerChangeInfoArray[i].deviceDescriptors[j].channelMasks);
}
if (AudioCapturerChangeInfoArray[i].capturerState == 1 && devDescriptor != null) {
resultFlag = true;
console.info(Tag+'[CAPTURER-CHANGE-ON-001] ResultFlag for element '+i +' is: '+ resultFlag);
}
}
});
```
## AudioCapturerChangeInfoArray<sup>9+</sup>
AudioCapturerChangeInfo数组,只读。
**系统能力:**
SystemCapability.Multimedia.Audio.Capturer
## AudioDeviceDescriptor
描述音频设备。
...
...
@@ -2282,15 +2412,15 @@ console.info('isAudioRendererLowLatencySupported success var =' + result);
**系统能力:**
以下各项对应的系统能力均为SystemCapability.Multimedia.Audio.Device
| 名称 | 类型 | 可读 | 可写 | 说明 |
| -------------------------- | ------------------------- | ---- | ---- | ---------- |
| deviceRole |
[
DeviceRole
](
#devicerole
)
| 是 | 否 | 设备角色。 |
| deviceType |
[
DeviceType
](
#devicetype
)
| 是 | 否 | 设备类型。 |
| id
<sup>
9+
</sup>
| number | 是 | 否 | 设备id。 |
| name
<sup>
9+
</sup>
| string | 是 | 否 | 设备名称。 |
| address
<sup>
9+
</sup>
| string | 是 | 否 | 设备地址。 |
| sampleRates
<sup>
9+
</sup>
| Array
<
number
>
| 是 | 否 | 支持的采样率。 |
| channelCounts
<sup>
9+
</sup>
| Array
<
number
>
| 是 | 否 | 支持的通道数。 |
| channelMasks
<sup>
9+
</sup>
| Array
<
number
>
| 是 | 否 | 支持的通道掩码。 |
| -------------------------- | -------------------------
-
| ---- | ---- | ---------- |
| deviceRole |
[
DeviceRole
](
#devicerole
)
| 是 | 否 | 设备角色。 |
| deviceType |
[
DeviceType
](
#devicetype
)
| 是 | 否 | 设备类型。 |
| id
<sup>
9+
</sup>
| number
| 是 | 否 | 设备id。 |
| name
<sup>
9+
</sup>
| string
| 是 | 否 | 设备名称。 |
| address
<sup>
9+
</sup>
| string
| 是 | 否 | 设备地址。 |
| sampleRates
<sup>
9+
</sup>
| Array
<
number
>
| 是 | 否 | 支持的采样率。 |
| channelCounts
<sup>
9+
</sup>
| Array
<
number
>
| 是 | 否 | 支持的通道数。 |
| channelMasks
<sup>
9+
</sup>
| Array
<
number
>
| 是 | 否 | 支持的通道掩码。 |
## AudioDeviceDescriptors
...
...
@@ -2346,7 +2476,7 @@ getRendererInfo(callback: AsyncCallback<AudioRendererInfo\>): void
获取当前被创建的音频渲染器的信息,使用callback方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
...
...
@@ -2371,7 +2501,7 @@ getRendererInfo(): Promise<AudioRendererInfo\>
获取当前被创建的音频渲染器的信息,使用Promise方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**返回值:**
...
...
@@ -2400,7 +2530,7 @@ getStreamInfo(callback: AsyncCallback<AudioStreamInfo\>): void
获取音频流信息,使用callback方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
...
...
@@ -2426,7 +2556,7 @@ getStreamInfo(): Promise<AudioStreamInfo\>
获取音频流信息,使用Promise方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**返回值:**
...
...
@@ -2454,7 +2584,7 @@ start(callback: AsyncCallback<void\>): void
启动音频渲染器。使用callback方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
...
...
@@ -2480,7 +2610,7 @@ start(): Promise<void\>
启动音频渲染器。使用Promise方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**返回值:**
...
...
@@ -2504,7 +2634,7 @@ pause(callback: AsyncCallback\<void>): void
暂停渲染。使用callback方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
...
...
@@ -2530,7 +2660,7 @@ pause(): Promise\<void>
暂停渲染。使用Promise方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**返回值:**
...
...
@@ -2554,7 +2684,7 @@ drain(callback: AsyncCallback\<void>): void
检查缓冲区是否已被耗尽。使用callback方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
...
...
@@ -2580,7 +2710,7 @@ drain(): Promise\<void>
检查缓冲区是否已被耗尽。使用Promise方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**返回值:**
...
...
@@ -2604,7 +2734,7 @@ stop(callback: AsyncCallback\<void>): void
停止渲染。使用callback方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
...
...
@@ -2630,7 +2760,7 @@ stop(): Promise\<void>
停止渲染。使用Promise方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**返回值:**
...
...
@@ -2654,7 +2784,7 @@ release(callback: AsyncCallback\<void>): void
释放音频渲染器。使用callback方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
...
...
@@ -2680,7 +2810,7 @@ release(): Promise\<void>
释放渲染器。使用Promise方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**返回值:**
...
...
@@ -2704,7 +2834,7 @@ write(buffer: ArrayBuffer, callback: AsyncCallback\<number>): void
写入缓冲区。使用callback方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
...
...
@@ -2773,7 +2903,7 @@ write(buffer: ArrayBuffer): Promise\<number>
写入缓冲区。使用Promise方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**返回值:**
...
...
@@ -2843,7 +2973,7 @@ getAudioTime(callback: AsyncCallback\<number>): void
获取时间戳(从 1970 年 1 月 1 日开始)。使用callback方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
...
...
@@ -2865,7 +2995,7 @@ getAudioTime(): Promise\<number>
获取时间戳(从 1970 年 1 月 1 日开始)。使用Promise方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**返回值:**
...
...
@@ -2889,7 +3019,7 @@ getBufferSize(callback: AsyncCallback\<number>): void
获取音频渲染器的最小缓冲区大小。使用callback方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
...
...
@@ -2913,7 +3043,7 @@ getBufferSize(): Promise\<number>
获取音频渲染器的最小缓冲区大小。使用Promise方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**返回值:**
...
...
@@ -2966,7 +3096,7 @@ setRenderRate(rate: AudioRendererRate, callback: AsyncCallback\<void>): void
设置音频渲染速率。使用callback方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
...
...
@@ -2993,7 +3123,7 @@ setRenderRate(rate: AudioRendererRate): Promise\<void>
设置音频渲染速率。使用Promise方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
...
...
@@ -3023,7 +3153,7 @@ getRenderRate(callback: AsyncCallback\<AudioRendererRate>): void
获取当前渲染速率。使用callback方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
...
...
@@ -3045,7 +3175,7 @@ getRenderRate(): Promise\<AudioRendererRate>
获取当前渲染速率。使用Promise方式异步返回结果。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**返回值:**
...
...
@@ -3072,9 +3202,9 @@ setInterruptMode(mode: InterruptMode): Promise<void>
**参数:**
| 参数名 | 类型 | 必填
| 说明
|
| ---------- | ----------------------------------
- | ---- | ----------------------------------------------
---------- |
|
interruptMode |
[
InterruptMode
](
#InterruptMode
)
| 是 | 焦点模型。
|
| 参数名 | 类型 | 必填
| 说明
|
| ---------- | ----------------------------------
| ------ |
---------- |
|
mode |
[
InterruptMode
](
#InterruptMode
)
| 是 | 焦点模型。
|
**返回值:**
...
...
@@ -3100,10 +3230,10 @@ setInterruptMode(mode: InterruptMode, callback: Callback\<void>): void
**参数:**
| 参数名
| 类型 | 必填 | 说明
|
| -------
--- | ----------------------------------- | ---- | ------------------------------------------
-------------- |
|
interruptMode |
[
InterruptMode
](
#InterruptMode
)
| 是
| 焦点模型。|
|callback | Callback
\<
void>
| 是
|回调返回执行结果。|
| 参数名
| 类型 | 必填 | 说明
|
| -------
| ----------------------------------- | ------ |
-------------- |
|
mode |
[
InterruptMode
](
#InterruptMode
)
| 是
| 焦点模型。|
|callback | Callback
\<
void>
| 是
|回调返回执行结果。|
**示例:**
...
...
@@ -3119,7 +3249,7 @@ on(type: 'interrupt', callback: Callback\<InterruptEvent>): void
监听音频中断事件。使用callback获取中断事件。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**参数:**
...
...
@@ -3304,16 +3434,16 @@ on(type: "dataRequest", callback: Callback<AudioRendererDataInfo>): void;
订阅音频数据requeset事件回调。
**系统能力
**
:
SystemCapability.Multimedia.Audio.Renderer
**系统能力
:**
SystemCapability.Multimedia.Audio.Renderer
**参数**
**参数
:
**
| 名称 | 类型 | 必填 | 说明 |
| -------- | ------- | --------- | ------------------------------------------------------------------- |
| type | string | 是 | 事件类型。值
**dataRequest**
表示数据请求事件。 |
| callback |
[
AudioRendererDataInfo
](
#audiorendererdatainfo
sup9sup
)
| 是 | 需要音频数据时调用回调。|
| callback |
[
AudioRendererDataInfo
](
#audiorendererdatainfo
9
)
| 是 | 需要音频数据时调用回调。|
**示例**
**示例
:
**
```
const path = '/data/storage/el2/ba se/haps/entry/cache/PinkPanther60-44100-1c.wav';
let ss = fileio.createStreamSync(path, 'r');
...
...
@@ -3327,12 +3457,6 @@ const path = '/data/storage/el2/ba se/haps/entry/cache/PinkPanther60-44100-1c.w
})
```
## AudioRendererChangeInfoArray<sup>9+</sup><a name="audiorendererchangeinfoarray"></a>
AudioRenderChangeInfo数组,只读。
**系统能力**
: SystemCapability.Multimedia.Audio.Renderer
## AudioCapturer<sup>8+</sup>
提供音频采集的相关接口。在调用AudioCapturer的接口前,需要先通过
[
createAudioCapturer
](
#audiocreateaudiocapturer8
)
创建实例。
...
...
@@ -3477,7 +3601,7 @@ start(callback: AsyncCallback<void\>): void
**系统能力:**
SystemCapability.Multimedia.Audio.Capturer
**参数**
**参数
:
**
| 参数名 | 类型 | 必填 | 说明 |
| :------- | :------------------- | :--- | :----------------------------- |
...
...
@@ -3667,7 +3791,7 @@ read(size: number, isBlockingRead: boolean, callback: AsyncCallback<ArrayBuffer\
**系统能力:**
SystemCapability.Multimedia.Audio.Capturer
**参数**
**参数
:
**
| 参数名 | 类型 | 必填 | 说明 |
| :------------- | :-------------------------- | :--- | :------------------------------- |
...
...
@@ -3956,10 +4080,4 @@ audioCapturer.on('stateChange', (state) => {
console.log("audio capturer state is: STATE_RUNNING");
}
});
```
## AudioCapturerChangeInfoArray<sup>9+</sup><a name="audiocapturerchangeinfoarray"></a>
AudioCapturerChangeInfo数组,只读。
**系统能力**
: SystemCapability.Multimedia.Audio.Capturer
\ 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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录