Interface (AVCastController)
在投播建立后,调用avSession.getAVCastController后,返回会话控制器实例。控制器可查看会话ID,并可完成对会话发送命令及事件,获取会话元数据,播放状态信息等操作。
说明:
- 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
- 本Interface首批接口从API version 10开始支持。
导入模块
import { avSession } from '@kit.AVSessionKit';
getAVPlaybackState10+
getAVPlaybackState(callback: AsyncCallback<AVPlaybackState>): void
获取当前的远端播放状态。结果通过callback异步回调方式返回。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| callback | AsyncCallback<AVPlaybackState> | 是 | 回调函数,返回远端播放状态。 |
错误码:
以下错误码的详细介绍请参见媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 6600101 | Session service exception. |
示例:
avCastController.getAVPlaybackState((state: avSession.AVPlaybackState) => {
console.info('Succeeded in getting AV playback state.');
});
getAVPlaybackState10+
getAVPlaybackState(): Promise<AVPlaybackState>
获取当前的远端播放状态。结果通过Promise异步回调方式返回。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
返回值:
| 类型 | 说明 |
|---|---|
| Promise<AVPlaybackState> | Promise对象。返回远端播放状态。 |
错误码:
以下错误码的详细介绍请参见媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 6600101 | Session service exception. |
示例:
avCastController.getAVPlaybackState().then((state: avSession.AVPlaybackState) => {
console.info('Succeeded in getting AV playback state.');
});
getSupportedDecoders19+
getSupportedDecoders(): Promise<Array<DecoderType>>
获取当前远端设备的解码方式。使用Promise异步回调。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
返回值:
| 类型 | 说明 |
|---|---|
| Promise<Array<DecoderType>> | Promise对象。返回远端设备所支持的解码能力列表。 |
错误码:
以下错误码的详细介绍请参见媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 6600101 | Session service exception. |
示例:
avCastController.getSupportedDecoders().then((decoderTypes: avSession.DecoderType[]) => {
console.info(`Succeeded in getting supported decoders, length: ${decoderTypes.length}`);
if (decoderTypes.length > 0 ) {
console.info(`Succeeded in getting supported decoder: ${decoderTypes[0]}`);
}
});
getRecommendedResolutionLevel19+
getRecommendedResolutionLevel(decoderType: DecoderType): Promise<ResolutionLevel>
通过传递解码方式,获取推荐的分辨率。使用Promise异步回调。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| decoderType | DecoderType | 是 | 设备所支持的解码格式。 设备所支持的解码格式包括: 'OH_AVCODEC_MIMETYPE_VIDEO_AVC':VIDEO AVC, 'OH_AVCODEC_MIMETYPE_VIDEO_HEVC':VIDEO HEVC, 'OH_AVCODEC_MIMETYPE_AUDIO_VIVID':AUDIO AV3A。 |
返回值:
| 类型 | 说明 |
|---|---|
| Promise<ResolutionLevel> | Promise对象。返回远端设备推荐的分辨率。 |
错误码:
以下错误码的详细介绍请参见媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 6600101 | Session service exception. |
示例:
let decoderType = avSession.DecoderType.OH_AVCODEC_MIMETYPE_VIDEO_AVC;
avCastController.getRecommendedResolutionLevel(decoderType).then((resolutionLevel: avSession.ResolutionLevel) => {
console.info('Succeeded in getting recommended resolution level.');
});
getSupportedHdrCapabilities19+
getSupportedHdrCapabilities(): Promise<Array<hdrCapability.HDRFormat>>
获取当前的远端设备所支持的HDR能力。使用Promise异步回调。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
返回值:
| 类型 | 说明 |
|---|---|
| Promise<Array<hdrCapability.HDRFormat>> | Promise对象。返回远端设备所支持的HDR能力。 |
错误码:
以下错误码的详细介绍请参见媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 6600101 | Session service exception. |
示例:
import type hdrCapability from './@ohos.graphics.hdrCapability';
avCastController.getSupportedHdrCapabilities().then((hdrFormats: hdrCapability.HDRFormat[]) => {
console.info(`Succeeded in getting supported HDR capabilities, length: ${hdrFormats.length}`);
if (hdrFormats.length > 0 ) {
console.info(`Succeeded in getting supported HDR capability: ${hdrFormats[0]}`);
}
});
getSupportedPlaySpeeds19+
getSupportedPlaySpeeds(): Promise<Array<number>>
获取当前的远端设备所支持倍速播放列表。使用Promise异步回调。
原子化服务API: 从API version 19开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
返回值:
| 类型 | 说明 |
|---|---|
| Promise<Array<number>> | Promise对象。返回远端设备所支持的倍速播放列表。 |
错误码:
以下错误码的详细介绍请参见媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 6600101 | Session service exception. |
示例:
avCastController.getSupportedPlaySpeeds().then((nums: number[]) => {
console.info(`Succeeded in getting supported play speeds, length: ${nums.length}`);
if (nums.length > 0 ) {
console.info(`Succeeded in getting supported play speed: ${nums[0]}`);
}
});
sendControlCommand10+
sendControlCommand(command: AVCastControlCommand): Promise<void>
通过控制器发送命令到其对应的会话。结果通过Promise异步回调方式返回。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| command | AVCastControlCommand | 是 | 会话的相关命令和命令相关参数。 |
返回值:
| 类型 | 说明 |
|---|---|
| Promise<void> | Promise对象。当命令发送成功,无返回结果,否则返回错误对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600105 | Invalid session command. |
| 6600109 | The remote connection is not established. |
示例:
let avCommand: avSession.AVCastControlCommand = {command:'play'};
avCastController.sendControlCommand(avCommand).then(() => {
console.info('Succeeded in sending control command.');
});
sendControlCommand10+
sendControlCommand(command: AVCastControlCommand, callback: AsyncCallback<void>): void
通过会话控制器发送命令到其对应的会话。结果通过callback异步回调方式返回。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| command | AVCastControlCommand | 是 | 会话的相关命令和命令相关参数。 |
| callback | AsyncCallback<void> | 是 | 回调函数。当命令发送成功,err为undefined,否则返回错误对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600105 | Invalid session command. |
| 6600109 | The remote connection is not established. |
示例:
let avCommand: avSession.AVCastControlCommand = {command:'play'};
avCastController.sendControlCommand(avCommand, () => {
console.info('Succeeded in sending control command.');
});
sendCustomData20+
sendCustomData(data: Record<string, Object>): Promise<void>
发送私有数据到远端设备。使用Promise异步回调。
原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| data | Record<string, Object> | 是 | 应用程序填充的自定义数据。 服务端仅解析key:string为'customData',且Object为string类型的对象。 |
返回值:
| 类型 | 说明 |
|---|---|
| Promise<void> | Promise对象,无返回结果。 |
错误码:
以下错误码的详细介绍请参见媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 6600101 | Session service exception.You are advised to:1.Scheduled retry.2.Destroy the current session or session controller and re-create it. |
示例:
avCastController.sendCustomData({customData : "This is custom data"});
prepare10+
prepare(item: AVQueueItem, callback: AsyncCallback<void>): void
准备播放媒体资源,即进行播放资源的加载和缓冲。结果通过callback异步回调方式返回。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| item | AVQueueItem | 是 | 播放列表中单项的相关属性。 |
| callback | AsyncCallback<void> | 是 | 回调函数。当命令发送成功,err为undefined,否则返回错误对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600109 | The remote connection is not established. |
示例:
// 设置播放参数,开始播放。
let playItem: avSession.AVQueueItem = {
itemId: 0,
description: {
assetId: '12345',
mediaType: 'AUDIO',
mediaUri: 'http://resource1_address',
mediaSize: 12345,
startPosition: 0,
duration: 0,
artist: 'mysong',
albumTitle: 'song1_title',
albumCoverUri: "http://resource1_album_address",
lyricUri: "http://resource1_lyric_address",
appName: 'MyMusic'
}
};
// 准备播放,这个不会触发真正的播放,会进行加载和缓冲。
avCastController.prepare(playItem, () => {
console.info('Succeeded in preparing.');
});
prepare10+
prepare(item: AVQueueItem): Promise<void>
准备播放媒体资源,即进行播放资源的加载和缓冲。结果通过Promise异步回调方式返回。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| item | AVQueueItem | 是 | 播放列表中单项的相关属性。 |
返回值:
| 类型 | 说明 |
|---|---|
| Promise<void> | Promise对象。当命令发送成功,无返回结果,否则返回错误对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600109 | The remote connection is not established. |
示例:
// 设置播放参数,开始播放。
let playItem: avSession.AVQueueItem = {
itemId: 0,
description: {
assetId: '12345',
mediaType: 'AUDIO',
mediaUri: 'http://resource1_address',
mediaSize: 12345,
startPosition: 0,
duration: 0,
artist: 'mysong',
albumTitle: 'song1_title',
albumCoverUri: "http://resource1_album_address",
lyricUri: "http://resource1_lyric_address",
appName: 'MyMusic'
}
};
// 准备播放,这个不会触发真正的播放,会进行加载和缓冲。
avCastController.prepare(playItem).then(() => {
console.info('Succeeded in preparing.');
});
start10+
start(item: AVQueueItem, callback: AsyncCallback<void>): void
启动播放某个媒体资源。结果通过callback异步回调方式返回。
说明:
在音视频投播场景下,当应用程序顺序调用prepare和start接口,且assetId不变时,如果prepare已经传入有效的mediaUri或fdSrc,则start接口将复用prepare阶段的完整的AVMediaDescription对象信息。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| item | AVQueueItem | 是 | 播放列表中单项的相关属性。 |
| callback | AsyncCallback<void> | 是 | 回调函数。当命令发送成功,err为undefined,否则返回错误对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600109 | The remote connection is not established. |
示例:
// 设置播放参数,开始播放。
let playItem: avSession.AVQueueItem = {
itemId: 0,
description: {
assetId: '12345',
mediaType: 'AUDIO',
mediaUri: 'http://resource1_address',
mediaSize: 12345,
startPosition: 0,
duration: 0,
artist: 'mysong',
albumTitle: 'song1_title',
albumCoverUri: "http://resource1_album_address",
lyricUri: "http://resource1_lyric_address",
appName: 'MyMusic'
}
};
// 启动播放。
avCastController.start(playItem, () => {
console.info('Succeeded in starting.');
});
start10+
start(item: AVQueueItem): Promise<void>
启动播放某个媒体资源。结果通过Promise异步回调方式返回。
说明:
在音视频投播场景下,当应用程序顺序调用prepare和start接口,且assetId不变时,如果prepare已经传入有效的mediaUri或fdSrc,则start接口将复用prepare阶段的完整的AVMediaDescription对象信息。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| item | AVQueueItem | 是 | 播放列表中单项的相关属性。 |
返回值:
| 类型 | 说明 |
|---|---|
| Promise<void> | Promise对象。当命令发送成功,无返回结果,否则返回错误对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600109 | The remote connection is not established. |
示例:
// 设置播放参数,开始播放。
let playItem: avSession.AVQueueItem = {
itemId: 0,
description: {
assetId: '12345',
mediaType: 'AUDIO',
mediaUri: 'http://resource1_address',
mediaSize: 12345,
startPosition: 0,
duration: 0,
artist: 'mysong',
albumTitle: 'song1_title',
albumCoverUri: "http://resource1_album_address",
lyricUri: "http://resource1_lyric_address",
appName: 'MyMusic'
}
};
// 启动播放。
avCastController.start(playItem).then(() => {
console.info('Succeeded in starting.');
});
getCurrentItem10+
getCurrentItem(callback: AsyncCallback<AVQueueItem>): void
获取当前投播的资源信息。结果通过callback异步回调方式返回。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| callback | AsyncCallback<AVQueueItem> | 是 | 回调函数。当命令发送成功,err为undefined,否则返回错误对象。 |
错误码:
以下错误码的详细介绍请参见媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 6600101 | Session service exception. |
示例:
avCastController.getCurrentItem((value: avSession.AVQueueItem) => {
console.info('Succeeded in getting current item.');
});
getCurrentItem10+
getCurrentItem(): Promise<AVQueueItem>
获取当前投播的资源信息。结果通过Promise异步回调方式返回。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
返回值:
| 类型 | 说明 |
|---|---|
| Promise<AVQueueItem> | Promise对象,返回当前的播放资源,否则返回错误对象。 |
错误码:
以下错误码的详细介绍请参见媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 6600101 | Session service exception. |
示例:
avCastController.getCurrentItem().then((value: avSession.AVQueueItem) => {
console.info('Succeeded in getting current item.');
});
getValidCommands11+
getValidCommands(callback: AsyncCallback<Array<AVCastControlCommandType>>): void
获取当前支持的命令。结果通过callback异步回调方式返回。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| callback | AsyncCallback<Array<AVCastControlCommandType>> | 是 | 回调函数。返回当前支持的命令。 |
错误码:
以下错误码的详细介绍请参见媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 6600101 | Session service exception. |
示例:
avCastController.getValidCommands((state: avSession.AVCastControlCommandType[]) => {
console.info('Succeeded in getting valid commands.');
});
getValidCommands11+
getValidCommands(): Promise<Array<AVCastControlCommandType>>
获取当前支持的命令。结果通过Promise异步回调方式返回。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
返回值:
| 类型 | 说明 |
|---|---|
| Promise<Array<AVCastControlCommandType>> | Promise对象,返回当前支持的命令。 |
错误码:
以下错误码的详细介绍请参见媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 6600101 | Session service exception. |
示例:
avCastController.getValidCommands().then((state: avSession.AVCastControlCommandType[]) => {
console.info('Succeeded in getting valid commands.');
});
processMediaKeyResponse12+
processMediaKeyResponse(assetId: string, response: Uint8Array): Promise<void>
在线DRM资源投播时,处理许可证响应。结果通过Promise异步回调方式返回。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| assetId | string | 是 | 媒体ID。 |
| response | Uint8Array | 是 | 许可证响应。 |
返回值:
| 类型 | 说明 |
|---|---|
| Promise<void> | Promise对象,当处理许可证响应成功,无返回结果,否则返回错误对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
示例:
let keyRequestCallback: avSession.KeyRequestCallback = async(assetId: string, requestData: Uint8Array) => {
// 根据assetId获取对应的DRM url。
let drmUrl = 'http://license.xxx.xxx.com:8080/drmproxy/getLicense';
// 从服务器获取许可证,需要开发者根据实际情况进行赋值。
let licenseResponseData: Uint8Array = new Uint8Array();
console.info(`Succeeded in get license by ${drmUrl}.`);
avCastController.processMediaKeyResponse(assetId, licenseResponseData);
}
release11+
release(callback: AsyncCallback<void>): void
销毁当前controller,结果通过callback异步回调方式返回。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| callback | AsyncCallback<void> | 是 | 回调函数。当命令执行成功,err为undefined,否则返回错误对象。 |
错误码:
以下错误码的详细介绍请参见媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 6600101 | Session service exception. |
示例:
avCastController.release(() => {
console.info('Succeeded in releasing.');
});
release11+
release(): Promise<void>
销毁当前controller。结果通过Promise异步回调方式返回。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
返回值:
| 类型 | 说明 |
|---|---|
| Promise<void> | Promise对象,controller销毁成功,无结果返回,否则返回错误对象。 |
错误码:
以下错误码的详细介绍请参见媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 6600101 | Session service exception. |
示例:
avCastController.release().then(() => {
console.info('Succeeded in releasing.');
});
on('playbackStateChange')10+
on(type: 'playbackStateChange', filter: Array<keyof AVPlaybackState>|'all', callback: (state: AVPlaybackState) => void): void
设置播放状态变化的监听事件。使用callback异步回调。
每个指令支持注册多个回调,如果需要只执行最新监听,需要先注销旧的监听,否则新旧监听都会触发回调。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 事件回调类型,支持事件'playbackStateChange':当播放状态变化时,触发该事件。 |
| filter | Array<keyof AVPlaybackState>|'all' | 是 | 'all' 表示关注播放状态所有字段变化;Array<keyof AVPlaybackstate> 表示关注Array中的字段变化。 |
| callback | (state: AVPlaybackState) => void | 是 | 回调函数,参数state是变化后的播放状态。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
示例:
avCastController.on('playbackStateChange', 'all', (playbackState: avSession.AVPlaybackState) => {
console.info(`on playbackStateChange state : ${playbackState.state}`);
});
let playbackFilter: Array<keyof avSession.AVPlaybackState> = ['state', 'speed', 'loopMode'];
avCastController.on('playbackStateChange', playbackFilter, (playbackState: avSession.AVPlaybackState) => {
console.info(`on playbackStateChange state : ${playbackState.state}`);
});
off('playbackStateChange')10+
off(type: 'playbackStateChange', callback?: (state: AVPlaybackState) => void): void
取消播放状态变化事件监听。指定callback,可取消对应监听;未指定callback,取消所有事件监听。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 取消对应的监听事件,支持事件'playbackStateChange'。 |
| callback | (state: AVPlaybackState) => void | 否 | 回调函数,参数state是变化后的播放状态。 该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
示例:
avCastController.off('playbackStateChange');
on('mediaItemChange')10+
on(type: 'mediaItemChange', callback: Callback<AVQueueItem>): void
设置投播当前播放媒体内容的监听事件。使用callback异步回调。
每个指令支持注册多个回调,如果需要只执行最新监听,需要先注销旧的监听,否则新旧监听都会触发回调。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 事件回调类型,支持事件'mediaItemChange':当播放的媒体内容变化时,触发该事件。 |
| callback | Callback<AVQueueItem> | 是 | 回调函数,参数AVQueueItem是当前正在播放的媒体内容。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
示例:
avCastController.on('mediaItemChange', (item: avSession.AVQueueItem) => {
console.info(`on mediaItemChange state : ${item.itemId}`);
});
off('mediaItemChange')10+
off(type: 'mediaItemChange'): void
取消设置投播当前播放媒体内容事件监听。指定callback,可取消对应监听;未指定callback,取消所有事件监听。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 取消对应的监听事件,支持事件'mediaItemChange'。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
示例:
avCastController.off('mediaItemChange');
on('playNext')10+
on(type: 'playNext', callback: Callback<void>): void
设置播放下一首资源的监听事件。
每个指令支持注册多个回调,如果需要只执行最新监听,需要先注销旧的监听,否则新旧监听都会触发回调。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 事件回调类型,支持事件'playNext':当播放下一首状态变化时,触发该事件。 |
| callback | Callback<void> | 是 | 回调函数。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
示例:
avCastController.on('playNext', () => {
console.info('on playNext');
});
off('playNext')10+
off(type: 'playNext'): void
取消设置播放下一首资源事件监听。指定callback,可取消对应监听;未指定callback,取消所有事件监听。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 取消对应的监听事件,支持事件'playNext'。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
示例:
avCastController.off('playNext');
on('playPrevious')10+
on(type: 'playPrevious', callback: Callback<void>): void
设置播放上一首资源的监听事件。
每个指令支持注册多个回调,如果需要只执行最新监听,需要先注销旧的监听,否则新旧监听都会触发回调。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 事件回调类型,支持事件'playPrevious':当播放上一首状态变化时,触发该事件。 |
| callback | Callback<void> | 是 | 回调函数。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
示例:
avCastController.on('playPrevious', () => {
console.info('on playPrevious');
});
off('playPrevious')10+
off(type: 'playPrevious'): void
取消设置播放上一首资源事件监听。指定callback,可取消对应监听;未指定callback,取消所有事件监听。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 取消对应的监听事件,支持事件'playPrevious'。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
示例:
avCastController.off('playPrevious');
on('requestPlay')11+
on(type: 'requestPlay', callback: Callback<AVQueueItem>): void
设置请求播放的监听事件。
每个指令支持注册多个回调,如果需要只执行最新监听,需要先注销旧的监听,否则新旧监听都会触发回调。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 事件回调类型,支持事件'requestPlay':当请求播放状态变化时,触发该事件。 |
| callback | Callback<AVQueueItem> | 是 | 回调函数,参数AVQueueItem是当前正在播放的媒体内容。当监听事件注册成功,err为undefined,否则返回错误对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
示例:
avCastController.on('requestPlay', (item: avSession.AVQueueItem) => {
console.info(`on requestPlay state : ${item.itemId}`);
});
off('requestPlay')11+
off(type: 'requestPlay', callback?: Callback<AVQueueItem>): void
取消设置请求播放事件监听。指定callback,可取消对应监听;未指定callback,取消所有事件监听。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 取消对应的监听事件,支持事件'requestPlay'。 |
| callback | Callback<AVQueueItem> | 否 | 回调函数,参数AVQueueItem是当前正在播放的媒体内容。当监听事件取消成功,err为undefined,否则返回错误对象。该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
示例:
avCastController.off('requestPlay');
on('endOfStream')11+
on(type: 'endOfStream', callback: Callback<void>): void
设置播放结束的监听事件。
每个指令支持注册多个回调,如果需要只执行最新监听,需要先注销旧的监听,否则新旧监听都会触发回调。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 事件回调类型,支持事件'endOfStream':当资源播放结束时,触发该事件。 |
| callback | Callback<void> | 是 | 回调函数。当监听事件注册成功,err为undefined,否则返回错误对象。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
示例:
avCastController.on('endOfStream', () => {
console.info('on endOfStream');
});
off('endOfStream')11+
off(type: 'endOfStream', callback?: Callback<void>): void
取消设置播放结束事件监听。指定callback,可取消对应监听;未指定callback,取消所有事件监听。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 取消对应的监听事件,支持事件'endOfStream'。 |
| callback | Callback<void> | 否 | 回调函数。当监听事件取消成功,err为undefined,否则返回错误对象。该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
示例:
avCastController.off('endOfStream');
on('seekDone')10+
on(type: 'seekDone', callback: Callback<number>): void
设置seek结束的监听事件。
每个指令支持注册多个回调,如果需要只执行最新监听,需要先注销旧的监听,否则新旧监听都会触发回调。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 事件回调类型,支持事件'seekDone':当seek结束时,触发该事件。 |
| callback | Callback<number> | 是 | 回调函数,返回seek后播放的位置。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
示例:
avCastController.on('seekDone', (pos: number) => {
console.info(`on seekDone pos:${pos} `);
});
off('seekDone')10+
off(type: 'seekDone'): void
取消设置seek结束事件监听。指定callback,可取消对应监听;未指定callback,取消所有事件监听。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 取消对应的监听事件,支持事件'seekDone'。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
示例:
avCastController.off('seekDone');
on('validCommandChange')11+
on(type: 'validCommandChange', callback: Callback<Array<AVCastControlCommandType>>)
会话支持的有效命令变化监听事件。
每个指令支持注册多个回调,如果需要只执行最新监听,需要先注销旧的监听,否则新旧监听都会触发回调。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 事件回调类型,支持事件'validCommandChange':当检测到会话的合法命令发生改变时,触发该事件。 |
| callback | Callback<Array<AVCastControlCommandType>> | 是 | 回调函数。参数commands是有效命令的集合。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified.2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600103 | The session controller does not exist. |
示例:
avCastController.on('validCommandChange', (validCommands: avSession.AVCastControlCommandType[]) => {
console.info(`Succeeded in valid command change, size: ${validCommands.length}`);
console.info(`Succeeded in valid command change, validCommands: ${validCommands.values()}`);
});
off('validCommandChange')11+
off(type: 'validCommandChange', callback?: Callback<Array<AVCastControlCommandType>>)
取消会话有效命令变化事件监听。指定callback,可取消对应监听;未指定callback,取消所有事件监听。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 取消对应的监听事件,支持事件'validCommandChange'。 |
| callback | Callback<Array<AVCastControlCommandType>> | 否 | 回调函数。参数commands是有效命令的集合。 该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified.2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600103 | The session controller does not exist. |
示例:
avCastController.off('validCommandChange');
on('videoSizeChange')12+
on(type: 'videoSizeChange', callback: (width: number, height: number) => void): void
媒体控制器监听视频尺寸变化变化的事件。
每个指令支持注册多个回调,如果需要只执行最新监听,需要先注销旧的监听,否则新旧监听都会触发回调。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 事件回调类型,支持事件'videoSizeChange':当检测到会话的合法命令发生改变时,触发该事件。 |
| callback | (width: number, height: number) => void | 是 | 回调函数。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
示例:
avCastController.on('videoSizeChange', (width: number, height: number) => {
console.info(`Succeeded in video size change, size: ${width}, ${height}`);
});
off('videoSizeChange')12+
off(type: 'videoSizeChange'): void
取消视频尺寸事件监听。指定callback,可取消对应监听;未指定callback,取消所有事件监听。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 事件回调类型,支持事件'videoSizeChange':当检测到会话的合法命令发生改变时,触发该事件。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
示例:
avCastController.off('videoSizeChange');
on('error')10+
on(type: 'error', callback: ErrorCallback): void
监听远端播放器的错误事件,该事件仅用于错误提示,不需要用户停止播控动作。
每个指令支持注册多个回调,如果需要只执行最新监听,需要先注销旧的监听,否则新旧监听都会触发回调。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 错误事件回调类型,支持的事件:'error',用户操作和系统都会触发此事件。 |
| callback | ErrorCallback | 是 | 错误事件回调方法:远端播放过程中发生的错误,会提供错误码ID和错误信息。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档、Media错误码以及媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 5400101 | No memory. |
| 5400102 | Operation not allowed. |
| 5400103 | I/O error. |
| 5400104 | Time out. |
| 5400105 | Service died. |
| 5400106 | Unsupport format. |
| 6600101 | Session service exception. |
示例:
import { BusinessError } from '@kit.BasicServicesKit';
avCastController.on('error', (error: BusinessError) => {
console.info(`error happened, error code: ${error.code}, error message : ${error.message}.`)
})
off('error')10+
off(type: 'error'): void
取消播放的错误事件监听。指定callback,可取消对应监听;未指定callback,取消所有事件监听。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 错误事件回调类型,取消注册的事件:'error'。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档、Media错误码以及媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 5400101 | No memory. |
| 5400102 | Operation not allowed. |
| 5400103 | I/O error. |
| 5400104 | Time out. |
| 5400105 | Service died. |
| 5400106 | Unsupport format. |
| 6600101 | Session service exception. |
示例:
avCastController.off('error')
on('keyRequest')12+
on(type: 'keyRequest', callback: KeyRequestCallback): void
在线DRM资源投播时,设置许可证请求的事件监听。
每个指令支持注册多个回调,如果需要只执行最新监听,需要先注销旧的监听,否则新旧监听都会触发回调。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 事件回调类型,支持事件'keyRequest':当DRM资源播放需要许可证时,触发该事件。 |
| callback | KeyRequestCallback | 是 | 回调函数,媒体资源及许可证请求数据。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
示例:
let keyRequestCallback: avSession.KeyRequestCallback = async(assetId: string, requestData: Uint8Array) => {
console.info(`Succeeded in keyRequestCallback. assetId: ${assetId}, requestData: ${requestData}`);
}
avCastController.on('keyRequest', keyRequestCallback);
off('keyRequest')12+
off(type: 'keyRequest', callback?: KeyRequestCallback): void
取消许可证请求事件监听。指定callback,可取消对应监听;未指定callback,取消所有事件监听。
原子化服务API: 从API version 12开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 取消对应的监听事件,支持的事件是'keyRequest'。 |
| callback | KeyRequestCallback | 否 | 回调函数。当监听事件取消成功,err为undefined,否则返回错误对象。该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
示例:
avCastController.off('keyRequest');
on('castControlGenericError')13+
on(type: 'castControlGenericError', callback: ErrorCallback): void
监听投播通用错误事件。
每个指令支持注册多个回调,如果需要只执行最新监听,需要先注销旧的监听,否则新旧监听都会触发回调。
原子化服务API: 从API version 13开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 错误事件回调类型,支持的事件:'castControlGenericError'。 |
| callback | ErrorCallback | 是 | 投播通用错误事件回调方法。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter check failed. 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 6611000 | The error code for cast control is unspecified. |
| 6611001 | An unspecified error occurs in the remote player. |
| 6611002 | The playback position falls behind the live window. |
| 6611003 | The process of cast control times out. |
| 6611004 | The runtime check failed. |
| 6611100 | Cross-device data transmission is locked. |
| 6611101 | The specified seek mode is not supported. |
| 6611102 | The position to seek to is out of the range of the media asset or the specified seek mode is not supported. |
| 6611103 | The specified playback mode is not supported. |
| 6611104 | The specified playback speed is not supported. |
| 6611105 | The action failed because either the media source device or the media sink device has been revoked. |
| 6611106 | The parameter is invalid, for example, the url is illegal to play. |
| 6611107 | Allocation of memory failed. |
| 6611108 | Operation is not allowed. |
示例:
avCastController.on('castControlGenericError', (error: BusinessError) => {
console.info(`castControlGenericError happened, error code: ${error.code}, error message : ${error.message}.`)
})
off('castControlGenericError')13+
off(type: 'castControlGenericError', callback?: ErrorCallback): void
取消投播通用的错误事件监听。指定callback,可取消对应监听;未指定callback,取消所有事件监听。
原子化服务API: 从API version 13开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 取消对应的监听事件,支持的事件是'castControlGenericError'。 |
| callback | ErrorCallback | 否 | 回调函数。当监听事件取消成功,err为undefined,否则返回错误对象。该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter check failed. 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
示例:
avCastController.off('castControlGenericError');
on('castControlIoError')13+
on(type: 'castControlIoError', callback: ErrorCallback): void
监听投播输入/输出的错误事件。
每个指令支持注册多个回调,如果需要只执行最新监听,需要先注销旧的监听,否则新旧监听都会触发回调。
原子化服务API: 从API version 13开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 错误事件回调类型,支持的事件:'castControlIoError'。 |
| callback | ErrorCallback | 是 | 投播输入/输出的错误事件回调方法。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter check failed. 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 6612000 | An unspecified input/output error occurs. |
| 6612001 | Network connection failure. |
| 6612002 | Network timeout. |
| 6612003 | Invalid "Content-Type" HTTP header. |
| 6612004 | The HTTP server returns an unexpected HTTP response status code. |
| 6612005 | The file does not exist. |
| 6612006 | No permission is granted to perform the IO operation. |
| 6612007 | Access to cleartext HTTP traffic is not allowed by the app's network security configuration. |
| 6612008 | Reading data out of the data bound. |
| 6612100 | The media does not contain any contents that can be played. |
| 6612101 | The media cannot be read, for example, because of dust or scratches. |
| 6612102 | This resource is already in use. |
| 6612103 | The content using the validity interval has expired. |
| 6612104 | Using the requested content to play is not allowed. |
| 6612105 | The use of the allowed content cannot be verified. |
| 6612106 | The number of times this content has been used as requested has reached the maximum allowed number of uses. |
| 6612107 | An error occurs when sending packet from source device to sink device. |
示例:
avCastController.on('castControlIoError', (error: BusinessError) => {
console.info(`castControlIoError happened, error code: ${error.code}, error message : ${error.message}.`)
})
off('castControlIoError')13+
off(type: 'castControlIoError', callback?: ErrorCallback): void
取消投播输入/输出的错误事件监听。指定callback,可取消对应监听;未指定callback,取消所有事件监听。
原子化服务API: 从API version 13开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 取消对应的监听事件,支持的事件是'castControlIoError'。 |
| callback | ErrorCallback | 否 | 回调函数。当监听事件取消成功,err为undefined,否则返回错误对象。该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter check failed. 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
示例:
avCastController.off('castControlIoError');
on('castControlParsingError')13+
on(type: 'castControlParsingError', callback: ErrorCallback): void
监听投播解析的错误事件。
每个指令支持注册多个回调,如果需要只执行最新监听,需要先注销旧的监听,否则新旧监听都会触发回调。
原子化服务API: 从API version 13开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 错误事件回调类型,支持的事件:'castControlParsingError'。 |
| callback | ErrorCallback | 是 | 投播解析的错误事件回调方法。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter check failed. 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 6613000 | Unspecified error related to content parsing. |
| 6613001 | Parsing error associated with media container format bit streams. |
| 6613002 | Parsing error associated with the media manifest. |
| 6613003 | An error occurs when attempting to extract a file with an unsupported media container format or an unsupported media container feature. |
| 6613004 | Unsupported feature in the media manifest. |
示例:
avCastController.on('castControlParsingError', (error: BusinessError) => {
console.info(`castControlParsingError happened, error code: ${error.code}, error message : ${error.message}.`)
})
off('castControlParsingError')13+
off(type: 'castControlParsingError', callback?: ErrorCallback): void
取消投播解析的错误事件监听。指定callback,可取消对应监听;未指定callback,取消所有事件监听。
原子化服务API: 从API version 13开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 取消对应的监听事件,支持的事件是'castControlParsingError'。 |
| callback | ErrorCallback | 否 | 回调函数。当监听事件取消成功,err为undefined,否则返回错误对象。该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter check failed. 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
示例:
avCastController.off('castControlParsingError');
on('castControlDecodingError')13+
on(type: 'castControlDecodingError', callback: ErrorCallback): void
监听投播解码的错误事件。
每个指令支持注册多个回调,如果需要只执行最新监听,需要先注销旧的监听,否则新旧监听都会触发回调。
原子化服务API: 从API version 13开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 错误事件回调类型,支持的事件:'castControlDecodingError'。 |
| callback | ErrorCallback | 是 | 投播解码的错误事件回调方法。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter check failed. 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 6614000 | Unspecified decoding error. |
| 6614001 | Decoder initialization failed. |
| 6614002 | Decoder query failed. |
| 6614003 | Decoding the media samples failed. |
| 6614004 | The format of the content to decode exceeds the capabilities of the device. |
| 6614005 | The format of the content to decode is not supported. |
示例:
avCastController.on('castControlDecodingError', (error: BusinessError) => {
console.info(`castControlDecodingError happened, error code: ${error.code}, error message : ${error.message}.`)
})
off('castControlDecodingError')13+
off(type: 'castControlDecodingError', callback?: ErrorCallback): void
取消投播解码的错误事件监听。指定callback,可取消对应监听;未指定callback,取消所有事件监听。
原子化服务API: 从API version 13开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 取消对应的监听事件,支持的事件是'castControlDecodingError'。 |
| callback | ErrorCallback | 否 | 回调函数。当监听事件取消成功,err为undefined,否则返回错误对象。该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter check failed. 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
示例:
avCastController.off('castControlDecodingError');
on('castControlAudioRendererError')13+
on(type: 'castControlAudioRendererError', callback: ErrorCallback): void
监听投播音频渲染器的错误事件。
每个指令支持注册多个回调,如果需要只执行最新监听,需要先注销旧的监听,否则新旧监听都会触发回调。
原子化服务API: 从API version 13开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 错误事件回调类型,支持的事件:'castControlAudioRendererError'。 |
| callback | ErrorCallback | 是 | 投播音频渲染器的错误事件回调方法。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter check failed. 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 6615000 | Unspecified errors related to the audio renderer. |
| 6615001 | Initializing the audio renderer failed. |
| 6615002 | The audio renderer fails to write data. |
示例:
avCastController.on('castControlAudioRendererError', (error: BusinessError) => {
console.info(`castControlAudioRendererError happened, error code: ${error.code}, error message : ${error.message}.`)
})
off('castControlAudioRendererError')13+
off(type: 'castControlAudioRendererError', callback?: ErrorCallback): void
取消投播音频渲染器的错误事件监听。指定callback,可取消对应监听;未指定callback,取消所有事件监听。
原子化服务API: 从API version 13开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 取消对应的监听事件,支持的事件是'castControlAudioRendererError'。 |
| callback | ErrorCallback | 否 | 回调函数。当监听事件取消成功,err为undefined,否则返回错误对象。该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter check failed. 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
示例:
avCastController.off('castControlAudioRendererError');
on('castControlDrmError')13+
on(type: 'castControlDrmError', callback: ErrorCallback): void
监听投播drm的错误事件。
每个指令支持注册多个回调,如果需要只执行最新监听,需要先注销旧的监听,否则新旧监听都会触发回调。
原子化服务API: 从API version 13开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 错误事件回调类型,支持的事件:'castControlDrmError'。 |
| callback | ErrorCallback | 是 | 投播drm的错误事件回调方法。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档和媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter check failed. 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
| 6616000 | Unspecified error related to DRM. |
| 6616001 | The chosen DRM protection scheme is not supported by the device. |
| 6616002 | Device provisioning failed. |
| 6616003 | The DRM-protected content to play is incompatible. |
| 6616004 | Failed to obtain a license. |
| 6616005 | The operation is disallowed by the license policy. |
| 6616006 | An error occurs in the DRM system. |
| 6616007 | The device has revoked DRM privileges. |
| 6616008 | The DRM license being loaded into the open DRM session has expired. |
| 6616100 | An error occurs when the DRM processes the key response. |
示例:
avCastController.on('castControlDrmError', (error: BusinessError) => {
console.info(`castControlDrmError happened, error code: ${error.code}, error message : ${error.message}.`)
})
off('castControlDrmError')13+
off(type: 'castControlDrmError', callback?: ErrorCallback): void
取消投播drm的错误事件监听。指定callback,可取消对应监听;未指定callback,取消所有事件监听。
原子化服务API: 从API version 13开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 取消对应的监听事件,支持的事件是'castControlDrmError'。 |
| callback | ErrorCallback | 否 | 回调函数。当监听事件取消成功,err为undefined,否则返回错误对象。该参数为可选参数,若不填写该参数,则认为取消所有相关会话的事件监听。 |
错误码:
以下错误码的详细介绍请参见通用错误码说明文档。
| 错误码ID | 错误信息 |
|---|---|
| 401 | Parameter check failed. 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
示例:
avCastController.off('castControlDrmError');
on('customDataChange')20+
on(type: 'customDataChange', callback: Callback<Record<string, Object>>): void
注册从远端设备发送的自定义数据的监听器。
原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 事件回调类型,支持'customDataChange'事件。媒体提供方发送自定义数据时触发。 |
| callback | Callback<Record<string, Object>> | 是 | 回调函数,用于接收自定义数据。 |
错误码:
以下错误码的详细介绍请参见媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 6600101 | Session service exception. |
示例:
avCastController.on('customDataChange', (callback) => {
console.info(`Caught customDataChange event,the new callback is: ${JSON.stringify(callback)}`);
});
off('customDataChange')20+
off(type: 'customDataChange', callback?: Callback<Record<string, Object>>): void
取消对自定义数据的监听。
原子化服务API: 从API version 20开始,该接口支持在原子化服务中使用。
系统能力: SystemCapability.Multimedia.AVSession.AVCast
参数:
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| type | string | 是 | 取消对应的监听事件,支持的事件是'customDataChange'。 |
| callback | Callback<Record<string, Object>> | 否 | 注册监听事件时的回调函数。该参数为可选参数,若不填写该参数,则认为取消会话所有与此事件相关的监听。 |
错误码:
以下错误码的详细介绍请参见媒体会话管理错误码。
| 错误码ID | 错误信息 |
|---|---|
| 6600101 | Session service exception. |
示例:
avCastController.off('customDataChange');
你可能感兴趣的鸿蒙文章
openharmony 鸿蒙 arkts-apis-avsession
openharmony 鸿蒙 arkts-apis-avsession-e
openharmony 鸿蒙 capi-native-avsession-h
openharmony 鸿蒙 errorcode-avsession
openharmony 鸿蒙 js-apis-inner-application-MediaControlExtensionContext-sys
openharmony 鸿蒙 arkts-apis-avMusicTemplate-AVMusicTemplateController
openharmony 鸿蒙 capi-native-avsession-base-h
openharmony 鸿蒙 arkts-apis-avMusicTemplate-t