未验证 提交 f758f03c 编写于 作者: O openharmony_ci 提交者: Gitee

!14293 Add QueueItem & MediaDescription & getHistoricalSessionDescriptors...

!14293 Add QueueItem & MediaDescription & getHistoricalSessionDescriptors related references for avsession
Merge pull request !14293 from 张敏敏/master
......@@ -43,7 +43,7 @@ createAVSession(context: Context, tag: string, type: AVSessionType): Promise\<AV
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -84,7 +84,7 @@ createAVSession(context: Context, tag: string, type: AVSessionType, callback: As
| callback | AsyncCallback<[AVSession](#avsession)\> | 是 | 回调函数。回调返回会话实例对象,可用于获取会话ID,以及设置元数据、播放状态,发送按键事件等操作。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -128,7 +128,7 @@ getAllSessionDescriptors(): Promise\<Array\<Readonly\<AVSessionDescriptor>>>
| Promise\<Array\<Readonly\<[AVSessionDescriptor](#avsessiondescriptor)\>\>\> | Promise对象。返回所有会话描述的只读对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -155,7 +155,7 @@ getAllSessionDescriptors(callback: AsyncCallback\<Array\<Readonly\<AVSessionDesc
获取所有会话的相关描述。结果通过callback异步回调方式返回。
**需要权限:** ohos.permission.MANAGE_MEDIA_RESOURCES,仅系统应用可用。
**需要权限:** ohos.permission.MANAGE_MEDIA_RESOURCES
**系统能力:** SystemCapability.Multimedia.AVSession.Manager
......@@ -168,7 +168,7 @@ getAllSessionDescriptors(callback: AsyncCallback\<Array\<Readonly\<AVSessionDesc
| callback | AsyncCallback<Array<Readonly<[AVSessionDescriptor](#avsessiondescriptor)\>\>\> | 是 | 回调函数。返回所有会话描述的只读对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -191,6 +191,99 @@ avSession.getAllSessionDescriptors(function (err, descriptors) {
});
```
## avSession.getHistoricalSessionDescriptors<sup>10+</sup>
getHistoricalSessionDescriptors(maxSize?: number): Promise\<Array\<Readonly\<AVSessionDescriptor>>>
获取所有会话的相关描述。结果通过Promise异步回调方式返回。
**需要权限:** ohos.permission.MANAGE_MEDIA_RESOURCES
**系统能力:** SystemCapability.Multimedia.AVSession.Manager
**系统接口:** 该接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------ | ---- | -----------------------------------------------------------------|
| maxSize | number | 否 | 指定获取描述符数量的最大值,可选范围是0-10,不填则取默认值,默认值为3。|
**返回值:**
| 类型 | 说明 |
| --------------------------------------------------------------------------- | -------------------------------------- |
| Promise\<Array\<Readonly\<[AVSessionDescriptor](#avsessiondescriptor)\>\>\> | Promise对象。返回所有会话描述的只读对象。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 6600101 | Session service exception. |
**示例:**
```js
avSession.getHistoricalSessionDescriptors().then((descriptors) => {
console.info(`getHistoricalSessionDescriptors : SUCCESS : descriptors.length : ${descriptors.length}`);
if(descriptors.length > 0 ){
console.info(`getHistoricalSessionDescriptors : SUCCESS : descriptors[0].isActive : ${descriptors[0].isActive}`);
console.info(`getHistoricalSessionDescriptors : SUCCESS : descriptors[0].type : ${descriptors[0].type}`);
console.info(`getHistoricalSessionDescriptors : SUCCESS : descriptors[0].sessionTag : ${descriptors[0].sessionTag}`);
console.info(`getHistoricalSessionDescriptors : SUCCESS : descriptors[0].sessionId : ${descriptors[0].sessionId}`);
console.info(`getHistoricalSessionDescriptors : SUCCESS : descriptors[0].elementName.bundleName : ${descriptors[0].elementName.bundleName}`);
}
}).catch((err) => {
console.info(`getHistoricalSessionDescriptors BusinessError: code: ${err.code}, message: ${err.message}`);
});
```
## avSession.getHistoricalSessionDescriptors<sup>10+</sup>
getHistoricalSessionDescriptors(maxSize: number, callback: AsyncCallback\<Array\<Readonly\<AVSessionDescriptor>>>): void
获取所有会话的相关描述。结果通过callback异步回调方式返回。
**需要权限:** ohos.permission.MANAGE_MEDIA_RESOURCES。
**系统能力:** SystemCapability.Multimedia.AVSession.Manager
**系统接口:** 该接口为系统接口。
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------------------------ | ---- | -----------------------------------------------------------------|
| maxSize | number | 是 | 指定获取描述符数量的最大值,可选范围是0-10,不填则取默认值,默认值为3。|
| callback | AsyncCallback<Array<Readonly<[AVSessionDescriptor](#avsessiondescriptor)\>\>\> | 是 | 回调函数。返回所有会话描述的只读对象。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 6600101 |Session service exception. |
**示例:**
```js
avSession.getHistoricalSessionDescriptors(1, function (err, descriptors) {
if (err) {
console.info(`getHistoricalSessionDescriptors BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info(`getHistoricalSessionDescriptors : SUCCESS : descriptors.length : ${descriptors.length}`);
if(descriptors.length > 0 ){
console.info(`getHistoricalSessionDescriptors : SUCCESS : descriptors[0].isActive : ${descriptors[0].isActive}`);
console.info(`getHistoricalSessionDescriptors : SUCCESS : descriptors[0].type : ${descriptors[0].type}`);
console.info(`getHistoricalSessionDescriptors : SUCCESS : descriptors[0].sessionTag : ${descriptors[0].sessionTag}`);
console.info(`getHistoricalSessionDescriptors : SUCCESS : descriptors[0].sessionId : ${descriptors[0].sessionId}`);
console.info(`getHistoricalSessionDescriptors : SUCCESS : descriptors[0].elementName.bundleName : ${descriptors[0].elementName.bundleName}`);
}
}
});
```
## avSession.createController
createController(sessionId: string): Promise\<AVSessionController>
......@@ -216,7 +309,7 @@ createController(sessionId: string): Promise\<AVSessionController>
| Promise<[AVSessionController](#avsessioncontroller)\> | Promise对象。返回会话控制器实例,可查看会话ID,<br>并完成对会话发送命令及事件,获取元数据、播放状态信息等操作。|
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -268,7 +361,7 @@ createController(sessionId: string, callback: AsyncCallback\<AVSessionController
| callback | AsyncCallback<[AVSessionController](#avsessioncontroller)\> | 是 | 回调函数。返回会话控制器实例,可查看会话ID,<br>并完成对会话发送命令及事件,获取元数据、播放状态信息等操作。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -330,7 +423,7 @@ castAudio(session: SessionToken | 'all', audioDevices: Array<audio.AudioDeviceDe
| Promise<void\> | Promise对象。当投播成功,无返回结果,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -382,7 +475,7 @@ castAudio(session: SessionToken | 'all', audioDevices: Array<audio.AudioDeviceDe
| callback | AsyncCallback<void\> | 是 | 回调函数。当投播成功,err为undefined,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -433,7 +526,7 @@ on(type: 'sessionCreate' | 'sessionDestroy' | 'topSessionChange', callback: (ses
| callback | (session: [AVSessionDescriptor](#avsessiondescriptor)) => void | 是 | 回调函数。参数为会话相关描述。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -481,7 +574,7 @@ off(type: 'sessionCreate' | 'sessionDestroy' | 'topSessionChange', callback?: (s
| callback | (session: [AVSessionDescriptor](#avsessiondescriptor)) => void | 否 | 回调函数。当监听事件取消成功,err为undefined,否则返回错误对象。<br>该参数为会话相关描述,为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -511,7 +604,7 @@ on(type: 'sessionServiceDie', callback: () => void): void
| callback | callback: () => void | 是 | 回调函数。当监听事件注册成功,err为undefined,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -541,7 +634,7 @@ off(type: 'sessionServiceDie', callback?: () => void): void
| callback | callback: () => void | 否 | 回调函数。当监听事件取消成功,err为undefined,否则返回错误对象。<br>该参数为可选参数,若不填写该参数,则认为取消所有相关会话的服务死亡监听。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -578,7 +671,7 @@ sendSystemAVKeyEvent(event: KeyEvent): Promise\<void>
| Promise<void\> | Promise对象。当事件发送成功,无返回结果,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -620,7 +713,7 @@ sendSystemAVKeyEvent(event: KeyEvent, callback: AsyncCallback\<void>): void
| callback | AsyncCallback<void\> | 是 | 回调函数。当事件发送成功,err为undefined,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -667,7 +760,7 @@ sendSystemControlCommand(command: AVControlCommand): Promise\<void>
| Promise<void\> | Promise对象。当命令发送成功,无返回结果,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -721,7 +814,7 @@ sendSystemControlCommand(command: AVControlCommand, callback: AsyncCallback\<voi
| callback | AsyncCallback<void\> | 是 | 回调函数。当命令发送成功,err为undefined,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -797,7 +890,7 @@ setAVMetadata(data: AVMetadata): Promise\<void>
| Promise<void\> | Promise对象。当元数据设置成功,无返回结果,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -846,7 +939,7 @@ setAVMetadata(data: AVMetadata, callback: AsyncCallback\<void>): void
| callback | AsyncCallback<void\> | 是 | 回调函数。当元数据设置成功,err为undefined,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -902,7 +995,7 @@ setAVPlaybackState(state: AVPlaybackState): Promise\<void>
| Promise<void\> | Promise对象。当播放状态设置成功,无返回结果,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -943,7 +1036,7 @@ setAVPlaybackState(state: AVPlaybackState, callback: AsyncCallback\<void>): void
| callback | AsyncCallback<void\> | 是 | 回调函数。当播放状态设置成功,err为undefined,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -970,6 +1063,216 @@ session.setAVPlaybackState(PlaybackState, function (err) {
});
```
### setAVQueueItems<sup>10+</sup>
setAVQueueItems(items: Array\<AVQueueItem>): Promise<void\>
设置媒体播放列表。结果通过Promise异步回调方式返回。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**系统接口:** 该接口为系统接口
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------------------------------ | ---- | ---------------------------------- |
| items | Array<[AVQueueItem](#avqueueitem10)\> | 是 | 播放列表单项的队列,用以表示播放列表。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ----------------------------- |
| Promise<void\> | Promise对象。当播放列表设置成功,无返回结果,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
**示例:**
```js
let queueItemDescription_1 = {
mediaId: '001',
title: 'music_name',
subtitle: 'music_sub_name',
description: 'music_description',
icon: PIXELMAP_OBJECT,
iconUri: 'http://www.icon.uri.com',
extras: {'extras':'any'}
};
let queueItem_1 = {
itemId: 1,
description: queueItemDescription_1
};
let queueItemDescription_2 = {
mediaId: '002',
title: 'music_name',
subtitle: 'music_sub_name',
description: 'music_description',
icon: PIXELMAP_OBJECT,
iconUri: 'http://www.icon.uri.com',
extras: {'extras':'any'}
};
let queueItem_2 = {
itemId: 2,
description: queueItemDescription_2
};
let queueItemsArray = [queueItem_1, queueItem_2];
session.setAVQueueItems(queueItemsArray).then(() => {
console.info('SetAVQueueItems successfully');
}).catch((err) => {
console.info(`SetAVQueueItems BusinessError: code: ${err.code}, message: ${err.message}`);
});
```
### setAVQueueItems<sup>10+</sup>
setAVQueueItems(items: Array\<AVQueueItem>, callback: AsyncCallback<void\>): void
设置媒体播放列表。结果通过callback异步回调方式返回。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**系统接口:** 该接口为系统接口
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------ | ---- | ----------------------------------------------------------- |
| items | Array<[AVQueueItem](#avqueueitem10)\> | 是 | 播放列表单项的队列,用以表示播放列表。 |
| callback | AsyncCallback<void\> | 是 | 回调函数。当播放状态设置成功,err为undefined,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
**示例:**
```js
let queueItemDescription_1 = {
mediaId: '001',
title: 'music_name',
subtitle: 'music_sub_name',
description: 'music_description',
icon: PIXELMAP_OBJECT,
iconUri: 'http://www.icon.uri.com',
extras: {'extras':'any'}
};
let queueItem_1 = {
itemId: 1,
description: queueItemDescription_1
};
let queueItemDescription_2 = {
mediaId: '002',
title: 'music_name',
subtitle: 'music_sub_name',
description: 'music_description',
icon: PIXELMAP_OBJECT,
iconUri: 'http://www.icon.uri.com',
extras: {'extras':'any'}
};
let queueItem_2 = {
itemId: 2,
description: queueItemDescription_2
};
let queueItemsArray = [queueItem_1, queueItem_2];
session.setAVQueueItems(queueItemsArray, function (err) {
if (err) {
console.info(`SetAVQueueItems BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('SetAVQueueItems successfully');
}
});
```
### setAVQueueTitle<sup>10+</sup>
setAVQueueTitle(title: string): Promise\<void>
设置媒体播放列表名称。结果通过Promise异步回调方式返回。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**系统接口:** 该接口为系统接口
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------- |
| title | string | 是 | 播放列表的名称。 |
**返回值:**
| 类型 | 说明 |
| -------------- | ----------------------------- |
| Promise<void\> | Promise对象。当播放列表设置成功,无返回结果,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
**示例:**
```js
let queueTitle = 'QUEUE_TITLE';
session.setAVQueueTitle(queueTitle).then(() => {
console.info('SetAVQueueTitle successfully');
}).catch((err) => {
console.info(`SetAVQueueTitle BusinessError: code: ${err.code}, message: ${err.message}`);
});
```
### setAVQueueTitle<sup>10+</sup>
setAVQueueTitle(title: string, callback: AsyncCallback\<void\>): void
设置媒体播放列表名称。结果通过callback异步回调方式返回。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**系统接口:** 该接口为系统接口
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------- | ---- | ----------------------------------------------------------- |
| title | string | 是 | 播放列表名称字段。 |
| callback | AsyncCallback<void\> | 是 | 回调函数。当播放状态设置成功,err为undefined,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
**示例:**
```js
let queueTitle = 'QUEUE_TITLE';
session.setAVQueueTitle(queueTitle, function (err) {
if (err) {
console.info(`SetAVQueueTitle BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('SetAVQueueTitle successfully');
}
});
```
### setLaunchAbility
setLaunchAbility(ability: WantAgent): Promise\<void>
......@@ -991,7 +1294,7 @@ setLaunchAbility(ability: WantAgent): Promise\<void>
| Promise<void\> | Promise对象。当Ability设置成功,无返回结果,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1056,7 +1359,7 @@ setLaunchAbility(ability: WantAgent, callback: AsyncCallback\<void>): void
| callback | AsyncCallback<void\> | 是 | 回调函数。当Ability设置成功,err为undefined,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1107,9 +1410,9 @@ wantAgent.getWantAgent(wantAgentInfo).then((agent) => {
});
```
### setSessionEvent<sup>10+</sup>
### dispatchSessionEvent<sup>10+</sup>
setSessionEvent(event: string, args: {[key: string]: any}): Promise\<void>
dispatchSessionEvent(event: string, args: {[key: string]: Object}): Promise\<void>
媒体提供方设置一个会话内自定义事件,包括事件名和键值对形式的事件内容, 结果通过Promise异步回调方式返回。
......@@ -1131,7 +1434,7 @@ setSessionEvent(event: string, args: {[key: string]: any}): Promise\<void>
| Promise<void\> | Promise对象。当事件设置成功,无返回结果,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1145,14 +1448,14 @@ let eventName = "dynamic_lyric";
let args = {
lyric : "This is lyric"
}
await session.setSessionEvent(eventName, args).catch((err) => {
console.info(`SetSessionEvent BusinessError: code: ${err.code}, message: ${err.message}`);
await session.dispatchSessionEvent(eventName, args).catch((err) => {
console.info(`dispatchSessionEvent BusinessError: code: ${err.code}, message: ${err.message}`);
})
```
### setSessionEvent<sup>10+</sup>
### dispatchSessionEvent<sup>10+</sup>
setSessionEvent(event: string, args: {[key: string]: any}, callback: AsyncCallback<void>): void
dispatchSessionEvent(event: string, args: {[key: string]: Object}, callback: AsyncCallback<void>): void
媒体提供方设置一个会话内自定义事件,包括事件名和键值对形式的事件内容, 结果通过callback异步回调方式返回。
......@@ -1169,7 +1472,7 @@ setSessionEvent(event: string, args: {[key: string]: any}, callback: AsyncCallba
| callback | AsyncCallback<void\> | 是 | 回调函数。当会话事件设置成功,err为undefined,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1183,9 +1486,9 @@ let eventName = "dynamic_lyric";
let args = {
lyric : "This is lyric"
}
await session.setSessionEvent(eventName, args, (err) => {
await session.dispatchSessionEvent(eventName, args, (err) => {
if(err) {
console.info(`SetSessionEvent BusinessError: code: ${err.code}, message: ${err.message}`);
console.info(`dispatchSessionEvent BusinessError: code: ${err.code}, message: ${err.message}`);
}
})
```
......@@ -1205,7 +1508,7 @@ getController(): Promise\<AVSessionController>
| Promise<[AVSessionController](#avsessioncontroller)> | Promise对象。返回会话控制器。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1239,7 +1542,7 @@ getController(callback: AsyncCallback\<AVSessionController>): void
| callback | AsyncCallback<[AVSessionController](#avsessioncontroller)\> | 是 | 回调函数。返回会话控制器。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1275,7 +1578,7 @@ getOutputDevice(): Promise\<OutputDeviceInfo>
| Promise<[OutputDeviceInfo](#outputdeviceinfo)> | Promise对象。返回播放设备信息。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1307,7 +1610,7 @@ getOutputDevice(callback: AsyncCallback\<OutputDeviceInfo>): void
| callback | AsyncCallback<[OutputDeviceInfo](#outputdeviceinfo)\> | 是 | 回调函数,返回播放设备信息。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1341,7 +1644,7 @@ activate(): Promise\<void>
| Promise<void\> | Promise对象。当会话激活成功,无返回结果,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1373,7 +1676,7 @@ activate(callback: AsyncCallback\<void>): void
| callback | AsyncCallback<void\> | 是 | 回调函数。当会话激活成功,err为undefined,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1407,7 +1710,7 @@ deactivate(): Promise\<void>
| Promise<void\> | Promise对象。当禁用会话成功,无返回结果,否则返回错误对象。|
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1441,7 +1744,7 @@ deactivate(callback: AsyncCallback\<void>): void
| callback | AsyncCallback<void\> | 是 | 回调函数。当禁用会话成功,err为undefined,否则返回错误对象。|
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1475,7 +1778,7 @@ destroy(): Promise\<void>
| Promise<void\> | Promise对象。当会话销毁成功,无返回结果,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1508,7 +1811,7 @@ destroy(callback: AsyncCallback\<void>): void
| callback | AsyncCallback<void\> | 是 | 回调函数。当会话销毁成功,err为undefined,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1543,7 +1846,7 @@ on(type: 'play'|'pause'|'stop'|'playNext'|'playPrevious'|'fastForward'|'rewind',
| callback | callback: () => void | 是 | 回调函数。当监听事件注册成功,err为undefined,否则为错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1592,7 +1895,7 @@ on(type: 'seek', callback: (time: number) => void): void
| callback | (time: number) => void | 是 | 回调函数。参数time是时间节点,单位为毫秒。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1623,7 +1926,7 @@ on(type: 'setSpeed', callback: (speed: number) => void): void
| callback | (speed: number) => void | 是 | 回调函数。参数speed是播放倍速。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1654,7 +1957,7 @@ on(type: 'setLoopMode', callback: (mode: LoopMode) => void): void
| callback | (mode: [LoopMode](#loopmode)) => void | 是 | 回调函数。参数mode是循环模式。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1685,7 +1988,7 @@ on(type: 'toggleFavorite', callback: (assetId: string) => void): void
| callback | (assetId: string) => void | 是 | 回调函数。参数assetId是媒体ID。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1700,6 +2003,39 @@ session.on('toggleFavorite', (assetId) => {
});
```
### on('skipToQueueItem')<sup>10+</sup>
on(type: 'skipToQueueItem', callback: (itemId: number) => void): void
设置播放列表其中某项被选中的监听事件,session端可以选择对这个单项歌曲进行播放。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**系统接口:** 该接口为系统接口
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------ | ---- | ---------------------------------------------------------------------------------------- |
| type | string | 是 | 事件回调类型,支持事件`'skipToQueueItem'`:当播放列表选中单项的命令被发送到会话时,触发该事件。 |
| callback | (itemId: number) => void | 是 | 回调函数。参数itemId是选中的播放列表项的ID。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
**示例:**
```js
session.on('skipToQueueItem', (itemId) => {
console.info(`on skipToQueueItem id : ${itemId}`);
});
```
### on('handleKeyEvent')
on(type: 'handleKeyEvent', callback: (event: KeyEvent) => void): void
......@@ -1716,7 +2052,7 @@ on(type: 'handleKeyEvent', callback: (event: KeyEvent) => void): void
| callback | (event: [KeyEvent](js-apis-keyevent.md)) => void | 是 | 回调函数。参数event是按键事件。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1747,7 +2083,7 @@ on(type: 'outputDeviceChange', callback: (device: OutputDeviceInfo) => void): vo
| callback | (device: [OutputDeviceInfo](#outputdeviceinfo)) => void | 是 | 回调函数。参数device是设备相关信息。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1762,6 +2098,39 @@ session.on('outputDeviceChange', (device) => {
});
```
### on('commonCommand')<sup>10+</sup>
on(type: 'commonCommand', callback: (command: string, args: {[key: string]: Object}) => void): void
设置自定义控制命令变化的监听器。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**系统接口:** 该接口为系统接口
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type | string | 是 | 事件回调类型,支持事件`'commonCommand'`:当自定义控制命令变化时,触发该事件。 |
| callback | (commonCommand: string, args: {[key:string]: Object}) => void | 是 | 回调函数,commonCommand为变化的自定义控制命令名,args为自定义控制命令的参数。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ------------------------------ |
| 6600101 | Session service exception. |
| 6600103 | The session controller does not exist. |
**示例:**
```js
session.on('commonCommand', (commonCommand, args) => {
console.info(`OnCommonCommand, the command is ${commonCommand}, args: ${JSON.stringify(args)}`);
});
```
### off('play'|'pause'|'stop'|'playNext'|'playPrevious'|'fastForward'|'rewind')
off(type: 'play' | 'pause' | 'stop' | 'playNext' | 'playPrevious' | 'fastForward' | 'rewind', callback?: () => void): void
......@@ -1778,7 +2147,7 @@ off(type: 'play' | 'pause' | 'stop' | 'playNext' | 'playPrevious' | 'fastForward
| callback | callback: () => void | 否 | 回调函数。当监听事件取消成功,err为undefined,否则返回错误对象。<br>该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1813,7 +2182,7 @@ off(type: 'seek', callback?: (time: number) => void): void
| callback | (time: number) => void | 否 | 回调函数,参数time是时间节点,单位为毫秒。<br>当监听事件取消成功,err为undefined,否则返回错误对象。<br>该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1842,7 +2211,7 @@ off(type: 'setSpeed', callback?: (speed: number) => void): void
| callback | (speed: number) => void | 否 | 回调函数,参数speed是播放倍速。<br>当监听事件取消成功,err为undefined,否则返回错误对象。<br>该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1871,7 +2240,7 @@ off(type: 'setLoopMode', callback?: (mode: LoopMode) => void): void
| callback | (mode: [LoopMode](#loopmode)) => void | 否 | 回调函数,参数mode是循环模式。<br>当监听事件取消成功,err为undefined,否则返回错误对象。<br>该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1900,7 +2269,7 @@ off(type: 'toggleFavorite', callback?: (assetId: string) => void): void
| callback | (assetId: string) => void | 否 | 回调函数,参数assetId是媒体ID。<br>当监听事件取消成功,err为undefined,否则返回错误对象。<br>该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1913,23 +2282,25 @@ off(type: 'toggleFavorite', callback?: (assetId: string) => void): void
session.off('toggleFavorite');
```
### off('handleKeyEvent')
### off('skipToQueueItem')<sup>10+</sup>
off(type: 'handleKeyEvent', callback?: (event: KeyEvent) => void): void
off(type: 'skipToQueueItem', callback?: (itemId: number) => void): void
取消监听按键事件。
取消监听播放列表单项选中的事件
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**系统接口:** 该接口为系统接口
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type | string | 是 | 关闭对应的监听事件,支持关闭事件`'handleKeyEvent'` |
| callback | (event: [KeyEvent](js-apis-keyevent.md)) => void | 否 | 回调函数,参数event是按键事件。<br>当监听事件取消成功,err为undefined,否则返回错误对象。<br>该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
| -------- | ------------------------ | ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- |
| type | string | 是 | 关闭对应的监听事件,支持关闭事件`'skipToQueueItem'` |
| callback | (itemId: number) => void | 否 | 回调函数,参数itemId是播放列表单项ID。<br>当监听事件取消成功,err为undefined,否则返回错误对象。<br>该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1939,26 +2310,55 @@ off(type: 'handleKeyEvent', callback?: (event: KeyEvent) => void): void
**示例:**
```js
session.off('handleKeyEvent');
session.off('skipToQueueItem');
```
### off('outputDeviceChange')
### off('handleKeyEvent')
off(type: 'outputDeviceChange', callback?: (device: OutputDeviceInfo) => void): void
off(type: 'handleKeyEvent', callback?: (event: KeyEvent) => void): void
取消监听播放设备变化的事件。
取消监听按键事件。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------ |
| type | string | 是 | 关闭对应的监听事件,支持关闭事件`'outputDeviceChange'` |
| callback | (device: [OutputDeviceInfo](#outputdeviceinfo)) => void | 否 | 回调函数,参数device是设备相关信息。<br>当监听事件取消成功,err为undefined,否则返回错误对象。<br>该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type | string | 是 | 关闭对应的监听事件,支持关闭事件`'handleKeyEvent'` |
| callback | (event: [KeyEvent](js-apis-keyevent.md)) => void | 否 | 回调函数,参数event是按键事件。<br>当监听事件取消成功,err为undefined,否则返回错误对象。<br>该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
**示例:**
```js
session.off('handleKeyEvent');
```
### off('outputDeviceChange')
off(type: 'outputDeviceChange', callback?: (device: OutputDeviceInfo) => void): void
取消监听播放设备变化的事件。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------- | ---- | ------------------------------------------------------ |
| type | string | 是 | 关闭对应的监听事件,支持关闭事件`'outputDeviceChange'`。 |
| callback | (device: [OutputDeviceInfo](#outputdeviceinfo)) => void | 否 | 回调函数,参数device是设备相关信息。<br>当监听事件取消成功,err为undefined,否则返回错误对象。<br>该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -1972,6 +2372,37 @@ session.off('outputDeviceChange');
```
### off('commonCommand')<sup>10+</sup>
off(type: 'commonCommand', callback?: (commonCommand: string, args: {[key:string]: Object}) => void): void
取消监听自定义控制命令的变化。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**系统接口:** 该接口为系统接口
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ----------------------------------------------------- |
| type | string | 是 | 取消对应的监听事件,支持事件`'commonCommand'`。 |
| callback | (commonCommand: string, args: {[key:string]: Object}) => void | 否 | 回调函数,参数commonCommand是变化的自定义控制命令名,args为自定义控制命令的参数。<br>该参数为可选参数,若不填写该参数,则认为取消所有对commonCommand事件的监听。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------- |
| 6600101 | Session service exception. |
**示例:**
```js
session.off('commonCommand');
```
## AVSessionController
......@@ -2012,7 +2443,7 @@ getAVPlaybackState(): Promise\<AVPlaybackState>
| Promise<[AVPlaybackState](#avplaybackstate)\> | Promise对象。返回播放状态对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -2044,7 +2475,7 @@ getAVPlaybackState(callback: AsyncCallback\<AVPlaybackState>): void
| callback | AsyncCallback<[AVPlaybackState](#avplaybackstate)\> | 是 | 回调函数,返回当前播放状态对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -2063,6 +2494,225 @@ controller.getAVPlaybackState(function (err, playbackState) {
});
```
### getAVQueueItems<sup>10+</sup>
getAVQueueItems(): Promise\<Array\<AVQueueItem>>
获取当前会话播放列表相关信息。结果通过Promise异步回调方式返回。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**系统接口:** 该接口为系统接口
**返回值:**
| 类型 | 说明 |
| --------------------------------------------- | ----------------------------- |
| Promise<Array<[AVQueueItem](#avqueueitem10)\>\> | Promise对象。返回播放列表队列。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
**示例:**
```js
controller.getAVQueueItems().then((items) => {
console.info(`GetAVQueueItems : SUCCESS : length : ${items.length}`);
}).catch((err) => {
console.info(`GetAVQueueItems BusinessError: code: ${err.code}, message: ${err.message}`);
});
```
### getAVQueueItems<sup>10+</sup>
getAVQueueItems(callback: AsyncCallback\<Array\<AVQueueItem>>): void
获取当前播放列表相关信息。结果通过callback异步回调方式返回。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**系统接口:** 该接口为系统接口
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------------------- | ---- | ------------------------- |
| callback | AsyncCallback<Array<[AVQueueItem](#avqueueitem10)\>\> | 是 | 回调函数,返回播放列表队列。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
**示例:**
```js
controller.getAVQueueItems(function (err, items) {
if (err) {
console.info(`GetAVQueueItems BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info(`GetAVQueueItems : SUCCESS : length : ${items.length}`);
}
});
```
### getAVQueueTitle<sup>10+</sup>
getAVQueueTitle(): Promise\<string>
获取当前会话播放列表的名称。结果通过Promise异步回调方式返回。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**系统接口:** 该接口为系统接口
**返回值:**
| 类型 | 说明 |
| ---------------- | ----------------------------- |
| Promise<string\> | Promise对象。返回播放列表名称。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
**示例:**
```js
controller.getAVQueueTitle().then((title) => {
console.info(`GetAVQueueTitle : SUCCESS : title : ${title}`);
}).catch((err) => {
console.info(`GetAVQueueTitle BusinessError: code: ${err.code}, message: ${err.message}`);
});
```
### getAVQueueTitle<sup>10+</sup>
getAVQueueTitle(callback: AsyncCallback\<string>): void
获取当前播放列表的名称。结果通过callback异步回调方式返回。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**系统接口:** 该接口为系统接口
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | ------------------------- |
| callback | AsyncCallback<string\> | 是 | 回调函数,返回播放列表名称。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
**示例:**
```js
controller.getAVQueueTitle(function (err, title) {
if (err) {
console.info(`GetAVQueueTitle BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info(`GetAVQueueTitle : SUCCESS : title : ${title}`);
}
});
```
### skipToQueueItem<sup>10+</sup>
skipToQueueItem(itemId: number): Promise\<void>
设置指定播放列表单项的ID,发送给session端处理,session端可以选择对这个单项歌曲进行播放。结果通过Promise异步回调方式返回。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**系统接口:** 该接口为系统接口
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------- | ---- | ------------------------------------------- |
| itemId | number | 是 | 播放列表单项的ID值,用以表示选中的播放列表单项。 |
**返回值:**
| 类型 | 说明 |
| -------------- | --------------------------------------------------------------- |
| Promise<void\> | Promise对象。当播放列表单项ID设置成功,无返回结果,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
**示例:**
```js
let queueItemId = 0;
controller.skipToQueueItem(queueItemId).then(() => {
console.info('SkipToQueueItem successfully');
}).catch((err) => {
console.info(`SkipToQueueItem BusinessError: code: ${err.code}, message: ${err.message}`);
});
```
### skipToQueueItem<sup>10+</sup>
skipToQueueItem(itemId: number, callback: AsyncCallback\<void>): void
设置指定播放列表单项的ID,发送给session端处理,session端可以选择对这个单项歌曲进行播放。结果通过callback异步回调方式返回。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**系统接口:** 该接口为系统接口
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------- | ---- | ----------------------------------------------------------- |
| itemId | number | 是 | 播放列表单项的ID值,用以表示选中的播放列表单项。 |
| callback | AsyncCallback<void\> | 是 | 回调函数。当播放状态设置成功,err为undefined,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
**示例:**
```js
let queueItemId = 0;
controller.skipToQueueItem(queueItemId, function (err) {
if (err) {
console.info(`SkipToQueueItem BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('SkipToQueueItem successfully');
}
});
```
### getAVMetadata
getAVMetadata(): Promise\<AVMetadata>
......@@ -2078,7 +2728,7 @@ getAVMetadata(): Promise\<AVMetadata>
| Promise<[AVMetadata](#avmetadata)\> | Promise对象,返回会话元数据。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -2110,7 +2760,7 @@ getAVMetadata(callback: AsyncCallback\<AVMetadata>): void
| callback | AsyncCallback<[AVMetadata](#avmetadata)\> | 是 | 回调函数,返回会话元数据。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -2144,7 +2794,7 @@ getOutputDevice(): Promise\<OutputDeviceInfo>
| Promise<[OutputDeviceInfo](#outputdeviceinfo)\> | Promise对象,返回播放设备信息。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -2175,7 +2825,7 @@ getOutputDevice(callback: AsyncCallback\<OutputDeviceInfo>): void
| callback | AsyncCallback<[OutputDeviceInfo](#outputdeviceinfo)\> | 是 | 回调函数,返回播放设备信息。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -2209,7 +2859,7 @@ sendAVKeyEvent(event: KeyEvent): Promise\<void>
| event | [KeyEvent](js-apis-keyevent.md) | 是 | 按键事件。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -2254,7 +2904,7 @@ sendAVKeyEvent(event: KeyEvent, callback: AsyncCallback\<void>): void
| callback | AsyncCallback<void\> | 是 | 回调函数。当事件发送成功,err为undefined,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -2294,7 +2944,7 @@ getLaunchAbility(): Promise\<WantAgent>
| Promise<[WantAgent](js-apis-app-ability-wantAgent.md)\> | Promise对象,返回在[setLaunchAbility](#setlaunchability)保存的对象,包括应用的相关属性信息,如bundleName,abilityName,deviceId等。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -2329,7 +2979,7 @@ getLaunchAbility(callback: AsyncCallback\<WantAgent>): void
| callback | AsyncCallback<[WantAgent](js-apis-app-ability-wantAgent.md)\> | 是 | 回调函数。返回在[setLaunchAbility](#setlaunchability)保存的对象,包括应用的相关属性信息,如bundleName,abilityName,deviceId等。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -2366,7 +3016,7 @@ getRealPlaybackPositionSync(): number
| number | 时间节点,毫秒数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -2394,7 +3044,7 @@ isActive(): Promise\<boolean>
| Promise<boolean\> | Promise对象,返回会话是否为激活状态,true表示被激活,false表示禁用。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -2427,7 +3077,7 @@ isActive(callback: AsyncCallback\<boolean>): void
| callback | AsyncCallback<boolean\> | 是 | 回调函数,返回会话是否为激活状态,true表示被激活,false表示禁用。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -2462,7 +3112,7 @@ destroy(): Promise\<void>
| Promise<void\> | Promise对象。当控制器销毁成功,无返回结果,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -2494,7 +3144,7 @@ destroy(callback: AsyncCallback\<void>): void
| callback | AsyncCallback<void\> | 是 | 回调函数。当控制器销毁成功,err为undefined,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -2528,7 +3178,7 @@ getValidCommands(): Promise\<Array\<AVControlCommandType>>
| Promise<Array<[AVControlCommandType](#avcontrolcommandtype)\>\> | Promise对象。返回有效命令的集合。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -2561,7 +3211,7 @@ getValidCommands(callback: AsyncCallback\<Array\<AVControlCommandType>>): void
| callback | AsyncCallback\<Array\<[AVControlCommandType](#avcontrolcommandtype)\>\> | 是 | 回调函数,返回有效命令的集合。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -2602,7 +3252,7 @@ sendControlCommand(command: AVControlCommand): Promise\<void>
| Promise<void\> | Promise对象。当命令发送成功,无返回结果,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
......@@ -2650,7 +3300,7 @@ sendControlCommand(command: AVControlCommand, callback: AsyncCallback\<void>): v
| callback | AsyncCallback<void\> | 是 | 回调函数。当命令发送成功,err为undefined,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ------------------------------- |
......@@ -2684,6 +3334,93 @@ controller.sendControlCommand(avCommand, function (err) {
});
```
### sendCommonCommand<sup>10+</sup>
sendCommonCommand(command: string, args: {[key: string]: Object}): Promise\<void>
通过会话控制器发送自定义控制命令到其对应的会话。结果通过Promise异步回调方式返回。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------- | ---- | ------------------------------ |
| command | string | 是 | 需要设置的自定义控制命令的名称 |
| args | {[key: string]: any} | 是 | 需要传递的控制命令键值对 |
**返回值:**
| 类型 | 说明 |
| -------------- | ----------------------------- |
| Promise<void\> | Promise对象。当命令发送成功,无返回结果,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------------------------------- |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
| 6600105 | Invalid session command. |
| 6600106 | The session is not activated. |
| 6600107 | Too many commands or events. |
**示例:**
```js
let commandName = "my_command";
let args = {
command : "This is my command"
}
await controller.sendCommonCommand(commandName, args).catch((err) => {
console.info(`SendCommonCommand BusinessError: code: ${err.code}, message: ${err.message}`);
})
```
### sendCommonCommand<sup>10+</sup>
sendCommonCommand(command: string, args: {[key: string]: Object}, callback: AsyncCallback\<void>): void
通过会话控制器发送自定义命令到其对应的会话。结果通过callback异步回调方式返回。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| ------- | ------------------------------------- | ---- | ------------------------------ |
| command | string | 是 | 需要设置的自定义控制命令的名称 |
| args | {[key: string]: any} | 是 | 需要传递的控制命令键值对 |
| callback | AsyncCallback<void\> | 是 | 回调函数。当命令发送成功,err为undefined,否则返回错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ------------------------------- |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
| 6600105 | Invalid session command. |
| 6600106 | The session is not activated. |
| 6600107 | Too many commands or events. |
**示例:**
```js
let commandName = "my_command";
let args = {
command : "This is my command"
}
controller.sendCommonCommand(commandName, args, (err) => {
if(err) {
console.info(`SendCommonCommand BusinessError: code: ${err.code}, message: ${err.message}`);
}
})
```
### on('metadataChange')
on(type: 'metadataChange', filter: Array\<keyof AVMetadata> | 'all', callback: (data: AVMetadata) => void)
......@@ -2701,7 +3438,7 @@ on(type: 'metadataChange', filter: Array\<keyof AVMetadata> | 'all', callback: (
| callback | (data: [AVMetadata](#avmetadata)) => void | 是 | 回调函数,参数data是变化后的元数据。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ------------------------------ |
......@@ -2738,7 +3475,7 @@ on(type: 'playbackStateChange', filter: Array\<keyof AVPlaybackState> | 'all', c
| callback | (state: [AVPlaybackState](#avplaybackstate)) => void | 是 | 回调函数,参数state是变化后的播放状态。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ------------------------------ |
......@@ -2758,9 +3495,9 @@ controller.on('playbackStateChange', playbackFilter, (playbackState) => {
});
```
### on('sessionEventChange')<sup>10+</sup>
### on('sessionEvent')<sup>10+</sup>
on(type: 'sessionEventChange', callback: (sessionEvent: string, args: {[key:string]: any}) => void): void
on(type: 'sessionEvent', callback: (sessionEvent: string, args: {[key:string]: Object}) => void): void
媒体控制器设置会话自定义事件变化的监听器。
......@@ -2772,11 +3509,44 @@ on(type: 'sessionEventChange', callback: (sessionEvent: string, args: {[key:stri
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type | string | 是 | 事件回调类型,支持事件`'sessionEventChange'`:当会话事件变化时,触发该事件。 |
| callback | (sessionEvent: string, args: {[key:string]: any}) => void | 是 | 回调函数,sessionEvent为变化的会话事件名,args为事件的参数。 |
| type | string | 是 | 事件回调类型,支持事件`'sessionEvent'`:当会话事件变化时,触发该事件。 |
| callback | (sessionEvent: string, args: {[key:string]: object}) => void | 是 | 回调函数,sessionEvent为变化的会话事件名,args为事件的参数。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ------------------------------ |
| 6600101 | Session service exception. |
| 6600103 | The session controller does not exist. |
**示例:**
```js
controller.on('sessionEvent', (sessionEvent, args) => {
console.info(`OnSessionEvent, sessionEvent is ${sessionEvent}, args: ${JSON.stringify(args)}`);
});
```
### on('queueItemsChange')<sup>10+</sup>
on(type: 'queueItemsChange', callback: (items: Array<[AVQueueItem](#avqueueitem10)\>) => void): void
媒体控制器设置会话自定义事件变化的监听器。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**系统接口:** 该接口为系统接口
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------------------------------- | ---- | ---------------------------------------------------------------------------- |
| type | string | 是 | 事件回调类型,支持事件`'queueItemsChange'`:当session修改播放列表时,触发该事件。 |
| callback | (items: Array<[AVQueueItem](#avqueueitem10)\>) => void | 是 | 回调函数,items为变化的会话事件名,args为事件的参数。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ------------------------------ |
......@@ -2786,8 +3556,41 @@ on(type: 'sessionEventChange', callback: (sessionEvent: string, args: {[key:stri
**示例:**
```js
controller.on('sessionEventChange', (sessionEvent, args) => {
console.info(`OnSessionEventChange, sessionEvent is ${sessionEvent}, args: ${JSON.stringify(args)}`);
controller.on('queueItemsChange', (items) => {
console.info(`OnQueueItemsChange, items length is ${items.length}`);
});
```
### on('queueTitleChange')<sup>10+</sup>
on(type: 'queueTitleChange', callback: (title: string) => void): void
媒体控制器设置会话自定义事件变化的监听器。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**系统接口:** 该接口为系统接口
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ------------------------------------------------------------------------------- |
| type | string | 是 | 事件回调类型,支持事件`'queueTitleChange'`:当session修改播放列表名称时,触发该事件。 |
| callback | (title: string) => void | 是 | 回调函数,items为变化的会话事件名,args为事件的参数。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ------------------------------ |
| 6600101 | Session service exception. |
| 6600103 | The session controller does not exist. |
**示例:**
```js
controller.on('queueTitleChange', (title) => {
console.info(`queueTitleChange, title is ${title}`);
});
```
......@@ -2807,7 +3610,7 @@ on(type: 'sessionDestroy', callback: () => void)
| callback | () => void | 是 | 回调函数。当监听事件注册成功,err为undefined,否则为错误对象。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ------------------------------ |
......@@ -2838,7 +3641,7 @@ on(type: 'activeStateChange', callback: (isActive: boolean) => void)
| callback | (isActive: boolean) => void | 是 | 回调函数。参数isActive表示会话是否被激活。true表示被激活,false表示禁用。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ----------------------------- |
......@@ -2869,7 +3672,7 @@ on(type: 'validCommandChange', callback: (commands: Array\<AVControlCommandType>
| callback | (commands: Array<[AVControlCommandType](#avcontrolcommandtype)\>) => void | 是 | 回调函数。参数commands是有效命令的集合。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ------------------------------ |
......@@ -2901,7 +3704,7 @@ on(type: 'outputDeviceChange', callback: (device: OutputDeviceInfo) => void): vo
| callback | (device: [OutputDeviceInfo](#outputdeviceinfo)) => void | 是 | 回调函数,参数device是设备相关信息。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ----------------------- |
......@@ -2932,7 +3735,7 @@ off(type: 'metadataChange', callback?: (data: AVMetadata) => void)
| callback | (data: [AVMetadata](#avmetadata)) => void | 否 | 回调函数,参数data是变化后的元数据。<br>该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------- |
......@@ -2960,7 +3763,7 @@ off(type: 'playbackStateChange', callback?: (state: AVPlaybackState) => void)
| callback | (state: [AVPlaybackState](#avplaybackstate)) => void | 否 | 回调函数,参数state是变化后的播放状态。<br>该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------- |
......@@ -2972,9 +3775,9 @@ off(type: 'playbackStateChange', callback?: (state: AVPlaybackState) => void)
controller.off('playbackStateChange');
```
### off('sessionEventChange')<sup>10+</sup>
### off('sessionEvent')<sup>10+</sup>
off(type: 'sessionEventChange', callback?: (sessionEvent: string, args: {[key:string]: any}) => void): void
off(type: 'sessionEvent', callback?: (sessionEvent: string, args: {[key:string]: Obejct}) => void): void
控制器取消监听播放状态变化的事件。
......@@ -2986,11 +3789,11 @@ off(type: 'sessionEventChange', callback?: (sessionEvent: string, args: {[key:st
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ----------------------------------------------------- |
| type | string | 是 | 取消对应的监听事件,支持事件`'sessionEventChange'`。 |
| callback | (sessionEvent: string, args: {[key:string]: any}) => void | 否 | 回调函数,参数sessionEvent是变化的事件名,args为事件的参数。<br>该参数为可选参数,若不填写该参数,则认为取消所有对sessionEventChange事件的监听。 |
| type | string | 是 | 取消对应的监听事件,支持事件`'sessionEvent'`。 |
| callback | (sessionEvent: string, args: {[key:string]: object}) => void | 否 | 回调函数,参数sessionEvent是变化的事件名,args为事件的参数。<br>该参数为可选参数,若不填写该参数,则认为取消所有对sessionEvent事件的监听。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------- |
......@@ -2999,7 +3802,67 @@ off(type: 'sessionEventChange', callback?: (sessionEvent: string, args: {[key:st
**示例:**
```js
controller.off('sessionEventChange');
controller.off('sessionEvent');
```
### off('queueItemsChange')<sup>10+</sup>
off(type: 'queueItemsChange', callback?: (items: Array<[AVQueueItem](#avqueueitem10)\>) => void): void
控制器取消监听播放列表变化的事件。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**系统接口:** 该接口为系统接口
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------------------- | ---- | --------------------------------------------------------------------------------------------------- |
| type | string | 是 | 取消对应的监听事件,支持事件`'queueTitleChange'`。 |
| callback | (items: Array<[AVQueueItem](#avqueueitem10)\>) => void | 否 | 回调函数,参数items是变化的播放列表。<br>该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------- |
| 6600101 | Session service exception. |
**示例:**
```js
controller.off('queueItemsChange');
```
### off('queueTitleChange')<sup>10+</sup>
off(type: 'queueTitleChange', callback?: (title: string) => void): void
控制器取消监听播放列表名称变化的事件。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
**系统接口:** 该接口为系统接口
**参数:**
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------- | ---- | ------------------------------------------------------------------------------------------------------- |
| type | string | 是 | 取消对应的监听事件,支持事件`'queueTitleChange'`。 |
| callback | (title: string) => void | 否 | 回调函数,参数items是变化的播放列表名称。<br>该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
**错误码:**
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------- |
| 6600101 | Session service exception. |
**示例:**
```js
controller.off('queueTitleChange');
```
### off('sessionDestroy')
......@@ -3018,7 +3881,7 @@ off(type: 'sessionDestroy', callback?: () => void)
| callback | () => void | 否 | 回调函数。当监听事件取消成功,err为undefined,否则返回错误对象。<br>该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------- |
......@@ -3046,7 +3909,7 @@ off(type: 'activeStateChange', callback?: (isActive: boolean) => void)
| callback | (isActive: boolean) => void | 否 | 回调函数。参数isActive表示会话是否被激活。true表示被激活,false表示禁用。<br>该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------- |
......@@ -3074,7 +3937,7 @@ off(type: 'validCommandChange', callback?: (commands: Array\<AVControlCommandTyp
| callback | (commands: Array<[AVControlCommandType](#avcontrolcommandtype)\>) => void | 否 | 回调函数。参数commands是有效命令的集合。<br>该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------- |
......@@ -3102,7 +3965,7 @@ off(type: 'outputDeviceChange', callback?: (device: OutputDeviceInfo) => void):
| callback | (device: [OutputDeviceInfo](#outputdeviceinfo)) => void | 否 | 回调函数,参数device是设备相关信息。<br>该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
**错误码:**
以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)
以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)
| 错误码ID | 错误信息 |
| -------- | ---------------- |
......@@ -3213,6 +4076,34 @@ controller.off('outputDeviceChange');
| previousAssetId | string | 否 | 上一首媒体ID。 |
| nextAssetId | string | 否 | 下一首媒体ID。 |
## AVMediaDescription<sup>10+</sup>
播放列表媒体元数据的相关属性。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
| 名称 | 类型 | 必填 | 说明 |
| ------------ | ----------------------- | ---- | ----------------------- |
| mediaId | string | 是 | 播放列表媒体ID。 |
| title | string | 否 | 播放列表媒体标题。 |
| subtitle | string | 否 | 播放列表媒体子标题。 |
| description | string | 否 | 播放列表媒体描述的文本。 |
| icon | image.PixelMap | 否 | 播放列表媒体图片像素数据。 |
| iconUri | string | 否 | 播放列表媒体图片路径地址。 |
| extras | {[key: string]: any} | 否 | 播放列表媒体额外字段。 |
| mediaUri | string | 否 | 播放列表媒体URI。 |
## AVQueueItem<sup>10+</sup>
播放列表中单项的相关属性。
**系统能力:** SystemCapability.Multimedia.AVSession.Core
| 名称 | 类型 | 必填 | 说明 |
| ------------ | ------------------------------------------ | ---- | --------------------------- |
| itemId | number | 是 | 播放列表中单项的ID。 |
| description | [AVMediaDescription](#avmediadescription10) | 是 | 播放列表中单项的媒体元数据。 |
## AVPlaybackState
媒体播放状态的相关属性。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册