diff --git a/zh-cn/application-dev/reference/apis/js-apis-avsession.md b/zh-cn/application-dev/reference/apis/js-apis-avsession.md index 552b10b89e557e4c0152281a125f38c062638310..768b57c04e43a854debf590f38fd26c040089efc 100755 --- a/zh-cn/application-dev/reference/apis/js-apis-avsession.md +++ b/zh-cn/application-dev/reference/apis/js-apis-avsession.md @@ -43,7 +43,7 @@ createAVSession(context: Context, tag: string, type: AVSessionType): Promise\ | 是 | 回调函数。回调返回会话实例对象,可用于获取会话ID,以及设置元数据、播放状态,发送按键事件等操作。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -128,7 +128,7 @@ getAllSessionDescriptors(): Promise\>> | Promise\\>\> | Promise对象。返回所有会话描述的只读对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -155,7 +155,7 @@ getAllSessionDescriptors(callback: AsyncCallback\\>\> | 是 | 回调函数。返回所有会话描述的只读对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -191,6 +191,99 @@ avSession.getAllSessionDescriptors(function (err, descriptors) { }); ``` +## avSession.getHistoricalSessionDescriptors10+ + +getHistoricalSessionDescriptors(maxSize?: number): Promise\>> + +获取所有会话的相关描述。结果通过Promise异步回调方式返回。 + +**需要权限:** ohos.permission.MANAGE_MEDIA_RESOURCES + +**系统能力:** SystemCapability.Multimedia.AVSession.Manager + +**系统接口:** 该接口为系统接口。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------ | ---- | -----------------------------------------------------------------| +| maxSize | number | 否 | 指定获取描述符数量的最大值,可选范围是0-10,不填则取默认值,默认值为3。| + +**返回值:** + +| 类型 | 说明 | +| --------------------------------------------------------------------------- | -------------------------------------- | +| Promise\\>\> | 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.getHistoricalSessionDescriptors10+ + +getHistoricalSessionDescriptors(maxSize: number, callback: AsyncCallback\>>): void + +获取所有会话的相关描述。结果通过callback异步回调方式返回。 + +**需要权限:** ohos.permission.MANAGE_MEDIA_RESOURCES。 + +**系统能力:** SystemCapability.Multimedia.AVSession.Manager + +**系统接口:** 该接口为系统接口。 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------------------------------------------------ | ---- | -----------------------------------------------------------------| +| maxSize | number | 是 | 指定获取描述符数量的最大值,可选范围是0-10,不填则取默认值,默认值为3。| +| callback | AsyncCallback\>\> | 是 | 回调函数。返回所有会话描述的只读对象。 | + +**错误码:** +以下错误码的详细介绍请参见[媒体会话管理错误码](../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\ @@ -216,7 +309,7 @@ createController(sessionId: string): Promise\ | Promise<[AVSessionController](#avsessioncontroller)\> | Promise对象。返回会话控制器实例,可查看会话ID,
并完成对会话发送命令及事件,获取元数据、播放状态信息等操作。| **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -268,7 +361,7 @@ createController(sessionId: string, callback: AsyncCallback\ | 是 | 回调函数。返回会话控制器实例,可查看会话ID,
并完成对会话发送命令及事件,获取元数据、播放状态信息等操作。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -330,7 +423,7 @@ castAudio(session: SessionToken | 'all', audioDevices: Array | Promise对象。当投播成功,无返回结果,否则返回错误对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -382,7 +475,7 @@ castAudio(session: SessionToken | 'all', audioDevices: Array | 是 | 回调函数。当投播成功,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,否则返回错误对象。
该参数为会话相关描述,为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 | **错误码:** -以下错误码的详细介绍请参见[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,否则返回错误对象。
该参数为可选参数,若不填写该参数,则认为取消所有相关会话的服务死亡监听。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -578,7 +671,7 @@ sendSystemAVKeyEvent(event: KeyEvent): Promise\ | Promise | Promise对象。当事件发送成功,无返回结果,否则返回错误对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -620,7 +713,7 @@ sendSystemAVKeyEvent(event: KeyEvent, callback: AsyncCallback\): void | callback | AsyncCallback | 是 | 回调函数。当事件发送成功,err为undefined,否则返回错误对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -667,7 +760,7 @@ sendSystemControlCommand(command: AVControlCommand): Promise\ | Promise | Promise对象。当命令发送成功,无返回结果,否则返回错误对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -721,7 +814,7 @@ sendSystemControlCommand(command: AVControlCommand, callback: AsyncCallback\ | 是 | 回调函数。当命令发送成功,err为undefined,否则返回错误对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -797,7 +890,7 @@ setAVMetadata(data: AVMetadata): Promise\ | Promise | Promise对象。当元数据设置成功,无返回结果,否则返回错误对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -846,7 +939,7 @@ setAVMetadata(data: AVMetadata, callback: AsyncCallback\): void | callback | AsyncCallback | 是 | 回调函数。当元数据设置成功,err为undefined,否则返回错误对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -902,7 +995,7 @@ setAVPlaybackState(state: AVPlaybackState): Promise\ | Promise | Promise对象。当播放状态设置成功,无返回结果,否则返回错误对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -943,7 +1036,7 @@ setAVPlaybackState(state: AVPlaybackState, callback: AsyncCallback\): void | callback | AsyncCallback | 是 | 回调函数。当播放状态设置成功,err为undefined,否则返回错误对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -970,6 +1063,216 @@ session.setAVPlaybackState(PlaybackState, function (err) { }); ``` +### setAVQueueItems10+ + +setAVQueueItems(items: Array\): Promise + +设置媒体播放列表。结果通过Promise异步回调方式返回。 + +**系统能力:** SystemCapability.Multimedia.AVSession.Core + +**系统接口:** 该接口为系统接口 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------------------------------------ | ---- | ---------------------------------- | +| items | Array<[AVQueueItem](#avqueueitem10)\> | 是 | 播放列表单项的队列,用以表示播放列表。 | + +**返回值:** + +| 类型 | 说明 | +| -------------- | ----------------------------- | +| Promise | 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}`); +}); +``` + +### setAVQueueItems10+ + +setAVQueueItems(items: Array\, callback: AsyncCallback): void + +设置媒体播放列表。结果通过callback异步回调方式返回。 + +**系统能力:** SystemCapability.Multimedia.AVSession.Core + +**系统接口:** 该接口为系统接口 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------------------ | ---- | ----------------------------------------------------------- | +| items | Array<[AVQueueItem](#avqueueitem10)\> | 是 | 播放列表单项的队列,用以表示播放列表。 | +| callback | AsyncCallback | 是 | 回调函数。当播放状态设置成功,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'); + } +}); +``` + +### setAVQueueTitle10+ + +setAVQueueTitle(title: string): Promise\ + +设置媒体播放列表名称。结果通过Promise异步回调方式返回。 + +**系统能力:** SystemCapability.Multimedia.AVSession.Core + +**系统接口:** 该接口为系统接口 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | -------------- | +| title | string | 是 | 播放列表的名称。 | + +**返回值:** + +| 类型 | 说明 | +| -------------- | ----------------------------- | +| Promise | 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}`); +}); +``` + +### setAVQueueTitle10+ + +setAVQueueTitle(title: string, callback: AsyncCallback\): void + +设置媒体播放列表名称。结果通过callback异步回调方式返回。 + +**系统能力:** SystemCapability.Multimedia.AVSession.Core + +**系统接口:** 该接口为系统接口 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | --------------------- | ---- | ----------------------------------------------------------- | +| title | string | 是 | 播放列表名称字段。 | +| callback | AsyncCallback | 是 | 回调函数。当播放状态设置成功,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\ @@ -991,7 +1294,7 @@ setLaunchAbility(ability: WantAgent): Promise\ | Promise | Promise对象。当Ability设置成功,无返回结果,否则返回错误对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -1056,7 +1359,7 @@ setLaunchAbility(ability: WantAgent, callback: AsyncCallback\): void | callback | AsyncCallback | 是 | 回调函数。当Ability设置成功,err为undefined,否则返回错误对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -1107,9 +1410,9 @@ wantAgent.getWantAgent(wantAgentInfo).then((agent) => { }); ``` -### setSessionEvent10+ +### dispatchSessionEvent10+ -setSessionEvent(event: string, args: {[key: string]: any}): Promise\ +dispatchSessionEvent(event: string, args: {[key: string]: Object}): Promise\ 媒体提供方设置一个会话内自定义事件,包括事件名和键值对形式的事件内容, 结果通过Promise异步回调方式返回。 @@ -1131,7 +1434,7 @@ setSessionEvent(event: string, args: {[key: string]: any}): Promise\ | Promise | 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}`); }) ``` -### setSessionEvent10+ +### dispatchSessionEvent10+ -setSessionEvent(event: string, args: {[key: string]: any}, callback: AsyncCallback): void +dispatchSessionEvent(event: string, args: {[key: string]: Object}, callback: AsyncCallback): void 媒体提供方设置一个会话内自定义事件,包括事件名和键值对形式的事件内容, 结果通过callback异步回调方式返回。 @@ -1169,7 +1472,7 @@ setSessionEvent(event: string, args: {[key: string]: any}, callback: AsyncCallba | callback | AsyncCallback | 是 | 回调函数。当会话事件设置成功,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\ | Promise<[AVSessionController](#avsessioncontroller)> | Promise对象。返回会话控制器。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -1239,7 +1542,7 @@ getController(callback: AsyncCallback\): void | callback | AsyncCallback<[AVSessionController](#avsessioncontroller)\> | 是 | 回调函数。返回会话控制器。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -1275,7 +1578,7 @@ getOutputDevice(): Promise\ | Promise<[OutputDeviceInfo](#outputdeviceinfo)> | Promise对象。返回播放设备信息。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -1307,7 +1610,7 @@ getOutputDevice(callback: AsyncCallback\): void | callback | AsyncCallback<[OutputDeviceInfo](#outputdeviceinfo)\> | 是 | 回调函数,返回播放设备信息。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -1341,7 +1644,7 @@ activate(): Promise\ | Promise | Promise对象。当会话激活成功,无返回结果,否则返回错误对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -1373,7 +1676,7 @@ activate(callback: AsyncCallback\): void | callback | AsyncCallback | 是 | 回调函数。当会话激活成功,err为undefined,否则返回错误对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -1407,7 +1710,7 @@ deactivate(): Promise\ | Promise | Promise对象。当禁用会话成功,无返回结果,否则返回错误对象。| **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -1441,7 +1744,7 @@ deactivate(callback: AsyncCallback\): void | callback | AsyncCallback | 是 | 回调函数。当禁用会话成功,err为undefined,否则返回错误对象。| **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -1475,7 +1778,7 @@ destroy(): Promise\ | Promise | Promise对象。当会话销毁成功,无返回结果,否则返回错误对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -1508,7 +1811,7 @@ destroy(callback: AsyncCallback\): void | callback | AsyncCallback | 是 | 回调函数。当会话销毁成功,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')10+ + +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')10+ + +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,否则返回错误对象。
该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 | **错误码:** -以下错误码的详细介绍请参见[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是时间节点,单位为毫秒。
当监听事件取消成功,err为undefined,否则返回错误对象。
该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 | **错误码:** -以下错误码的详细介绍请参见[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是播放倍速。
当监听事件取消成功,err为undefined,否则返回错误对象。
该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 | **错误码:** -以下错误码的详细介绍请参见[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是循环模式。
当监听事件取消成功,err为undefined,否则返回错误对象。
该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 | **错误码:** -以下错误码的详细介绍请参见[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。
当监听事件取消成功,err为undefined,否则返回错误对象。
该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -1913,6 +2282,37 @@ off(type: 'toggleFavorite', callback?: (assetId: string) => void): void session.off('toggleFavorite'); ``` +### off('skipToQueueItem')10+ + +off(type: 'skipToQueueItem', callback?: (itemId: number) => void): void + +取消监听播放列表单项选中的事件 + +**系统能力:** SystemCapability.Multimedia.AVSession.Core + +**系统接口:** 该接口为系统接口 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------ | ---- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | +| type | string | 是 | 关闭对应的监听事件,支持关闭事件`'skipToQueueItem'`。 | +| callback | (itemId: number) => void | 否 | 回调函数,参数itemId是播放列表单项ID。
当监听事件取消成功,err为undefined,否则返回错误对象。
该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 | + +**错误码:** +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 + +| 错误码ID | 错误信息 | +| -------- | ---------------------------------------- | +| 6600101 | Session service exception. | +| 6600102 | The session does not exist. | + +**示例:** + +```js +session.off('skipToQueueItem'); +``` + ### off('handleKeyEvent') off(type: 'handleKeyEvent', callback?: (event: KeyEvent) => void): void @@ -1929,7 +2329,7 @@ off(type: 'handleKeyEvent', callback?: (event: KeyEvent) => void): void | callback | (event: [KeyEvent](js-apis-keyevent.md)) => void | 否 | 回调函数,参数event是按键事件。
当监听事件取消成功,err为undefined,否则返回错误对象。
该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -1958,7 +2358,7 @@ off(type: 'outputDeviceChange', callback?: (device: OutputDeviceInfo) => void): | callback | (device: [OutputDeviceInfo](#outputdeviceinfo)) => void | 否 | 回调函数,参数device是设备相关信息。
当监听事件取消成功,err为undefined,否则返回错误对象。
该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -1972,18 +2372,49 @@ session.off('outputDeviceChange'); ``` +### off('commonCommand')10+ -## AVSessionController - -调用[avSession.createController](#avsessioncreatecontroller)后,返回会话控制器实例。控制器可查看会话ID,并可完成对会话发送命令及事件,获取会话元数据,播放状态信息等操作。 +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为自定义控制命令的参数。
该参数为可选参数,若不填写该参数,则认为取消所有对commonCommand事件的监听。 | + +**错误码:** +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 + +| 错误码ID | 错误信息 | +| -------- | ---------------- | +| 6600101 | Session service exception. | + +**示例:** + +```js +session.off('commonCommand'); +``` + + + +## AVSessionController + +调用[avSession.createController](#avsessioncreatecontroller)后,返回会话控制器实例。控制器可查看会话ID,并可完成对会话发送命令及事件,获取会话元数据,播放状态信息等操作。 + +### 属性 + +**系统能力:** SystemCapability.Multimedia.AVSession.Core + + +| 名称 | 类型 | 可读 | 可写 | 说明 | +| :-------- | :----- | :--- | :--- | :-------------------------------------- | | sessionId | string | 是 | 否 | AVSessionController对象唯一的会话标识。 | @@ -2012,7 +2443,7 @@ getAVPlaybackState(): Promise\ | Promise<[AVPlaybackState](#avplaybackstate)\> | Promise对象。返回播放状态对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -2044,7 +2475,7 @@ getAVPlaybackState(callback: AsyncCallback\): 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) { }); ``` +### getAVQueueItems10+ + +getAVQueueItems(): Promise\> + +获取当前会话播放列表相关信息。结果通过Promise异步回调方式返回。 + +**系统能力:** SystemCapability.Multimedia.AVSession.Core + +**系统接口:** 该接口为系统接口 + +**返回值:** + +| 类型 | 说明 | +| --------------------------------------------- | ----------------------------- | +| Promise\> | 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}`); +}); +``` + +### getAVQueueItems10+ + +getAVQueueItems(callback: AsyncCallback\>): void + +获取当前播放列表相关信息。结果通过callback异步回调方式返回。 + +**系统能力:** SystemCapability.Multimedia.AVSession.Core + +**系统接口:** 该接口为系统接口 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | --------------------------------------------------- | ---- | ------------------------- | +| callback | AsyncCallback\> | 是 | 回调函数,返回播放列表队列。 | + +**错误码:** +以下错误码的详细介绍请参见[媒体会话管理错误码](../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}`); + } +}); +``` + +### getAVQueueTitle10+ + +getAVQueueTitle(): Promise\ + +获取当前会话播放列表的名称。结果通过Promise异步回调方式返回。 + +**系统能力:** SystemCapability.Multimedia.AVSession.Core + +**系统接口:** 该接口为系统接口 + +**返回值:** + +| 类型 | 说明 | +| ---------------- | ----------------------------- | +| Promise | 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}`); +}); +``` + +### getAVQueueTitle10+ + +getAVQueueTitle(callback: AsyncCallback\): void + +获取当前播放列表的名称。结果通过callback异步回调方式返回。 + +**系统能力:** SystemCapability.Multimedia.AVSession.Core + +**系统接口:** 该接口为系统接口 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ---------------------- | ---- | ------------------------- | +| callback | AsyncCallback | 是 | 回调函数,返回播放列表名称。 | + +**错误码:** +以下错误码的详细介绍请参见[媒体会话管理错误码](../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}`); + } +}); +``` + +### skipToQueueItem10+ + +skipToQueueItem(itemId: number): Promise\ + +设置指定播放列表单项的ID,发送给session端处理,session端可以选择对这个单项歌曲进行播放。结果通过Promise异步回调方式返回。 + +**系统能力:** SystemCapability.Multimedia.AVSession.Core + +**系统接口:** 该接口为系统接口 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------- | ---- | ------------------------------------------- | +| itemId | number | 是 | 播放列表单项的ID值,用以表示选中的播放列表单项。 | + +**返回值:** + +| 类型 | 说明 | +| -------------- | --------------------------------------------------------------- | +| Promise | 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}`); +}); +``` + +### skipToQueueItem10+ + +skipToQueueItem(itemId: number, callback: AsyncCallback\): void + +设置指定播放列表单项的ID,发送给session端处理,session端可以选择对这个单项歌曲进行播放。结果通过callback异步回调方式返回。 + +**系统能力:** SystemCapability.Multimedia.AVSession.Core + +**系统接口:** 该接口为系统接口 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | --------------------- | ---- | ----------------------------------------------------------- | +| itemId | number | 是 | 播放列表单项的ID值,用以表示选中的播放列表单项。 | +| callback | AsyncCallback | 是 | 回调函数。当播放状态设置成功,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\ @@ -2078,7 +2728,7 @@ getAVMetadata(): Promise\ | Promise<[AVMetadata](#avmetadata)\> | Promise对象,返回会话元数据。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -2110,7 +2760,7 @@ getAVMetadata(callback: AsyncCallback\): void | callback | AsyncCallback<[AVMetadata](#avmetadata)\> | 是 | 回调函数,返回会话元数据。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -2144,7 +2794,7 @@ getOutputDevice(): Promise\ | Promise<[OutputDeviceInfo](#outputdeviceinfo)\> | Promise对象,返回播放设备信息。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -2175,7 +2825,7 @@ getOutputDevice(callback: AsyncCallback\): 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\ | 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 | callback | AsyncCallback | 是 | 回调函数。当事件发送成功,err为undefined,否则返回错误对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -2294,7 +2944,7 @@ getLaunchAbility(): Promise\ | 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\): 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\ | Promise | Promise对象,返回会话是否为激活状态,true表示被激活,false表示禁用。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -2427,7 +3077,7 @@ isActive(callback: AsyncCallback\): void | callback | AsyncCallback | 是 | 回调函数,返回会话是否为激活状态,true表示被激活,false表示禁用。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -2462,7 +3112,7 @@ destroy(): Promise\ | Promise | Promise对象。当控制器销毁成功,无返回结果,否则返回错误对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -2494,7 +3144,7 @@ destroy(callback: AsyncCallback\): void | callback | AsyncCallback | 是 | 回调函数。当控制器销毁成功,err为undefined,否则返回错误对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -2528,7 +3178,7 @@ getValidCommands(): Promise\> | Promise\> | Promise对象。返回有效命令的集合。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -2561,7 +3211,7 @@ getValidCommands(callback: AsyncCallback\>): void | callback | AsyncCallback\\> | 是 | 回调函数,返回有效命令的集合。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -2602,7 +3252,7 @@ sendControlCommand(command: AVControlCommand): Promise\ | Promise | Promise对象。当命令发送成功,无返回结果,否则返回错误对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------------------------------- | @@ -2650,7 +3300,7 @@ sendControlCommand(command: AVControlCommand, callback: AsyncCallback\): v | callback | AsyncCallback | 是 | 回调函数。当命令发送成功,err为undefined,否则返回错误对象。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------- | @@ -2684,6 +3334,93 @@ controller.sendControlCommand(avCommand, function (err) { }); ``` +### sendCommonCommand10+ + +sendCommonCommand(command: string, args: {[key: string]: Object}): Promise\ + +通过会话控制器发送自定义控制命令到其对应的会话。结果通过Promise异步回调方式返回。 + +**系统能力:** SystemCapability.Multimedia.AVSession.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ------------------------------------- | ---- | ------------------------------ | +| command | string | 是 | 需要设置的自定义控制命令的名称 | +| args | {[key: string]: any} | 是 | 需要传递的控制命令键值对 | + +**返回值:** + +| 类型 | 说明 | +| -------------- | ----------------------------- | +| Promise | 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}`); +}) +``` + +### sendCommonCommand10+ + +sendCommonCommand(command: string, args: {[key: string]: Object}, callback: AsyncCallback\): void + +通过会话控制器发送自定义命令到其对应的会话。结果通过callback异步回调方式返回。 + +**系统能力:** SystemCapability.Multimedia.AVSession.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ------------------------------------- | ---- | ------------------------------ | +| command | string | 是 | 需要设置的自定义控制命令的名称 | +| args | {[key: string]: any} | 是 | 需要传递的控制命令键值对 | +| callback | AsyncCallback | 是 | 回调函数。当命令发送成功,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\ | 'all', callback: (data: AVMetadata) => void) @@ -2701,7 +3438,7 @@ on(type: 'metadataChange', filter: Array\ | '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\ | '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')10+ +### on('sessionEvent')10+ -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,77 @@ 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')10+ + +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为事件的参数。 | + +**错误码:** +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 + +| 错误码ID | 错误信息 | +| -------- | ------------------------------ | +| 6600101 | Session service exception. | +| 6600103 | The session controller does not exist. | + +**示例:** + +```js +controller.on('queueItemsChange', (items) => { + console.info(`OnQueueItemsChange, items length is ${items.length}`); +}); +``` + +### on('queueTitleChange')10+ + +on(type: 'queueTitleChange', callback: (title: string) => void): void + +媒体控制器设置会话自定义事件变化的监听器。 + +**系统能力:** SystemCapability.Multimedia.AVSession.Core + +**系统接口:** 该接口为系统接口 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ----------------------- | ---- | ------------------------------------------------------------------------------- | +| type | string | 是 | 事件回调类型,支持事件`'queueTitleChange'`:当session修改播放列表名称时,触发该事件。 | +| callback | (title: string) => void | 是 | 回调函数,items为变化的会话事件名,args为事件的参数。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ------------------------------ | @@ -2786,8 +3589,8 @@ 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('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\ | 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是变化后的元数据。
该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 | **错误码:** -以下错误码的详细介绍请参见[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是变化后的播放状态。
该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 | **错误码:** -以下错误码的详细介绍请参见[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')10+ +### off('sessionEvent')10+ -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为事件的参数。
该参数为可选参数,若不填写该参数,则认为取消所有对sessionEventChange事件的监听。 | +| type | string | 是 | 取消对应的监听事件,支持事件`'sessionEvent'`。 | +| callback | (sessionEvent: string, args: {[key:string]: object}) => void | 否 | 回调函数,参数sessionEvent是变化的事件名,args为事件的参数。
该参数为可选参数,若不填写该参数,则认为取消所有对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')10+ + +off(type: 'queueItemsChange', callback?: (items: Array<[AVQueueItem](#avqueueitem10)\>) => void): void + +控制器取消监听播放列表变化的事件。 + +**系统能力:** SystemCapability.Multimedia.AVSession.Core + +**系统接口:** 该接口为系统接口 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ---------------------------------------------------- | ---- | --------------------------------------------------------------------------------------------------- | +| type | string | 是 | 取消对应的监听事件,支持事件`'queueTitleChange'`。 | +| callback | (items: Array<[AVQueueItem](#avqueueitem10)\>) => void | 否 | 回调函数,参数items是变化的播放列表。
该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 | + +**错误码:** +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 + +| 错误码ID | 错误信息 | +| -------- | ---------------- | +| 6600101 | Session service exception. | + +**示例:** + +```js +controller.off('queueItemsChange'); +``` + +### off('queueTitleChange')10+ + +off(type: 'queueTitleChange', callback?: (title: string) => void): void + +控制器取消监听播放列表名称变化的事件。 + +**系统能力:** SystemCapability.Multimedia.AVSession.Core + +**系统接口:** 该接口为系统接口 + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ----------------------- | ---- | ------------------------------------------------------------------------------------------------------- | +| type | string | 是 | 取消对应的监听事件,支持事件`'queueTitleChange'`。 | +| callback | (title: string) => void | 否 | 回调函数,参数items是变化的播放列表名称。
该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 | + +**错误码:** +以下错误码的详细介绍请参见[媒体会话管理错误码](../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,否则返回错误对象。
该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 | **错误码:** -以下错误码的详细介绍请参见[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表示禁用。
该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 | **错误码:** -以下错误码的详细介绍请参见[ohos.multimedia.avsession(多媒体会话)错误码](../errorcodes/errorcode-avsession.md)。 +以下错误码的详细介绍请参见[媒体会话管理错误码](../errorcodes/errorcode-avsession.md)。 | 错误码ID | 错误信息 | | -------- | ---------------- | @@ -3074,7 +3937,7 @@ off(type: 'validCommandChange', callback?: (commands: Array\) => void | 否 | 回调函数。参数commands是有效命令的集合。
该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 | **错误码:** -以下错误码的详细介绍请参见[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是设备相关信息。
该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 | **错误码:** -以下错误码的详细介绍请参见[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。 | +## AVMediaDescription10+ + +播放列表媒体元数据的相关属性。 + +**系统能力:** 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。 | + +## AVQueueItem10+ + +播放列表中单项的相关属性。 + +**系统能力:** SystemCapability.Multimedia.AVSession.Core + +| 名称 | 类型 | 必填 | 说明 | +| ------------ | ------------------------------------------ | ---- | --------------------------- | +| itemId | number | 是 | 播放列表中单项的ID。 | +| description | [AVMediaDescription](#avmediadescription10) | 是 | 播放列表中单项的媒体元数据。 | + ## AVPlaybackState 媒体播放状态的相关属性。