@ohos.multimedia.avsession (AVSession Management)
The avSession module provides APIs for media playback control so that applications can access the system's Media Controller.
This module provides the following typical features related to media sessions:
- AVSession: used to set session metadata, playback state information, and more.
- AVSessionController: used to obtain session IDs, send commands and events to sessions, and obtain the session metadata and playback state information.
- AVCastController: used to control playback, listen for remote playback state changes, and obtain the remote playback state in casting scenarios.
NOTE
The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version.
Modules to Import
import { avSession } from '@kit.AVSessionKit';
avSession.createAVSession10+
createAVSession(context: Context, tag: string, type: AVSessionType): Promise<AVSession>
Creates a media session. This API uses a promise to return the result. An ability can have only one session, and repeated calling of this API fails.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| context | Context | Yes | Context of the UIAbility, which is used to obtain information about the application component. |
| tag | string | Yes | Custom session name. |
| type | AVSessionType | Yes | Session type. |
Return value
| Type | Description |
|---|---|
| Promise<AVSession> | Promise used to return the media session obtained, which can be used to obtain the session ID, set the metadata and playback state information, and send key events. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let currentAVSession: avSession.AVSession;
let tag = "createNewSession";
let context: Context = getContext(this);
let sessionId: string; // Used as an input parameter of subsequent functions.
avSession.createAVSession(context, tag, "audio").then((data: avSession.AVSession) => {
currentAVSession = data;
sessionId = currentAVSession.sessionId;
console.info(`CreateAVSession : SUCCESS : sessionId = ${sessionId}`);
}).catch((err: BusinessError) => {
console.info(`CreateAVSession BusinessError: code: ${err.code}, message: ${err.message}`);
});
avSession.createAVSession10+
createAVSession(context: Context, tag: string, type: AVSessionType, callback: AsyncCallback<AVSession>): void
Creates a media session. This API uses an asynchronous callback to return the result. An ability can have only one session, and repeated calling of this API fails.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| context | Context | Yes | Context of the UIAbility, which is used to obtain information about the application component. |
| tag | string | Yes | Custom session name. |
| type | AVSessionType | Yes | Session type. |
| callback | AsyncCallback<AVSession> | Yes | Callback used to return the media session obtained, which can be used to obtain the session ID, set the metadata and playback state information, and send key events. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let currentAVSession: avSession.AVSession;
let tag = "createNewSession";
let context: Context = getContext(this);
let sessionId: string; // Used as an input parameter of subsequent functions.
avSession.createAVSession(context, tag, "audio", (err: BusinessError, data: avSession.AVSession) => {
if (err) {
console.error(`CreateAVSession BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
currentAVSession = data;
sessionId = currentAVSession.sessionId;
console.info(`CreateAVSession : SUCCESS : sessionId = ${sessionId}`);
}
});
ProtocolType11+
Enumerates the protocol types supported by the remote device.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
| Name | Value | Description |
|---|---|---|
| TYPE_LOCAL11+ | 0 | Local device, which can be the built-in speaker or audio jack of the device, or an A2DP device. |
| TYPE_CAST_PLUS_STREAM11+ | 2 | Cast+ stream mode, indicating that the media asset is being displayed on another device. |
| TYPE_DLNA12+ | 4 | DLNA protocol, indicating that the media asset is being displayed on another device. |
AVSessionType10+
type AVSessionType = 'audio' | 'video' | 'voice_call' | 'video_call'
Enumerates the session types supported by the session.
You can use the strings listed in the following table.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
| Type | Description |
|---|---|
| 'audio' | Audio session. |
| 'video' | Video session. |
| 'voice_call'11+ | Voice call. |
| 'video_call'12+ | Video call. |
AVSession10+
An AVSession object is created by calling avSession.createAVSession. The object enables you to obtain the session ID and set the metadata and playback state.
Attributes
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
| Name | Type | Readable | Writable | Description |
|---|---|---|---|---|
| sessionId | string | Yes | No | Unique session ID of the AVSession object. |
| sessionType | AVSessionType | Yes | No | AVSession type. |
Example
let sessionId: string = currentAVSession.sessionId;
let sessionType: avSession.AVSessionType = currentAVSession.sessionType;
setAVMetadata10+
setAVMetadata(data: AVMetadata): Promise<void>
Sets session metadata. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| data | AVMetadata | Yes | Session metadata. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the setting is successful, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let metadata: avSession.AVMetadata = {
assetId: "121278",
title: "lose yourself",
artist: "Eminem",
author: "ST",
album: "Slim shady",
writer: "ST",
composer: "ST",
duration: 2222,
mediaImage: "https://www.example.com/example.jpg",
subtitle: "8 Mile",
description: "Rap",
// The LRC contains two types of elements: time tag + lyrics, and ID tag.
// Example: [00:25.44]xxx\r\n[00:26.44]xxx\r\n
lyric: "Lyrics in LRC format",
previousAssetId: "121277",
nextAssetId: "121279"
};
currentAVSession.setAVMetadata(metadata).then(() => {
console.info('SetAVMetadata successfully');
}).catch((err: BusinessError) => {
console.error(`SetAVMetadata BusinessError: code: ${err.code}, message: ${err.message}`);
});
setAVMetadata10+
setAVMetadata(data: AVMetadata, callback: AsyncCallback<void>): void
Sets session metadata. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| data | AVMetadata | Yes | Session metadata. |
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the setting is successful, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let metadata: avSession.AVMetadata = {
assetId: "121278",
title: "lose yourself",
artist: "Eminem",
author: "ST",
album: "Slim shady",
writer: "ST",
composer: "ST",
duration: 2222,
mediaImage: "https://www.example.com/example.jpg",
subtitle: "8 Mile",
description: "Rap",
// The LRC contains two types of elements: time tag + lyrics, and ID tag.
// Example: [00:25.44]xxx\r\n[00:26.44]xxx\r\n
lyric: "Lyrics in LRC format",
previousAssetId: "121277",
nextAssetId: "121279"
};
currentAVSession.setAVMetadata(metadata, (err: BusinessError) => {
if (err) {
console.error(`SetAVMetadata BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('SetAVMetadata successfully');
}
});
setCallMetadata11+
setCallMetadata(data: CallMetadata): Promise<void>
Sets call metadata. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| data | CallMetadata | Yes | Call metadata. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the setting is successful, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. 3.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { image } from '@kit.ImageKit';
import { resourceManager } from '@kit.LocalizationKit';
import { BusinessError } from '@kit.BasicServicesKit';
let value = await resourceManager.getSystemResourceManager().getRawFileContent('IMAGE_URI');
let imageSource = await image.createImageSource(value.buffer);
let imagePixel = await imageSource.createPixelMap({desiredSize:{width: 150, height: 150}});
let calldata: avSession.CallMetadata = {
name: "xiaoming",
phoneNumber: "111xxxxxxxx",
avatar: imagePixel
};
currentAVSession.setCallMetadata(calldata).then(() => {
console.info('setCallMetadata successfully');
}).catch((err: BusinessError) => {
console.error(`setCallMetadata BusinessError: code: ${err.code}, message: ${err.message}`);
});
setCallMetadata11+
setCallMetadata(data: CallMetadata, callback: AsyncCallback<void>): void
Sets call metadata. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| data | CallMetadata | Yes | Call metadata. |
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the setting is successful, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. 3.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { image } from '@kit.ImageKit';
import { resourceManager } from '@kit.LocalizationKit';
import { BusinessError } from '@kit.BasicServicesKit';
async function setCallMetadata() {
let value = await resourceManager.getSystemResourceManager().getRawFileContent('IMAGE_URI');
let imageSource = await image.createImageSource(value.buffer);
let imagePixel = await imageSource.createPixelMap({desiredSize:{width: 150, height: 150}});
let calldata: avSession.CallMetadata = {
name: "xiaoming",
phoneNumber: "111xxxxxxxx",
avatar: imagePixel
};
currentAVSession.setCallMetadata(calldata, (err: BusinessError) => {
if (err) {
console.error(`setCallMetadata BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('setCallMetadata successfully');
}
});
}
setAVCallState11+
setAVCallState(state: AVCallState): Promise<void>
Sets the call state. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| state | AVCallState | Yes | Call state. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the setting is successful, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let calldata: avSession.AVCallState = {
state: avSession.CallState.CALL_STATE_ACTIVE,
muted: false
};
currentAVSession.setAVCallState(calldata).then(() => {
console.info('setAVCallState successfully');
}).catch((err: BusinessError) => {
console.error(`setAVCallState BusinessError: code: ${err.code}, message: ${err.message}`);
});
setAVCallState11+
setAVCallState(state: AVCallState, callback: AsyncCallback<void>): void
Sets the call state. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| state | AVCallState | Yes | Call state. |
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the setting is successful, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let avcalldata: avSession.AVCallState = {
state: avSession.CallState.CALL_STATE_ACTIVE,
muted: false
};
currentAVSession.setAVCallState(avcalldata, (err: BusinessError) => {
if (err) {
console.error(`setAVCallState BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('setAVCallState successfully');
}
});
setAVPlaybackState10+
setAVPlaybackState(state: AVPlaybackState): Promise<void>
Sets information related to the session playback state. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| state | AVPlaybackState | Yes | Information related to the session playback state. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the setting is successful, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let playbackState: avSession.AVPlaybackState = {
state:avSession.PlaybackState.PLAYBACK_STATE_PLAY,
speed: 1.0,
position:{elapsedTime:10, updateTime:(new Date()).getTime()},
bufferedTime:1000,
loopMode:avSession.LoopMode.LOOP_MODE_SINGLE,
isFavorite:true
};
currentAVSession.setAVPlaybackState(playbackState).then(() => {
console.info('SetAVPlaybackState successfully');
}).catch((err: BusinessError) => {
console.error(`SetAVPlaybackState BusinessError: code: ${err.code}, message: ${err.message}`);
});
setAVPlaybackState10+
setAVPlaybackState(state: AVPlaybackState, callback: AsyncCallback<void>): void
Sets information related to the session playback state. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| state | AVPlaybackState | Yes | Information related to the session playback state. |
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the setting is successful, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let PlaybackState: avSession.AVPlaybackState = {
state:avSession.PlaybackState.PLAYBACK_STATE_PLAY,
speed: 1.0,
position:{elapsedTime:10, updateTime:(new Date()).getTime()},
bufferedTime:1000,
loopMode:avSession.LoopMode.LOOP_MODE_SINGLE,
isFavorite:true
};
currentAVSession.setAVPlaybackState(PlaybackState, (err: BusinessError) => {
if (err) {
console.error(`SetAVPlaybackState BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('SetAVPlaybackState successfully');
}
});
setLaunchAbility10+
setLaunchAbility(ability: WantAgent): Promise<void>
Sets a launcher ability. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| ability | WantAgent | Yes | Application attributes, such as the bundle name, ability name, and deviceID. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the setting is successful, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { wantAgent } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
// WantAgentInfo object.
let wantAgentInfo: wantAgent.WantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.example.myapplication",
abilityName: "EntryAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key = {true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true
}
}
],
operationType: wantAgent.OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}
wantAgent.getWantAgent(wantAgentInfo).then((agent) => {
currentAVSession.setLaunchAbility(agent).then(() => {
console.info('SetLaunchAbility successfully');
}).catch((err: BusinessError) => {
console.error(`SetLaunchAbility BusinessError: code: ${err.code}, message: ${err.message}`);
});
});
setLaunchAbility10+
setLaunchAbility(ability: WantAgent, callback: AsyncCallback<void>): void
Sets a launcher ability. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| ability | WantAgent | Yes | Application attributes, such as the bundle name, ability name, and deviceID. |
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the setting is successful, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { wantAgent } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
// WantAgentInfo object.
let wantAgentInfo: wantAgent.WantAgentInfo = {
wants: [
{
deviceId: "deviceId",
bundleName: "com.example.myapplication",
abilityName: "EntryAbility",
action: "action1",
entities: ["entity1"],
type: "MIMETYPE",
uri: "key = {true,true,false}",
parameters:
{
mykey0: 2222,
mykey1: [1, 2, 3],
mykey2: "[1, 2, 3]",
mykey3: "ssssssssssssssssssssssssss",
mykey4: [false, true, false],
mykey5: ["qqqqq", "wwwwww", "aaaaaaaaaaaaaaaaa"],
mykey6: true
}
}
],
operationType: wantAgent.OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}
wantAgent.getWantAgent(wantAgentInfo).then((agent) => {
currentAVSession.setLaunchAbility(agent, (err: BusinessError) => {
if (err) {
console.error(`SetLaunchAbility BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('SetLaunchAbility successfully');
}
});
});
dispatchSessionEvent10+
dispatchSessionEvent(event: string, args: {[key: string]: Object}): Promise<void>
Dispatches a custom event in the session, including the event name and event content in key-value pair format. This API uses a promise to return the result. It is called by the provider.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| event | string | Yes | Name of the session event. |
| args | {[key: string]: Object} | Yes | Content of the session event. |
NOTE The args parameter supports the following data types: string, number, Boolean, object, array, and file descriptor. For details, see @ohos.app.ability.Want(Want).
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the setting is successful, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. 3.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let currentAVSession: avSession.AVSession | undefined = undefined;
let tag = "createNewSession";
let context: Context = getContext(this);
avSession.createAVSession(context, tag, "audio", (err: BusinessError, data: avSession.AVSession) => {
if (err) {
console.error(`CreateAVSession BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
currentAVSession = data;
}
});
let eventName = "dynamic_lyric";
if (currentAVSession !== undefined) {
(currentAVSession as avSession.AVSession).dispatchSessionEvent(eventName, {lyric : "This is lyric"}).then(() => {
console.info('dispatchSessionEvent successfully');
}).catch((err: BusinessError) => {
console.error(`dispatchSessionEvent BusinessError: code: ${err.code}, message: ${err.message}`);
})
}
dispatchSessionEvent10+
dispatchSessionEvent(event: string, args: {[key: string]: Object}, callback: AsyncCallback<void>): void
Dispatches a custom event in the session, including the event name and event content in key-value pair format. This API uses an asynchronous callback to return the result. It is called by the provider.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| event | string | Yes | Name of the session event. |
| args | {[key: string]: Object} | Yes | Content of the session event. |
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the setting is successful, err is undefined; otherwise, err is an error object. |
NOTE
The args parameter supports the following data types: string, number, Boolean, object, array, and file descriptor. For details, see @ohos.app.ability.Want(Want).
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. 3.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let currentAVSession: avSession.AVSession | undefined = undefined;
let tag = "createNewSession";
let context: Context = getContext(this);
avSession.createAVSession(context, tag, "audio", (err: BusinessError, data: avSession.AVSession) => {
if (err) {
console.error(`CreateAVSession BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
currentAVSession = data;
}
});
let eventName: string = "dynamic_lyric";
if (currentAVSession !== undefined) {
(currentAVSession as avSession.AVSession).dispatchSessionEvent(eventName, {lyric : "This is lyric"}, (err: BusinessError) => {
if (err) {
console.error(`dispatchSessionEvent BusinessError: code: ${err.code}, message: ${err.message}`);
}
})
}
setAVQueueItems10+
setAVQueueItems(items: Array<AVQueueItem>): Promise<void>
Sets a playlist. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| items | Array<AVQueueItem> | Yes | Playlist to set. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the setting is successful, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { image } from '@kit.ImageKit';
import { resourceManager } from '@kit.LocalizationKit';
import { BusinessError } from '@kit.BasicServicesKit';
async function setAVQueueItems() {
let value = await resourceManager.getSystemResourceManager().getRawFileContent('IMAGE_URI');
let imageSource = await image.createImageSource(value.buffer);
let imagePixel = await imageSource.createPixelMap({desiredSize:{width: 150, height: 150}});
let queueItemDescription_1: avSession.AVMediaDescription = {
assetId: '001',
title: 'music_name',
subtitle: 'music_sub_name',
description: 'music_description',
mediaImage : imagePixel,
extras: {extras:'any'}
};
let queueItem_1: avSession.AVQueueItem = {
itemId: 1,
description: queueItemDescription_1
};
let queueItemDescription_2: avSession.AVMediaDescription = {
assetId: '002',
title: 'music_name',
subtitle: 'music_sub_name',
description: 'music_description',
mediaImage: imagePixel,
extras: {extras:'any'}
};
let queueItem_2: avSession.AVQueueItem = {
itemId: 2,
description: queueItemDescription_2
};
let queueItemsArray: avSession.AVQueueItem[] = [queueItem_1, queueItem_2];
currentAVSession.setAVQueueItems(queueItemsArray).then(() => {
console.info('SetAVQueueItems successfully');
}).catch((err: BusinessError) => {
console.error(`SetAVQueueItems BusinessError: code: ${err.code}, message: ${err.message}`);
});
}
setAVQueueItems10+
setAVQueueItems(items: Array<AVQueueItem>, callback: AsyncCallback<void>): void
Sets a playlist. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| items | Array<AVQueueItem> | Yes | Playlist to set. |
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the setting is successful, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { image } from '@kit.ImageKit';
import { resourceManager } from '@kit.LocalizationKit';
import { BusinessError } from '@kit.BasicServicesKit';
async function setAVQueueItems() {
let value = await resourceManager.getSystemResourceManager().getRawFileContent('IMAGE_URI');
let imageSource = await image.createImageSource(value.buffer);
let imagePixel = await imageSource.createPixelMap({desiredSize:{width: 150, height: 150}});
let queueItemDescription_1: avSession.AVMediaDescription = {
assetId: '001',
title: 'music_name',
subtitle: 'music_sub_name',
description: 'music_description',
mediaImage : imagePixel,
extras: {extras:'any'}
};
let queueItem_1: avSession.AVQueueItem = {
itemId: 1,
description: queueItemDescription_1
};
let queueItemDescription_2: avSession.AVMediaDescription = {
assetId: '002',
title: 'music_name',
subtitle: 'music_sub_name',
description: 'music_description',
mediaImage: imagePixel,
extras: {extras:'any'}
};
let queueItem_2: avSession.AVQueueItem = {
itemId: 2,
description: queueItemDescription_2
};
let queueItemsArray: avSession.AVQueueItem[] = [queueItem_1, queueItem_2];
currentAVSession.setAVQueueItems(queueItemsArray, (err: BusinessError) => {
if (err) {
console.error(`SetAVQueueItems BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('SetAVQueueItems successfully');
}
});
}
setAVQueueTitle10+
setAVQueueTitle(title: string): Promise<void>
Sets a name for the playlist. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| title | string | Yes | Name of the playlist. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the setting is successful, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let queueTitle = 'QUEUE_TITLE';
currentAVSession.setAVQueueTitle(queueTitle).then(() => {
console.info('SetAVQueueTitle successfully');
}).catch((err: BusinessError) => {
console.error(`SetAVQueueTitle BusinessError: code: ${err.code}, message: ${err.message}`);
});
setAVQueueTitle10+
setAVQueueTitle(title: string, callback: AsyncCallback<void>): void
Sets a name for the playlist. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| title | string | Yes | Name of the playlist. |
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the setting is successful, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let queueTitle = 'QUEUE_TITLE';
currentAVSession.setAVQueueTitle(queueTitle, (err: BusinessError) => {
if (err) {
console.error(`SetAVQueueTitle BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('SetAVQueueTitle successfully');
}
});
setExtras10+
setExtras(extras: {[key: string]: Object}): Promise<void>
Sets a custom media packet in the form of key-value pairs. This API uses a promise to return the result. It is called by the provider.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| extras | {[key: string]: Object} | Yes | Key-value pairs of the custom media packet. |
NOTE
The extras parameter supports the following data types: string, number, Boolean, object, array, and file descriptor. For details, see @ohos.app.ability.Want(Want).
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the setting is successful, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let currentAVSession: avSession.AVSession | undefined = undefined;
let tag = "createNewSession";
let context: Context = getContext(this);
avSession.createAVSession(context, tag, "audio", (err: BusinessError, data: avSession.AVSession) => {
if (err) {
console.error(`CreateAVSession BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
currentAVSession = data;
}
});
if (currentAVSession !== undefined) {
(currentAVSession as avSession.AVSession).setExtras({extras : "This is custom media packet"}).then(() => {
console.info('setExtras successfully');
}).catch((err: BusinessError) => {
console.error(`setExtras BusinessError: code: ${err.code}, message: ${err.message}`);
})
}
setExtras10+
setExtras(extras: {[key: string]: Object}, callback: AsyncCallback<void>): void
Sets a custom media packet in the form of key-value pairs. This API uses an asynchronous callback to return the result. It is called by the provider.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| extras | {[key: string]: Object} | Yes | Key-value pairs of the custom media packet. |
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the setting is successful, err is undefined; otherwise, err is an error object. |
NOTE
The extras parameter supports the following data types: string, number, Boolean, object, array, and file descriptor. For details, see @ohos.app.ability.Want(Want).
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let currentAVSession: avSession.AVSession | undefined = undefined;
let tag = "createNewSession";
let context: Context = getContext(this);
avSession.createAVSession(context, tag, "audio", (err: BusinessError, data: avSession.AVSession) => {
if (err) {
console.error(`CreateAVSession BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
currentAVSession = data;
}
});
if (currentAVSession !== undefined) {
(currentAVSession as avSession.AVSession).setExtras({extras : "This is custom media packet"}, (err: BusinessError) => {
if (err) {
console.error(`setExtras BusinessError: code: ${err.code}, message: ${err.message}`);
}
})
}
getController10+
getController(): Promise<AVSessionController>
Obtains the controller corresponding to this session. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| Promise<AVSessionController> | Promise used to return the session controller. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let avsessionController: avSession.AVSessionController;
currentAVSession.getController().then((avcontroller: avSession.AVSessionController) => {
avsessionController = avcontroller;
console.info(`GetController : SUCCESS : sessionid : ${avsessionController.sessionId}`);
}).catch((err: BusinessError) => {
console.error(`GetController BusinessError: code: ${err.code}, message: ${err.message}`);
});
getController10+
getController(callback: AsyncCallback<AVSessionController>): void
Obtains the controller corresponding to this session. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<AVSessionController> | Yes | Callback used to return the session controller. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let avsessionController: avSession.AVSessionController;
currentAVSession.getController((err: BusinessError, avcontroller: avSession.AVSessionController) => {
if (err) {
console.error(`GetController BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
avsessionController = avcontroller;
console.info(`GetController : SUCCESS : sessionid : ${avsessionController.sessionId}`);
}
});
getAVCastController10+
getAVCastController(): Promise<AVCastController>
Obtains the cast controller when a casting connection is set up. This API uses a promise to return the result. If the session is not in the cast state, the controller returns null.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Return value
| Type | Description |
|---|---|
| Promise<AVCastController> | Promise used to return the cast controller. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600102 | The session does not exist. |
| 6600109 | The remote connection is not established. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let aVCastController: avSession.AVCastController;
currentAVSession.getAVCastController().then((avcontroller: avSession.AVCastController) => {
aVCastController = avcontroller;
console.info('getAVCastController : SUCCESS');
}).catch((err: BusinessError) => {
console.error(`getAVCastController BusinessError: code: ${err.code}, message: ${err.message}`);
});
getAVCastController10+
getAVCastController(callback: AsyncCallback<AVCastController>): void
Obtains the cast controller when a casting connection is set up. This API uses an asynchronous callback to return the result. If the session is not in the cast state, the controller returns null.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<AVCastController> | Yes | Callback used to return the cast controller. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600102 | The session does not exist. |
| 6600109 | The remote connection is not established. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let aVCastController: avSession.AVCastController;
currentAVSession.getAVCastController((err: BusinessError, avcontroller: avSession.AVCastController) => {
if (err) {
console.error(`getAVCastController BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
aVCastController = avcontroller;
console.info('getAVCastController : SUCCESS');
}
});
getOutputDevice10+
getOutputDevice(): Promise<OutputDeviceInfo>
Obtains information about the output device for this session. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| Promise<OutputDeviceInfo> | Promise used to return the output device information. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
currentAVSession.getOutputDevice().then((outputDeviceInfo: avSession.OutputDeviceInfo) => {
console.info(`GetOutputDevice : SUCCESS : devices length : ${outputDeviceInfo.devices.length}`);
}).catch((err: BusinessError) => {
console.error(`GetOutputDevice BusinessError: code: ${err.code}, message: ${err.message}`);
})
getOutputDevice10+
getOutputDevice(callback: AsyncCallback<OutputDeviceInfo>): void
Obtains information about the output device for this session. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<OutputDeviceInfo> | Yes | Callback used to return the information obtained. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
currentAVSession.getOutputDevice((err: BusinessError, outputDeviceInfo: avSession.OutputDeviceInfo) => {
if (err) {
console.error(`GetOutputDevice BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info(`GetOutputDevice : SUCCESS : devices length : ${outputDeviceInfo.devices.length}`);
}
});
activate10+
activate(): Promise<void>
Activates this session. A session can be used only after being activated. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the session is activated, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
currentAVSession.activate().then(() => {
console.info('Activate : SUCCESS ');
}).catch((err: BusinessError) => {
console.error(`Activate BusinessError: code: ${err.code}, message: ${err.message}`);
});
activate10+
activate(callback: AsyncCallback<void>): void
Activates this session. A session can be used only after being activated. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the session is activated, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
currentAVSession.activate((err: BusinessError) => {
if (err) {
console.error(`Activate BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('Activate : SUCCESS ');
}
});
deactivate10+
deactivate(): Promise<void>
Deactivates this session. You can use activate to activate the session again. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the session is deactivated, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
currentAVSession.deactivate().then(() => {
console.info('Deactivate : SUCCESS ');
}).catch((err: BusinessError) => {
console.error(`Deactivate BusinessError: code: ${err.code}, message: ${err.message}`);
});
deactivate10+
deactivate(callback: AsyncCallback<void>): void
Deactivates this session. This API uses an asynchronous callback to return the result.
Deactivates this session. You can use activate to activate the session again.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the session is deactivated, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
currentAVSession.deactivate((err: BusinessError) => {
if (err) {
console.error(`Deactivate BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('Deactivate : SUCCESS ');
}
});
destroy10+
destroy(): Promise<void>
Destroys this session. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the session is destroyed, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
currentAVSession.destroy().then(() => {
console.info('Destroy : SUCCESS ');
}).catch((err: BusinessError) => {
console.error(`Destroy BusinessError: code: ${err.code}, message: ${err.message}`);
});
destroy10+
destroy(callback: AsyncCallback<void>): void
Destroys this session. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the session is destroyed, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
currentAVSession.destroy((err: BusinessError) => {
if (err) {
console.error(`Destroy BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('Destroy : SUCCESS ');
}
});
on('play')10+
on(type: 'play', callback: () => void): void
Subscribes to play command events. The subscription means that the application supports the play command.
Only one callback can be registered for each playback command. If a new callback is registered, the previous callback is replaced.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'play' is triggered when the command for starting playback is sent to the session. |
| callback | () => void | Yes | Callback used for subscription. If the subscription is successful, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.on('play', () => {
console.info('on play entry');
});
on('pause')10+
on(type: 'pause', callback: () => void): void
Subscribes to pause command events. The subscription means that the application supports the pause command.
Only one callback can be registered for each playback command. If a new callback is registered, the previous callback is replaced.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'pause' is triggered when the command for pausing the playback is sent to the session. |
| callback | () => void | Yes | Callback used for subscription. If the subscription is successful, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.on('pause', () => {
console.info('on pause entry');
});
on('stop')10+
on(type:'stop', callback: () => void): void
Subscribes to stop command events. The subscription means that the application supports the stop command.
Only one callback can be registered for each playback command. If a new callback is registered, the previous callback is replaced.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'stop' is triggered when the command for stopping the playback is sent to the session. |
| callback | () => void | Yes | Callback used for subscription. If the subscription is successful, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.on('stop', () => {
console.info('on stop entry');
});
on('playNext')10+
on(type:'playNext', callback: () => void): void
Subscribes to playNext command events. The subscription means that the application supports the playNext command.
Only one callback can be registered for each playback command. If a new callback is registered, the previous callback is replaced.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'playNext' is triggered when the command for playing the next item is sent to the session. |
| callback | () => void | Yes | Callback used for subscription. If the subscription is successful, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.on('playNext', () => {
console.info('on playNext entry');
});
on('playPrevious')10+
on(type:'playPrevious', callback: () => void): void
Subscribes to playPrevious command events. The subscription means that the application supports the playPrevious command.
Only one callback can be registered for each playback command. If a new callback is registered, the previous callback is replaced.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'playPrevious' is triggered when the command for playing the previous item sent to the session. |
| callback | () => void | Yes | Callback used for subscription. If the subscription is successful, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.on('playPrevious', () => {
console.info('on playPrevious entry');
});
on('fastForward')10+
on(type: 'fastForward', callback: (time?: number) => void): void
Subscribes to fastForward command events. The subscription means that the application supports the fastForward command.
Only one callback can be registered for each playback command. If a new callback is registered, the previous callback is replaced.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'fastForward' is triggered when the command for fast forwarding is sent to the session. |
| callback | (time?: number) => void | Yes | Callback used for subscription. The time parameter in the callback indicates the time to seek to, in seconds. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.on('fastForward', (time?: number) => {
console.info('on fastForward entry');
});
on('rewind')10+
on(type:'rewind', callback: (time?: number) => void): void
Subscribes to rewind command events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'rewind' is triggered when the command for rewinding is sent to the session. |
| callback | (time?: number) => void | Yes | Callback used for subscription. The time parameter in the callback indicates the time to seek to, in seconds. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.on('rewind', (time?: number) => {
console.info('on rewind entry');
});
on('playFromAssetId')11+
on(type:'playFromAssetId', callback: (assetId: number) => void): void
Subscribes to playback events of a given media ID.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'playFromAssetId' is triggered when the media ID is played. |
| callback | callback: (assetId: number) => void | Yes | Callback The assetId parameter in the callback indicates the media asset ID. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.on('playFromAssetId', (assetId: number) => {
console.info('on playFromAssetId entry');
});
off('playFromAssetId')11+
off(type: 'playFromAssetId', callback?: (assetId: number) => void): void
Unsubscribes from playback events of a given media ID.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'playFromAssetId' in this case. |
| callback | callback: (assetId: number) => void | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. The assetId parameter in the callback indicates the media asset ID. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.off('playFromAssetId');
on('seek')10+
on(type: 'seek', callback: (time: number) => void): void
Subscribes to seek command events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'seek' is triggered when the seek command is sent to the session. |
| callback | (time: number) => void | Yes | Callback used for subscription. The time parameter in the callback indicates the time to seek to, in milliseconds. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.on('seek', (time: number) => {
console.info(`on seek entry time : ${time}`);
});
on('setSpeed')10+
on(type: 'setSpeed', callback: (speed: number) => void): void
Subscribes to setSpeed command events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'setSpeed' is triggered when the command for setting the playback speed is sent to the session. |
| callback | (speed: number) => void | Yes | Callback used for subscription. The speed parameter in the callback indicates the playback speed. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.on('setSpeed', (speed: number) => {
console.info(`on setSpeed speed : ${speed}`);
});
on('setLoopMode')10+
on(type: 'setLoopMode', callback: (mode: LoopMode) => void): void
Subscribes to setLoopMode command events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'setLoopMode' is triggered when the command for setting the loop mode is sent to the session. |
| callback | (mode: LoopMode) => void | Yes | Callback used for subscription. The mode parameter in the callback indicates the loop mode. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.on('setLoopMode', (mode: avSession.LoopMode) => {
console.info(`on setLoopMode mode : ${mode}`);
});
on('toggleFavorite')10+
on(type: 'toggleFavorite', callback: (assetId: string) => void): void
Subscribes to toggleFavorite command events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'toggleFavorite' is triggered when the command for favoriting the media asset is sent to the session. |
| callback | (assetId: string) => void | Yes | Callback used for subscription. The assetId parameter in the callback indicates the media asset ID. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.on('toggleFavorite', (assetId: string) => {
console.info(`on toggleFavorite mode : ${assetId}`);
});
on('skipToQueueItem')10+
on(type: 'skipToQueueItem', callback: (itemId: number) => void): void
Subscribes to the event that indicates an item in the playlist is selected. The session can play the selected item.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'skipToQueueItem' is triggered when an item in the playlist is selected. |
| callback | (itemId: number) => void | Yes | Callback used for subscription. The itemId parameter in the callback indicates the ID of the selected item. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.on('skipToQueueItem', (itemId: number) => {
console.info(`on skipToQueueItem id : ${itemId}`);
});
on('handleKeyEvent')10+
on(type: 'handleKeyEvent', callback: (event: KeyEvent) => void): void
Subscribes to key events of external devices such as Bluetooth and wired devices to listen for the play, pause, previous, next, fast-forward, and rewind commands in the key events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'handleKeyEvent' is triggered when a key event is sent to the session. |
| callback | (event: KeyEvent) => void | Yes | Callback used for subscription. The event parameter in the callback indicates the key event. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { KeyEvent } from '@kit.InputKit';
currentAVSession.on('handleKeyEvent', (event: KeyEvent) => {
console.info(`on handleKeyEvent event : ${event}`);
});
on('outputDeviceChange')10+
on(type: 'outputDeviceChange', callback: (state: ConnectionState, device: OutputDeviceInfo) => void): void
Subscribes to output device change events. After the application integrates the AVCastPicker component, the application receives the device change callback when the user switches the device through the component.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'outputDeviceChange' is triggered when the output device changes. |
| callback | (state: ConnectionState, device: OutputDeviceInfo) => void | Yes | Callback function, where the device parameter specifies the output device information. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.on('outputDeviceChange', (state: avSession.ConnectionState, device: avSession.OutputDeviceInfo) => {
console.info(`on outputDeviceChange device : ${device}`);
});
on('commonCommand')10+
on(type: 'commonCommand', callback: (command: string, args: {[key: string]: Object}) => void): void
Subscribes to custom control command change events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'commonCommand' is triggered when a custom control command changes. |
| callback | (command: string, args: {[key:string]: Object}) => void | Yes | Callback used for subscription. The command parameter in the callback indicates the name of the changed custom control command, and args indicates the parameters carried in the command. The parameters must be the same as those set in sendCommonCommand. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let currentAVSession: avSession.AVSession | undefined = undefined;
let tag = "createNewSession";
let context: Context = getContext(this);
avSession.createAVSession(context, tag, "audio", (err: BusinessError, data: avSession.AVSession) => {
if (err) {
console.error(`CreateAVSession BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
currentAVSession = data;
}
});
if (currentAVSession !== undefined) {
(currentAVSession as avSession.AVSession).on('commonCommand', (commonCommand, args) => {
console.info(`OnCommonCommand, the command is ${commonCommand}, args: ${JSON.stringify(args)}`);
});
}
off('play')10+
off(type: 'play', callback?: () => void): void
Unsubscribes from play command events.
After the callback is canceled, the list of supported commands must be updated.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'play' in this case. |
| callback | () => void | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.off('play');
off('pause')10+
off(type: 'pause', callback?: () => void): void
Unsubscribes from pause command events.
After the callback is canceled, the list of supported commands must be updated.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'pause' in this case. |
| callback | () => void | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.off('pause');
off('stop')10+
off(type: 'stop', callback?: () => void): void
Unsubscribes from stop command events.
After the callback is canceled, the list of supported commands must be updated.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'stop' in this case. |
| callback | () => void | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.off('stop');
off('playNext')10+
off(type: 'playNext', callback?: () => void): void
Unsubscribes from playNext command events.
After the callback is canceled, the list of supported commands must be updated.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'playNext' in this case. |
| callback | () => void | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.off('playNext');
off('playPrevious')10+
off(type: 'playPrevious', callback?: () => void): void
Unsubscribes from playPrevious command events.
After the callback is canceled, the list of supported commands must be updated.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'playPrevious' in this case. |
| callback | () => void | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.off('playPrevious');
off('fastForward')10+
off(type: 'fastForward', callback?: () => void): void
Unsubscribes from fastForward command events.
After the callback is canceled, the list of supported commands must be updated.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'fastForward' in this case. |
| callback | () => void | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.off('fastForward');
off('rewind')10+
off(type: 'rewind', callback?: () => void): void
Unsubscribes from rewind command events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'rewind' in this case. |
| callback | () => void | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.off('rewind');
off('seek')10+
off(type: 'seek', callback?: (time: number) => void): void
Unsubscribes from seek command events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'seek' in this case. |
| callback | (time: number) => void | No | Callback used for unsubscription. The time parameter in the callback indicates the time to seek to, in milliseconds. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.off('seek');
off('setSpeed')10+
off(type: 'setSpeed', callback?: (speed: number) => void): void
Unsubscribes from setSpeed command events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'setSpeed' in this case. |
| callback | (speed: number) => void | No | Callback used for unsubscription. The speed parameter in the callback indicates the playback speed. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.off('setSpeed');
off('setLoopMode')10+
off(type: 'setLoopMode', callback?: (mode: LoopMode) => void): void
Unsubscribes from setSpeed command events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'setLoopMode' in this case. |
| callback | (mode: LoopMode) => void | No | Callback used for unsubscription. The mode parameter in the callback indicates the loop mode. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.off('setLoopMode');
off('toggleFavorite')10+
off(type: 'toggleFavorite', callback?: (assetId: string) => void): void
Unsubscribes from toggleFavorite command events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'toggleFavorite' in this case. |
| callback | (assetId: string) => void | No | Callback used for unsubscription. The assetId parameter in the callback indicates the media asset ID. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.off('toggleFavorite');
off('skipToQueueItem')10+
off(type: 'skipToQueueItem', callback?: (itemId: number) => void): void
Unsubscribes from the event that indicates an item in the playlist is selected.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'skipToQueueItem' in this case. |
| callback | (itemId: number) => void | No | Callback used for unsubscription. The itemId parameter in the callback indicates the ID of the item. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.off('skipToQueueItem');
off('handleKeyEvent')10+
off(type: 'handleKeyEvent', callback?: (event: KeyEvent) => void): void
Unsubscribes from key events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'handleKeyEvent' in this case. |
| callback | (event: KeyEvent) => void | No | Callback used for unsubscription. The event parameter in the callback indicates the key event. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.off('handleKeyEvent');
off('outputDeviceChange')10+
off(type: 'outputDeviceChange', callback?: (state: ConnectionState, device: OutputDeviceInfo) => void): void
Unsubscribes from playback device change events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'outputDeviceChange' in this case. |
| callback | (state: ConnectionState, device: OutputDeviceInfo) => void | No | Callback function, where the device parameter specifies the output device information. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.off('outputDeviceChange');
off('commonCommand')10+
off(type: 'commonCommand', callback?: (command: string, args: {[key:string]: Object}) => void): void
Unsubscribes from custom control command change events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'commonCommand' in this case. |
| callback | (command: string, args: {[key:string]: Object}) => void | No | Callback used for unsubscription. The command parameter in the callback indicates the name of the changed custom control command, and args indicates the parameters carried in the command. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.off('commonCommand');
on('answer')11+
on(type: 'answer', callback: Callback<void>): void;
Subscribes to call answer events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'answer' is triggered when a call is answered. |
| callback | Callback<void> | Yes | Callback used to return the result. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.on('answer', () => {
console.info('on call answer');
});
off('answer')11+
off(type: 'answer', callback?: Callback<void>): void;
Unsubscribes from call answer events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'answer' in this case. |
| callback | Callback<void> | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.off('answer');
on('hangUp')11+
on(type: 'hangUp', callback: Callback<void>): void;
Subscribes to call hangup events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'hangUp' is triggered when a call is hung up. |
| callback | Callback<void> | Yes | Callback used to return the result. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.on('hangUp', () => {
console.info('on call hangUp');
});
off('hangUp')11+
off(type: 'hangUp', callback?: Callback<void>): void;
Unsubscribes from call answer events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'hangUp' in this case. |
| callback | Callback<void> | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.off('hangUp');
on('toggleCallMute')11+
on(type: 'toggleCallMute', callback: Callback<void>): void;
Subscribes to call mute events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'toggleCallMute' is triggered when a call is muted or unmuted. |
| callback | Callback<void> | Yes | Callback used to return the result. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.on('toggleCallMute', () => {
console.info('on call toggleCallMute');
});
off('toggleCallMute')11+
off(type: 'toggleCallMute', callback?: Callback<void>): void;
Unsubscribes from call mute events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'toggleCallMute' in this case. |
| callback | Callback<void> | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.off('toggleCallMute');
on('castDisplayChange')12+
on(type: 'castDisplayChange', callback: Callback<CastDisplayInfo>): void
Subscribes to cast display change events in the case of extended screens.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.ExtendedDisplayCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'castDisplayChange' is triggered when the cast display in the case of extended screens changes. |
| callback | Callback<CastDisplayInfo> | Yes | Callback used to return the information about the cast display. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
let castDisplay: avSession.CastDisplayInfo;
currentAVSession.on('castDisplayChange', (display: avSession.CastDisplayInfo) => {
if (display.state === avSession.CastDisplayState.STATE_ON) {
castDisplay = display;
console.info(`Succeeded in castDisplayChange display : ${display.id} ON`);
} else if (display.state === avSession.CastDisplayState.STATE_OFF){
console.info(`Succeeded in castDisplayChange display : ${display.id} OFF`);
}
});
off('castDisplayChange')12+
off(type: 'castDisplayChange', callback?: Callback<CastDisplayInfo>): void
Unsubscribes from cast display change events in the case of extended screens.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.ExtendedDisplayCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'castDisplayChange' in this case. |
| callback | Callback<CastDisplayInfo> | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
currentAVSession.off('castDisplayChange');
stopCasting10+
stopCasting(callback: AsyncCallback<void>): void
Stops castings. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the command is sent, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600109 | The remote connection is not established. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
currentAVSession.stopCasting((err: BusinessError) => {
if (err) {
console.error(`stopCasting BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('stopCasting successfully');
}
});
stopCasting10+
stopCasting(): Promise<void>
Stops castings. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If casting stops, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600109 | The remote connection is not established. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
currentAVSession.stopCasting().then(() => {
console.info('stopCasting successfully');
}).catch((err: BusinessError) => {
console.error(`stopCasting BusinessError: code: ${err.code}, message: ${err.message}`);
});
getOutputDeviceSync10+
getOutputDeviceSync(): OutputDeviceInfo
Obtains the output device information. This API returns the result synchronously.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| OutputDeviceInfo | Information about the output device. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
let currentOutputDevice: avSession.OutputDeviceInfo = currentAVSession.getOutputDeviceSync();
} catch (err) {
let error = err as BusinessError;
console.error(`getOutputDeviceSync error, error code: ${error.code}, error message: ${error.message}`);
}
getAllCastDisplays12+
getAllCastDisplays(): Promise<Array<CastDisplayInfo>>
Obtains all displays that support extended screen projection in the current system. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.ExtendedDisplayCast
Return value
| Type | Description |
|---|---|
| Promise<Array<CastDisplayInfo>> | Promise used to return the information about all the cast displays. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let castDisplay: avSession.CastDisplayInfo;
currentAVSession.getAllCastDisplays().then((data: Array< avSession.CastDisplayInfo >) => {
if (data.length >= 1) {
castDisplay = data[0];
}
}).catch((err: BusinessError) => {
console.error(`Failed to getAllCastDisplay. Code: ${err.code}, message: ${err.message}`);
});
AVCastControlCommandType10+
type AVCastControlCommandType = 'play' | 'pause' | 'stop' | 'playNext' | 'playPrevious' | 'fastForward' | 'rewind' | 'seek' | 'setVolume' | 'setSpeed' | 'setLoopMode' | 'toggleFavorite' | 'toggleMute'
Enumerates the commands that can be sent by a cast controller.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
| Type | Description |
|---|---|
| 'play' | Play the media. |
| 'pause' | Pause the playback. |
| 'stop' | Stop the playback. |
| 'playNext' | Play the next media asset. |
| 'playPrevious' | Play the previous media asset. |
| 'fastForward' | Fast-forward. |
| 'rewind' | Rewind. |
| 'seek' | Seek to a playback position. |
| 'setVolume' | Set the volume. |
| 'setSpeed' | Set the playback speed. |
| 'setLoopMode' | Set the loop mode. |
| 'toggleFavorite' | Favorite the media asset. |
| 'toggleMute' | Set the muted status. |
AVCastControlCommand10+
Defines the command that can be sent by a cast controller.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
| Name | Type | Mandatory | Description |
|---|---|---|---|
| command | AVCastControlCommandType | Yes | Command. |
| parameter | media.PlaybackSpeed | number | string | LoopMode | No | Parameters carried in the command. |
AVCastController10+
After a casting connection is set up, you can call avSession.getAVCastController to obtain the cast controller. Through the controller, you can query the session ID, send commands and events to a session, and obtain session metadata and playback state information.
getAVPlaybackState10+
getAVPlaybackState(callback: AsyncCallback<AVPlaybackState>): void
Obtains the remote playback state. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<AVPlaybackState> | Yes | Callback used to return the remote playback state. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception |
Example
import { BusinessError } from '@kit.BasicServicesKit';
aVCastController.getAVPlaybackState((err: BusinessError, state: avSession.AVPlaybackState) => {
if (err) {
console.error(`getAVPlaybackState BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('getAVPlaybackState : SUCCESS');
}
});
getAVPlaybackState10+
getAVPlaybackState(): Promise<AVPlaybackState>
Obtains the remote playback state. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Return value
| Type | Description |
|---|---|
| Promise<AVPlaybackState> | Promise used to return the remote playback state. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception |
Example
import { BusinessError } from '@kit.BasicServicesKit';
aVCastController.getAVPlaybackState().then((state: avSession.AVPlaybackState) => {
console.info('getAVPlaybackState : SUCCESS');
}).catch((err: BusinessError) => {
console.error(`getAVPlaybackState BusinessError: code: ${err.code}, message: ${err.message}`);
});
sendControlCommand10+
sendControlCommand(command: AVCastControlCommand): Promise<void>
Sends a control command to the session through the controller. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| command | AVCastControlCommand | Yes | Command to send. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the command is sent, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let avCommand: avSession.AVCastControlCommand = {command:'play'};
aVCastController.sendControlCommand(avCommand).then(() => {
console.info('SendControlCommand successfully');
}).catch((err: BusinessError) => {
console.error(`SendControlCommand BusinessError: code: ${err.code}, message: ${err.message}`);
});
sendControlCommand10+
sendControlCommand(command: AVCastControlCommand, callback: AsyncCallback<void>): void
Sends a control command to the session through the controller. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| command | AVCastControlCommand | Yes | Command to send. |
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the command is sent, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let avCommand: avSession.AVCastControlCommand = {command:'play'};
aVCastController.sendControlCommand(avCommand, (err: BusinessError) => {
if (err) {
console.error(`SendControlCommand BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('SendControlCommand successfully');
}
});
prepare10+
prepare(item: AVQueueItem, callback: AsyncCallback<void>): void
Prepares for the playback of a media asset, that is, loads and buffers a media asset. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| item | AVQueueItem | Yes | Attributes of an item in the playlist. |
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the command is sent, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
// Set playback parameters.
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'
}
};
// Prepare for playback. This operation triggers loading and buffering, but not the actual playback.
aVCastController.prepare(playItem, (err: BusinessError) => {
if (err) {
console.error(`prepare BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('prepare successfully');
}
});
prepare10+
prepare(item: AVQueueItem): Promise<void>
Prepares for the playback of a media asset, that is, loads and buffers a media asset. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| item | AVQueueItem | Yes | Attributes of an item in the playlist. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the command is sent, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
// Set playback parameters.
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'
}
};
// Prepare for playback. This operation triggers loading and buffering, but not the actual playback.
aVCastController.prepare(playItem).then(() => {
console.info('prepare successfully');
}).catch((err: BusinessError) => {
console.error(`prepare BusinessError: code: ${err.code}, message: ${err.message}`);
});
start10+
start(item: AVQueueItem, callback: AsyncCallback<void>): void
Prepares for the playback of a media asset. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| item | AVQueueItem | Yes | Attributes of an item in the playlist. |
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the command is sent, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
// Set playback parameters.
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'
}
};
// Start playback.
aVCastController.start(playItem, (err: BusinessError) => {
if (err) {
console.error(`start BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('start successfully');
}
});
start10+
start(item: AVQueueItem): Promise<void>
Prepares for the playback of a media asset. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| item | AVQueueItem | Yes | Attributes of an item in the playlist. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the command is sent, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
// Set playback parameters.
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'
}
};
// Start playback.
aVCastController.start(playItem).then(() => {
console.info('start successfully');
}).catch((err: BusinessError) => {
console.error(`start BusinessError: code: ${err.code}, message: ${err.message}`);
});
getCurrentItem10+
getCurrentItem(callback: AsyncCallback<AVQueueItem>): void
Obtains the information about the media asset that is being played. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<AVQueueItem> | Yes | Callback used to return the result. If the command is sent, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
aVCastController.getCurrentItem((err: BusinessError, value: avSession.AVQueueItem) => {
if (err) {
console.error(`getCurrentItem BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('getCurrentItem successfully');
}
});
getCurrentItem10+
getCurrentItem(): Promise<AVQueueItem>
Obtains the information about the media asset that is being played. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Return value
| Type | Description |
|---|---|
| Promise<AVQueueItem> | Promise used to return the media asset obtained. If the operation fails, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
aVCastController.getCurrentItem().then((value: avSession.AVQueueItem) => {
console.info('getCurrentItem successfully');
}).catch((err: BusinessError) => {
console.error(`getCurrentItem BusinessError: code: ${err.code}, message: ${err.message}`);
});
getValidCommands11+
getValidCommands(callback: AsyncCallback<Array<AVCastControlCommandType>>): void
Obtains the supported commands. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | Array<AVCastControlCommandType> | Yes | Callback return the supported commands. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
aVCastController.getValidCommands((err: BusinessError, state: avSession.AVCastControlCommandType) => {
if (err) {
console.error(`getValidCommands BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('getValidCommands successfully');
}
});
getValidCommands11+
getValidCommands(): Promise<Array<AVCastControlCommandType>>
Obtains the supported commands. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Return value
| Type | Description |
|---|---|
| Promise<Array<AVCastControlCommandType>> | Promise used to return the supported commands. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
aVCastController.getValidCommands().then((state: avSession.AVCastControlCommandType) => {
console.info('getValidCommands successfully');
}).catch((err: BusinessError) => {
console.error(`getValidCommands BusinessError: code: ${err.code}, message: ${err.message}`);
});
processMediaKeyResponse12+
processMediaKeyResponse(assetId: string, response: Uint8Array): Promise<void>
Processes the response to a media key request during online DRM resource projection. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| assetId | string | Yes | Media asset ID. |
| response | Uint8Array | Yes | Response to the media key request. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the response is processed successfully, no result is returned. Otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
Example
let keyRequestCallback: avSession.KeyRequestCallback = async(assetId: string, requestData: Uint8Array) => {
// Obtain the DRM URL based on the asset ID.
let drmUrl = 'http://license.xxx.xxx.com:8080/drmproxy/getLicense';
// Obtain a media key from the server. Assign a value based on service requirements.
let licenseResponseData: Uint8Array = new Uint8Array();
console.info(`Succeeded in get license by ${drmUrl}.`);
aVCastController.processMediaKeyResponse(assetId, licenseResponseData);
}
release11+
release(callback: AsyncCallback<void>): void
Releases this cast controller. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the controller is released, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
aVCastController.release((err: BusinessError) => {
if (err) {
console.error(`release BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('release successfully');
}
});
release11+
release(): Promise<void>
Releases this cast controller. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the controller is released, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
aVCastController.release().then(() => {
console.info('release successfully');
}).catch((err: BusinessError) => {
console.error(`release BusinessError: code: ${err.code}, message: ${err.message}`);
});
on('playbackStateChange')10+
on(type: 'playbackStateChange', filter: Array<keyof AVPlaybackState> | 'all', callback: (state: AVPlaybackState) => void): void
Subscribes to playback state change events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'playbackStateChange' is triggered when the playback state changes. |
| filter | Array<keyof AVPlaybackState> | 'all' | Yes | The value 'all' indicates that any playback state field change will trigger the event, and Array<keyof AVPlaybackState> indicates that only changes to the listed playback state field will trigger the event. |
| callback | (state: AVPlaybackState) => void | Yes | Callback used for subscription. The state parameter in the callback indicates the changed playback state. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
Example
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
Unsubscribes from playback state change events. This API is called by the controller.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'playbackStateChange' in this case. |
| callback | (state: AVPlaybackState) => void | No | Callback function, where the state parameter indicates the new playback state. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
Example
aVCastController.off('playbackStateChange');
on('mediaItemChange')10+
on(type: 'mediaItemChange', callback: Callback<AVQueueItem>): void
Subscribes to media asset change events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'mediaItemChange' is triggered when the media content being played changes. |
| callback | (callback: AVQueueItem) => void | Yes | Callback used for subscription. AVQueueItem is the media asset that is being played. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
Example
aVCastController.on('mediaItemChange', (item: avSession.AVQueueItem) => {
console.info(`on mediaItemChange state : ${item.itemId}`);
});
off('mediaItemChange')10+
off(type: 'mediaItemChange'): void
Unsubscribes from media asset change events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'mediaItemChange' in this case. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
Example
aVCastController.off('mediaItemChange');
on('playNext')10+
on(type: 'playNext', callback: Callback<void>): void
Subscribes to playNext command events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'playNext' is triggered when the command for playing the next item is received. |
| callback | Callback<void> | Yes | Callback used to return the result. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
Example
aVCastController.on('playNext', () => {
console.info('on playNext');
});
off('playNext')10+
off(type: 'playNext'): void
Unsubscribes from playNext command events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'playNext' in this case. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
Example
aVCastController.off('playNext');
on('playPrevious')10+
on(type: 'playPrevious', callback: Callback<void>): void
Subscribes to playPrevious command events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'playPrevious' is triggered when the command for playing the previous event is received. |
| callback | Callback<void> | Yes | Callback used to return the result. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
Example
aVCastController.on('playPrevious', () => {
console.info('on playPrevious');
});
off('playPrevious')10+
off(type: 'playPrevious'): void
Unsubscribes from playPrevious command events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'playPrevious' in this case. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
Example
aVCastController.off('playPrevious');
on('requestPlay')11+
on(type: 'requestPlay', callback: Callback<AVQueueItem>): void
Subscribes to playback request events.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'requestPlay' is triggered when a playback request is received. |
| callback | (state: AVQueueItem) => void | Yes | Callback function, where the AVQueueItem parameter specifies the media asset that is being played. If the subscription is successful, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
Example
aVCastController.on('requestPlay', (item: avSession.AVQueueItem) => {
console.info(`on requestPlay state : ${item.itemId}`);
});
off('requestPlay')11+
off(type: 'requestPlay', callback?: Callback<AVQueueItem>): void
Unsubscribes from playback request events.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'requestPlay' in this case. |
| callback | (state: AVQueueItem) => void | No | Callback function, where the AVQueueItem parameter specifies the media asset that is being played. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
Example
aVCastController.off('requestPlay');
on('endOfStream')11+
on(type: 'endOfStream', callback: Callback<void>): void
Subscribes to playback end events.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'endOfStream' is triggered when the playback operation is complete. |
| callback | Callback<void> | Yes | Callback used for subscription. If the subscription is successful, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
Example
aVCastController.on('endOfStream', () => {
console.info('on endOfStream');
});
off('endOfStream')11+
off(type: 'endOfStream', callback?: Callback<void>): void
Unsubscribes from the playback end events.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'endOfStream' in this case. |
| callback | Callback<void> | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
Example
aVCastController.off('endOfStream');
on('seekDone')10+
on(type: 'seekDone', callback: Callback<number>): void
Subscribes to seek done events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'seekDone' is triggered when the seek operation is complete. |
| callback | Callback<number> | Yes | Callback used to return the position after the seek operation. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
Example
aVCastController.on('seekDone', (pos: number) => {
console.info(`on seekDone pos: ${pos} `);
});
off('seekDone')10+
off(type: 'seekDone'): void
Unsubscribes from the seek done events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'seekDone' in this case. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
Example
aVCastController.off('seekDone');
on('validCommandChange')11+
on(type: 'validCommandChange', callback: Callback<Array<AVCastControlCommandType>>)
Subscribes to valid command change events.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'validCommandChange' is triggered when the valid commands supported by the session changes. |
| callback | Callback<Array<AVCastControlCommandType>> | Yes | Callback used for subscription. The commands parameter in the callback is a set of valid commands. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
aVCastController.on('validCommandChange', (validCommands: avSession.AVCastControlCommandType[]) => {
console.info(`validCommandChange : SUCCESS : size : ${validCommands.length}`);
console.info(`validCommandChange : SUCCESS : validCommands : ${validCommands.values()}`);
});
off('validCommandChange')11+
off(type: 'validCommandChange', callback?: Callback<Array<AVCastControlCommandType>>)
Unsubscribes from valid command change events. This API is called by the controller.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'validCommandChange' in this case. |
| callback | Callback<Array<AVCastControlCommandType>> | No | Callback used for unsubscription. The commands parameter in the callback is a set of valid commands. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
aVCastController.off('validCommandChange');
on('error')10+
on(type: 'error', callback: ErrorCallback): void
Subscribes to remote AVPlayer errors. This event is used only for error prompt and does not require the user to stop playback control.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'error' in this case. This event can be triggered by both user operations and the system. |
| callback | ErrorCallback | Yes | Callback used to return the error code ID and error message. |
Error codes
For details about the error codes, see Media Error Codes and AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
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
Unsubscribes from remote AVPlayer errors.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'error' in this case. |
Error codes
For details about the error codes, see Media Error Codes and AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
aVCastController.off('error')
on('keyRequest')12+
on(type: 'keyRequest', callback: KeyRequestCallback): void
Subscribes to media key requests during the cast of online DRM resources.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'keyRequest' is triggered when a media key request is required during the cast of online DRM resources. |
| callback | KeyRequestCallback | Yes | Callback used to request the media resources and media key. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
Example
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
Unsubscribes from media key requests during the cast of online DRM resources.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'keyRequest' in this case. |
| callback | KeyRequestCallback | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
Example
aVCastController.off('keyRequest');
on('castControlGenericError')13+
on(type: 'castControlGenericError', callback: ErrorCallback): void
Subscribes to generic error events during cast control.
Atomic service API: This API can be used in atomic services since API version 13.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'castControlGenericError' in this case. |
| callback | ErrorCallback | Yes | Callback invoked when the event is triggered. |
Error codes
| ID | Error Message |
|---|---|
| 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. |
Example
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
Unsubscribes from generic error events during cast control.
Atomic service API: This API can be used in atomic services since API version 13.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'castControlGenericError' in this case. |
| callback | ErrorCallback | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
| ID | Error Message |
|---|---|
| 401 | Parameter check failed. 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
Example
aVCastController.off('castControlGenericError');
on('castControlIoError')13+
on(type: 'castControlIoError', callback: ErrorCallback): void
Subscribes to input/output error events during cast control.
Atomic service API: This API can be used in atomic services since API version 13.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'castControlIoError' in this case. |
| callback | ErrorCallback | Yes | Callback invoked when the event is triggered. |
Error codes
| ID | Error Message |
|---|---|
| 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. |
Example
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
Unsubscribes from input/output error events during cast control.
Atomic service API: This API can be used in atomic services since API version 13.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'castControlIoError' in this case. |
| callback | ErrorCallback | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
| ID | Error Message |
|---|---|
| 401 | Parameter check failed. 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
Example
aVCastController.off('castControlIoError');
on('castControlParsingError')13+
on(type: 'castControlParsingError', callback: ErrorCallback): void
Subscribes to parsing error events during cast control.
Atomic service API: This API can be used in atomic services since API version 13.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'castControlParsingError' in this case. |
| callback | ErrorCallback | Yes | Callback invoked when the event is triggered. |
Error codes
| ID | Error Message |
|---|---|
| 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. |
Example
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
Unsubscribes from parsing error events during cast control.
Atomic service API: This API can be used in atomic services since API version 13.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'castControlParsingError' in this case. |
| callback | ErrorCallback | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
| ID | Error Message |
|---|---|
| 401 | Parameter check failed. 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
Example
aVCastController.off('castControlParsingError');
on('castControlDecodingError')13+
on(type: 'castControlDecodingError', callback: ErrorCallback): void
Subscribes to decoding error events during cast control.
Atomic service API: This API can be used in atomic services since API version 13.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'castControlDecodingError' in this case. |
| callback | ErrorCallback | Yes | Callback invoked when the event is triggered. |
Error codes
| ID | Error Message |
|---|---|
| 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. |
Example
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
Unsubscribes from decoding error events during cast control.
Atomic service API: This API can be used in atomic services since API version 13.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'castControlDecodingError' in this case. |
| callback | ErrorCallback | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
| ID | Error Message |
|---|---|
| 401 | Parameter check failed. 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
Example
aVCastController.off('castControlDecodingError');
on('castControlAudioRendererError')13+
on(type: 'castControlAudioRendererError', callback: ErrorCallback): void
Subscribes to audio renderer error events during cast control.
Atomic service API: This API can be used in atomic services since API version 13.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'castControlAudioRendererError' in this case. |
| callback | ErrorCallback | Yes | Callback invoked when the event is triggered. |
Error codes
For details about the error codes, see Media Error Codes and AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
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
Unsubscribes from audio renderer error events during cast control.
Atomic service API: This API can be used in atomic services since API version 13.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'castControlAudioRendererError' in this case. |
| callback | ErrorCallback | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
| ID | Error Message |
|---|---|
| 401 | Parameter check failed. 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
Example
aVCastController.off('castControlAudioRendererError');
on('castControlDrmError')13+
on(type: 'castControlDrmError', callback: ErrorCallback): void
Subscribes to DRM error events during cast control.
Atomic service API: This API can be used in atomic services since API version 13.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'castControlDrmError' in this case. |
| callback | ErrorCallback | Yes | Callback invoked when the event is triggered. |
Error codes
| ID | Error Message |
|---|---|
| 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. |
Example
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
Unsubscribes from DRM error events during cast control.
Atomic service API: This API can be used in atomic services since API version 13.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'castControlDrmError' in this case. |
| callback | ErrorCallback | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
| ID | Error Message |
|---|---|
| 401 | Parameter check failed. 1. Mandatory parameters are left unspecified. 2. Incorrect parameter types. |
Example
aVCastController.off('castControlDrmError');
KeyRequestCallback12+
type KeyRequestCallback = (assetId: string, requestData: Uint8Array) => void
Describes the callback invoked for the media key request event.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| assetId | string | Yes | Media asset ID. |
| requestData | Uint8Array | Yes | Data carried in the media key request. |
Example
let keyRequestCallback: avSession.KeyRequestCallback = async(assetId: string, requestData: Uint8Array) => {
console.info(`Succeeded in keyRequestCallback. assetId: ${assetId}, requestData: ${requestData}`);
}
CastDisplayState12+
Enumerates the states of the cast display.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.ExtendedDisplayCast
| Name | Value | Description |
|---|---|---|
| STATE_OFF | 1 | The device is disconnected, and the extended screen does not display any content. |
| STATE_ON | 2 | The device is connected, and the extended screen is available. |
CastDisplayInfo12+
Describes the information about the cast display in the case of extended screens.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.ExtendedDisplayCast
| Name | Type | Read Only | Optional | Description |
|---|---|---|---|---|
| id | number | No | No | ID of the cast display. The value must be an integer. |
| name | string | No | No | Name of the cast display. |
| state | CastDisplayState | No | No | State of the cast display. |
| width | number | No | No | Screen width of the cast display, in px. The value must be an integer. |
| height | number | No | No | Screen height of the cast display, in px. The value must be an integer. |
ConnectionState10+
Enumerates the connection states.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
| Name | Value | Description |
|---|---|---|
| STATE_CONNECTING | 0 | The device is connecting. |
| STATE_CONNECTED | 1 | The device is connected. |
| STATE_DISCONNECTED | 6 | The device is disconnected. |
AVMetadata10+
Describes the media metadata.
System capability: SystemCapability.Multimedia.AVSession.Core
| Name | Type | Mandatory | Description |
|---|---|---|---|
| assetId | string | Yes | Media asset ID. It is the unique ID of a song and defined by the application. Atomic service API: This API can be used in atomic services since API version 12. |
| title | string | No | Title. Atomic service API: This API can be used in atomic services since API version 12. |
| artist | string | No | Artist. Atomic service API: This API can be used in atomic services since API version 12. |
| author | string | No | Author. Atomic service API: This API can be used in atomic services since API version 12. |
| avQueueName12+ | string | No | Playlist name. |
| avQueueId11+ | string | No | Unique ID of the playlist. |
| avQueueImage11+ | image.PixelMap | string | No | Cover image of the playlist, which can be pixel data of an image or an image path (local path or Internet path). When the data type configured by running setAVMetadata is PixelMap, the data obtained by calling getAVMetadata is a pixel map. When the configured data type is string, the data obtained is a URL. |
| album | string | No | Album name. Atomic service API: This API can be used in atomic services since API version 12. |
| writer | string | No | Writer. Atomic service API: This API can be used in atomic services since API version 12. |
| composer | string | No | composer. |
| duration | number | No | Media duration, in ms. Atomic service API: This API can be used in atomic services since API version 12. |
| mediaImage | image.PixelMap | string | No | Pixel map or image path (local path or network path) of the image. When the data type configured by running setAVMetadata is PixelMap, the data obtained by calling getAVMetadata is a pixel map. When the configured data type is string, the data obtained is a URL. Atomic service API: This API can be used in atomic services since API version 12. |
| publishDate | Date | No | Release date. |
| subtitle | string | No | Subtitle. Atomic service API: This API can be used in atomic services since API version 12. |
| description | string | No | Media description. Atomic service API: This API can be used in atomic services since API version 12. |
| lyric | string | No | Lyrics. The application needs to combine the lyrics into a string with less than or equal to 40960 bytes. NOTE: The system supports lyrics in the simple LRC format. If the lyrics are not standard (for example, having duplicate timestamps), the lyrics fail to be parsed and cannot be displayed properly in the system. |
| previousAssetId | string | No | ID of the previous media asset. Atomic service API: This API can be used in atomic services since API version 12. |
| nextAssetId | string | No | ID of the next media asset. Atomic service API: This API can be used in atomic services since API version 12. |
| filter11+ | number | No | Protocol supported by the media session. The default value is TYPE_CAST_PLUS_STREAM. For details, see ProtocolType. Atomic service API: This API can be used in atomic services since API version 12. |
| drmSchemes12+ | Array<string> | No | DRM scheme supported by the media session. The value is the UUID of the DRM scheme. |
| skipIntervals11+ | SkipIntervals | No | Fast-forward or rewind interval supported by the media session. The default value is SECONDS_15, that is, 15 seconds. |
| displayTags11+ | number | No | Display tags of the media asset. For details, see DisplayTag. |
AVMediaDescription10+
Describes the attributes related to the media metadata in the playlist.
System capability: SystemCapability.Multimedia.AVSession.Core
| Name | Type | Mandatory | Description |
|---|---|---|---|
| assetId | string | Yes | Media ID in the playlist. Atomic service API: This API can be used in atomic services since API version 12. |
| title | string | No | Name of the media asset in the playlist. Atomic service API: This API can be used in atomic services since API version 12. |
| subtitle | string | No | Subname of the media asset in the playlist. Atomic service API: This API can be used in atomic services since API version 12. |
| description | string | No | Description of the media asset in the playlist. Atomic service API: This API can be used in atomic services since API version 12. |
| mediaImage | image.PixelMap | string | No | Pixel map of the image of the media asset in the playlist. Atomic service API: This API can be used in atomic services since API version 12. |
| extras | {[key: string]: Object} | No | Additional fields of the media asset in the playlist. |
| mediaUri | string | No | URI of the media asset in the playlist. Atomic service API: This API can be used in atomic services since API version 12. |
| mediaType | string | No | Type of the media asset in the playlist. Atomic service API: This API can be used in atomic services since API version 12. |
| mediaSize | number | No | Size of the media asset in the playlist. Atomic service API: This API can be used in atomic services since API version 12. |
| albumTitle | string | No | Album name of the media asset in the playlist. Atomic service API: This API can be used in atomic services since API version 12. |
| albumCoverUri | string | No | URI of the album title of the media asset in the playlist. Atomic service API: This API can be used in atomic services since API version 12. |
| lyricContent | string | No | Lyric content of the media asset in the playlist. Atomic service API: This API can be used in atomic services since API version 12. |
| lyricUri | string | No | Lyric URI of the media asset in the playlist. Atomic service API: This API can be used in atomic services since API version 12. |
| artist | string | No | Author of the lyric of the media asset in the playlist. Atomic service API: This API can be used in atomic services since API version 12. |
| fdSrc | media.AVFileDescriptor | No | Handle to the local media file in the playlist. Atomic service API: This API can be used in atomic services since API version 12. |
| dataSrc12+ | media.AVDataSrcDescriptor | No | Descriptor of the data source in the playlist. This property is unavailable in current version. |
| drmScheme12+ | string | No | DRM scheme supported by the playlist. The value is the UUID of the DRM scheme. |
| duration | number | No | Playback duration of the media asset in the playlist. Atomic service API: This API can be used in atomic services since API version 12. |
| startPosition | number | No | Start position for playing the media asset in the playlist. Atomic service API: This API can be used in atomic services since API version 12. |
| creditsPosition | number | No | Position for playing the closing credits of the media asset in the playlist. Atomic service API: This API can be used in atomic services since API version 12. |
| appName | string | No | Name of the application provided by the playlist. Atomic service API: This API can be used in atomic services since API version 12. |
| displayTags11+ | number | No | Display tags of the media asset. For details, see DisplayTag. Atomic service API: This API can be used in atomic services since API version 12. |
AVQueueItem10+
Describes the attributes of an item in the playlist.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
| Name | Type | Mandatory | Description |
|---|---|---|---|
| itemId | number | Yes | ID of an item in the playlist. |
| description | AVMediaDescription | No | Media metadata of the item in the playlist. |
AVPlaybackState10+
Describes the information related to the media playback state.
System capability: SystemCapability.Multimedia.AVSession.Core
| Name | Type | Mandatory | Description |
|---|---|---|---|
| state | PlaybackState | No | Playback state. Atomic service API: This API can be used in atomic services since API version 12. |
| speed | number | No | Playback speed. Atomic service API: This API can be used in atomic services since API version 12. |
| position | PlaybackPosition | No | Playback position. Atomic service API: This API can be used in atomic services since API version 12. |
| bufferedTime | number | No | Buffered time. Atomic service API: This API can be used in atomic services since API version 12. |
| loopMode | LoopMode | No | Loop mode. Atomic service API: This API can be used in atomic services since API version 12. |
| isFavorite | boolean | No | Whether the media asset is favorited. Atomic service API: This API can be used in atomic services since API version 12. |
| activeItemId10+ | number | No | ID of the item that is being played. Atomic service API: This API can be used in atomic services since API version 12. |
| volume10+ | number | No | Media volume. Atomic service API: This API can be used in atomic services since API version 12. |
| maxVolume11+ | number | No | Maximum volume. Atomic service API: This API can be used in atomic services since API version 12. |
| muted11+ | boolean | No | Mute status. The value true means the muted state. Atomic service API: This API can be used in atomic services since API version 12. |
| duration11+ | number | No | Duration of the media asset. |
| videoWidth11+ | number | No | Video width of the media asset, in px. Atomic service API: This API can be used in atomic services since API version 12. |
| videoHeight11+ | number | No | Video height of the media asset, in px. Atomic service API: This API can be used in atomic services since API version 12. |
| extras10+ | {[key: string]: Object} | No | Custom media data. Atomic service API: This API can be used in atomic services since API version 12. |
PlaybackPosition10+
Describes the information related to the playback position.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
| Name | Type | Mandatory | Description |
|---|---|---|---|
| elapsedTime | number | Yes | Elapsed time, in ms. |
| updateTime | number | Yes | Updated time, in ms. |
CallMetadata11+
Defines the attributes related to call metadata.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
| Name | Type | Mandatory | Description |
|---|---|---|---|
| name | string | No | Name (alias) of the caller. |
| phoneNumber | string | No | Phone number of the caller. |
| avatar | image.PixelMap | No | Profile picture of the caller. |
AVCallState11+
Defines the attributes related to the call state.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
| Name | Type | Mandatory | Description |
|---|---|---|---|
| state | CallState | Yes | Call state. |
| muted | boolean | Yes | Whether the microphone is muted. true: The microphone is muted. false: The microphone is not muted. |
CallState11+
Enumerates the call states.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
| Name | Value | Description |
|---|---|---|
| CALL_STATE_IDLE | 0 | The phone is idle. |
| CALL_STATE_INCOMING | 1 | The phone is ringing. |
| CALL_STATE_ACTIVE | 2 | The call is connected. |
| CALL_STATE_DIALING | 3 | The caller is dialing. |
| CALL_STATE_WAITING | 4 | The call is waiting for connection. |
| CALL_STATE_HOLDING | 5 | The call is placed on hold. |
| CALL_STATE_DISCONNECTING | 6 | The call is disconnecting. |
DisplayTag11+
Enumerates the display tags of the media asset. The display tag is a special type identifier of the media audio source.
System capability: SystemCapability.Multimedia.AVSession.Core
| Name | Value | Description |
|---|---|---|
| TAG_AUDIO_VIVID | 1 | AUDIO VIVID |
AVCastCategory10+
Enumerates the cast categories.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.AVCast
| Name | Value | Description |
|---|---|---|
| CATEGORY_LOCAL | 0 | Local playback. The sound is played from the local device or a connected Bluetooth headset by default. |
| CATEGORY_REMOTE | 1 | Remote playback. The sound or images are played from a remote device. |
DeviceType10+
Enumerates the output device types.
Atomic service API: This API can be used in atomic services since API version 12.
| Name | Value | Description |
|---|---|---|
| DEVICE_TYPE_LOCAL | 0 | Local device. System capability: SystemCapability.Multimedia.AVSession.Core |
| DEVICE_TYPE_BLUETOOTH | 10 | Bluetooth device. System capability: SystemCapability.Multimedia.AVSession.Core |
| DEVICE_TYPE_TV | 2 | TV. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| DEVICE_TYPE_SMART_SPEAKER | 3 | Speaker. System capability: SystemCapability.Multimedia.AVSession.AVCast |
DeviceInfo10+
Describes the information related to the output device.
| Name | Type | Mandatory | Description |
|---|---|---|---|
| castCategory | AVCastCategory | Yes | Cast category. System capability: SystemCapability.Multimedia.AVSession.Core Atomic service API: This API can be used in atomic services since API version 12. |
| deviceId | string | Yes | ID of the output device. System capability: SystemCapability.Multimedia.AVSession.Core Atomic service API: This API can be used in atomic services since API version 12. |
| deviceName | string | Yes | Name of the output device. System capability: SystemCapability.Multimedia.AVSession.Core Atomic service API: This API can be used in atomic services since API version 12. |
| deviceType | DeviceType | Yes | Type of the output device. System capability: SystemCapability.Multimedia.AVSession.Core Atomic service API: This API can be used in atomic services since API version 12. |
| supportedProtocols11+ | number | No | Protocol supported by the output device. The default value is TYPE_LOCAL. For details, see ProtocolType. System capability: SystemCapability.Multimedia.AVSession.AVCast Atomic service API: This API can be used in atomic services since API version 12. |
| supportedDrmCapabilities12+ | Array<string> | No | DRM capability supported by the output device. System capability: SystemCapability.Multimedia.AVSession.AVCast Atomic service API: This API can be used in atomic services since API version 12. |
| manufacturer13+ | string | No | Manufacturer of the output device. System capability: SystemCapability.Multimedia.AVSession.AVCast Atomic service API: This API can be used in atomic services since API version 13. |
| modelName13+ | string | No | Model name of the output device. System capability: SystemCapability.Multimedia.AVSession.AVCast Atomic service API: This API can be used in atomic services since API version 13. |
OutputDeviceInfo10+
Describes the information related to the output device.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
| Name | Type | Mandatory | Description |
|---|---|---|---|
| devices | Array<DeviceInfo> | Yes | Output devices. |
LoopMode10+
Enumerates the loop modes of media playback.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
| Name | Value | Description |
|---|---|---|
| LOOP_MODE_SEQUENCE | 0 | Sequential playback. |
| LOOP_MODE_SINGLE | 1 | Single loop. |
| LOOP_MODE_LIST | 2 | Playlist loop. |
| LOOP_MODE_SHUFFLE | 3 | Shuffle. |
| LOOP_MODE_CUSTOM11+ | 4 | Custom playback. |
PlaybackState10+
Enumerates the media playback states.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
| Name | Value | Description |
|---|---|---|
| PLAYBACK_STATE_INITIAL | 0 | Initial. |
| PLAYBACK_STATE_PREPARE | 1 | Preparing. |
| PLAYBACK_STATE_PLAY | 2 | Playing. |
| PLAYBACK_STATE_PAUSE | 3 | Paused. |
| PLAYBACK_STATE_FAST_FORWARD | 4 | Fast-forwarding. |
| PLAYBACK_STATE_REWIND | 5 | Rewinding. |
| PLAYBACK_STATE_STOP | 6 | Stopped. |
| PLAYBACK_STATE_COMPLETED | 7 | Playback complete. |
| PLAYBACK_STATE_RELEASED | 8 | Released. |
| PLAYBACK_STATE_ERROR | 9 | Error. |
| PLAYBACK_STATE_IDLE11+ | 10 | Idle. |
| PLAYBACK_STATE_BUFFERING11+ | 11 | Buffering. |
AVSessionController10+
Through the AV session controller, you can query the session ID, send commands and events to a session, and obtain session metadata and playback state information.
Attributes
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
| Name | Type | Readable | Writable | Description |
|---|---|---|---|---|
| sessionId | string | Yes | No | Unique session ID of the AVSessionController object. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let AVSessionController: avSession.AVSessionController;
avSession.createController(currentAVSession.sessionId).then((controller: avSession.AVSessionController) => {
AVSessionController = controller;
}).catch((err: BusinessError) => {
console.error(`CreateController BusinessError: code: ${err.code}, message: ${err.message}`);
});
getAVPlaybackState10+
getAVPlaybackState(callback: AsyncCallback<AVPlaybackState>): void
Obtains the remote playback state. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<AVPlaybackState> | Yes | Callback used to return the remote playback state. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.getAVPlaybackState((err: BusinessError, state: avSession.AVPlaybackState) => {
if (err) {
console.error(`getAVPlaybackState BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('getAVPlaybackState : SUCCESS');
}
});
getAVPlaybackState10+
getAVPlaybackState(): Promise<AVPlaybackState>
Obtains the remote playback state. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| Promise<AVPlaybackState> | Promise used to return the remote playback state. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.getAVPlaybackState().then((state: avSession.AVPlaybackState) => {
console.info('getAVPlaybackState : SUCCESS');
}).catch((err: BusinessError) => {
console.error(`getAVPlaybackState BusinessError: code: ${err.code}, message: ${err.message}`);
});
getAVMetadata10+
getAVMetadata(): Promise<AVMetadata>
Obtains the session metadata. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| Promise<AVMetadata> | Promise used to return the metadata obtained. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.getAVMetadata().then((metadata: avSession.AVMetadata) => {
console.info(`GetAVMetadata : SUCCESS : assetId : ${metadata.assetId}`);
}).catch((err: BusinessError) => {
console.error(`GetAVMetadata BusinessError: code: ${err.code}, message: ${err.message}`);
});
getAVMetadata10+
getAVMetadata(callback: AsyncCallback<AVMetadata>): void
Obtains the session metadata. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<AVMetadata> | Yes | Callback used to return the metadata obtained. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.getAVMetadata((err: BusinessError, metadata: avSession.AVMetadata) => {
if (err) {
console.error(`GetAVMetadata BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info(`GetAVMetadata : SUCCESS : assetId : ${metadata.assetId}`);
}
});
getAVQueueTitle10+
getAVQueueTitle(): Promise<string>
Obtains the name of the playlist. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| Promise<string> | Promise used to return the playlist name. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.getAVQueueTitle().then((title: string) => {
console.info(`GetAVQueueTitle : SUCCESS : title : ${title}`);
}).catch((err: BusinessError) => {
console.error(`GetAVQueueTitle BusinessError: code: ${err.code}, message: ${err.message}`);
});
getAVQueueTitle10+
getAVQueueTitle(callback: AsyncCallback<string>): void
Obtains the name of the playlist. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<string> | Yes | Callback used to return the playlist name. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.getAVQueueTitle((err: BusinessError, title: string) => {
if (err) {
console.error(`GetAVQueueTitle BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info(`GetAVQueueTitle : SUCCESS : title : ${title}`);
}
});
getAVQueueItems10+
getAVQueueItems(): Promise<Array<AVQueueItem>>
Obtains the information related to the items in the queue. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| Promise<Array<AVQueueItem>> | Promise used to return the items in the queue. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.getAVQueueItems().then((items: avSession.AVQueueItem[]) => {
console.info(`GetAVQueueItems : SUCCESS : length : ${items.length}`);
}).catch((err: BusinessError) => {
console.error(`GetAVQueueItems BusinessError: code: ${err.code}, message: ${err.message}`);
});
getAVQueueItems10+
getAVQueueItems(callback: AsyncCallback<Array<AVQueueItem>>): void
Obtains the information related to the items in the playlist. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<Array<AVQueueItem>> | Yes | Callback used to return the items in the playlist. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.getAVQueueItems((err: BusinessError, items: avSession.AVQueueItem[]) => {
if (err) {
console.error(`GetAVQueueItems BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info(`GetAVQueueItems : SUCCESS : length : ${items.length}`);
}
});
skipToQueueItem10+
skipToQueueItem(itemId: number): Promise<void>
Sends the ID of an item in the playlist to the session for processing. The session can play the song. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| itemId | number | Yes | ID of an item in the playlist. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the item ID is sent, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let queueItemId = 0;
avsessionController.skipToQueueItem(queueItemId).then(() => {
console.info('SkipToQueueItem successfully');
}).catch((err: BusinessError) => {
console.error(`SkipToQueueItem BusinessError: code: ${err.code}, message: ${err.message}`);
});
skipToQueueItem10+
skipToQueueItem(itemId: number, callback: AsyncCallback<void>): void
Sends the ID of an item in the playlist to the session for processing. The session can play the song. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| itemId | number | Yes | ID of an item in the playlist. |
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the setting is successful, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let queueItemId = 0;
avsessionController.skipToQueueItem(queueItemId, (err: BusinessError) => {
if (err) {
console.error(`SkipToQueueItem BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('SkipToQueueItem successfully');
}
});
getOutputDevice10+
getOutputDevice(): Promise<OutputDeviceInfo>
Obtains the output device information. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| Promise<OutputDeviceInfo> | Promise used to return the information obtained. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 600101 | Session service exception. |
| 600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.getOutputDevice().then((deviceInfo: avSession.OutputDeviceInfo) => {
console.info('GetOutputDevice : SUCCESS');
}).catch((err: BusinessError) => {
console.error(`GetOutputDevice BusinessError: code: ${err.code}, message: ${err.message}`);
});
getOutputDevice10+
getOutputDevice(callback: AsyncCallback<OutputDeviceInfo>): void
Obtains the output device information. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<OutputDeviceInfo> | Yes | Callback used to return the information obtained. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 600101 | Session service exception. |
| 600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.getOutputDevice((err: BusinessError, deviceInfo: avSession.OutputDeviceInfo) => {
if (err) {
console.error(`GetOutputDevice BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('GetOutputDevice : SUCCESS');
}
});
sendAVKeyEvent10+
sendAVKeyEvent(event: KeyEvent): Promise<void>
Sends a key event to the session corresponding to this controller. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| event | KeyEvent | Yes | Key event. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 600101 | Session service exception. |
| 600102 | The session does not exist. |
| 600103 | The session controller does not exist. |
| 600105 | Invalid session command. |
| 600106 | The session is not activated. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the event is sent, no value is returned; otherwise, an error object is returned. |
Example
import { Key, KeyEvent } from '@kit.InputKit';
import { BusinessError } from '@kit.BasicServicesKit';
let keyItem: Key = {code:0x49, pressedTime:2, deviceId:0};
let event:KeyEvent = {id:1, deviceId:0, actionTime:1, screenId:1, windowId:1, action:2, key:keyItem, unicodeChar:0, keys:[keyItem], ctrlKey:false, altKey:false, shiftKey:false, logoKey:false, fnKey:false, capsLock:false, numLock:false, scrollLock:false};
avsessionController.sendAVKeyEvent(event).then(() => {
console.info('SendAVKeyEvent Successfully');
}).catch((err: BusinessError) => {
console.error(`SendAVKeyEvent BusinessError: code: ${err.code}, message: ${err.message}`);
});
sendAVKeyEvent10+
sendAVKeyEvent(event: KeyEvent, callback: AsyncCallback<void>): void
Sends a key event to the session corresponding to this controller. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| event | KeyEvent | Yes | Key event. |
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the event is sent, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 600101 | Session service exception. |
| 600102 | The session does not exist. |
| 600103 | The session controller does not exist. |
| 600105 | Invalid session command. |
| 600106 | The session is not activated. |
Example
import { Key, KeyEvent } from '@kit.InputKit';
import { BusinessError } from '@kit.BasicServicesKit';
let keyItem: Key = {code:0x49, pressedTime:2, deviceId:0};
let event:KeyEvent = {id:1, deviceId:0, actionTime:1, screenId:1, windowId:1, action:2, key:keyItem, unicodeChar:0, keys:[keyItem], ctrlKey:false, altKey:false, shiftKey:false, logoKey:false, fnKey:false, capsLock:false, numLock:false, scrollLock:false};
avsessionController.sendAVKeyEvent(event, (err: BusinessError) => {
if (err) {
console.error(`SendAVKeyEvent BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('SendAVKeyEvent Successfully');
}
});
getLaunchAbility10+
getLaunchAbility(): Promise<WantAgent>
Obtains the WantAgent object saved by the application in the session. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| Promise<WantAgent> | Promise used to return the object saved by calling setLaunchAbility. The object includes the application attribute, such as the bundle name, ability name, and device ID. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.getLaunchAbility().then((agent: object) => {
console.info(`GetLaunchAbility : SUCCESS : wantAgent : ${agent}`);
}).catch((err: BusinessError) => {
console.error(`GetLaunchAbility BusinessError: code: ${err.code}, message: ${err.message}`);
});
getLaunchAbility10+
getLaunchAbility(callback: AsyncCallback<WantAgent>): void
Obtains the WantAgent object saved by the application in the session. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<WantAgent> | Yes | Callback used to return the object saved by calling setLaunchAbility. The object includes the application attribute, such as the bundle name, ability name, and device ID. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.getLaunchAbility((err: BusinessError, agent: object) => {
if (err) {
console.error(`GetLaunchAbility BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info(`GetLaunchAbility : SUCCESS : wantAgent : ${agent}`);
}
});
getRealPlaybackPositionSync10+
getRealPlaybackPositionSync(): number
Obtains the playback position.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| number | Playback position, in milliseconds. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600103 | The session controller does not exist. |
Example
let time: number = avsessionController.getRealPlaybackPositionSync();
isActive10+
isActive(): Promise<boolean>
Checks whether the session is activated. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| Promise<boolean> | Promise used to return the activation state. If the session is activated, true is returned; otherwise, false is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.isActive().then((isActive: boolean) => {
console.info(`IsActive : SUCCESS : isactive : ${isActive}`);
}).catch((err: BusinessError) => {
console.error(`IsActive BusinessError: code: ${err.code}, message: ${err.message}`);
});
isActive10+
isActive(callback: AsyncCallback<boolean>): void
Checks whether the session is activated. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<boolean> | Yes | Callback used to return the activation state. If the session is activated, true is returned; otherwise, false is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.isActive((err: BusinessError, isActive: boolean) => {
if (err) {
console.error(`IsActive BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info(`IsActive : SUCCESS : isactive : ${isActive}`);
}
});
destroy10+
destroy(): Promise<void>
Destroys this controller. A controller can no longer be used after being destroyed. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the controller is destroyed, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.destroy().then(() => {
console.info('Destroy : SUCCESS ');
}).catch((err: BusinessError) => {
console.error(`Destroy BusinessError: code: ${err.code}, message: ${err.message}`);
});
destroy10+
destroy(callback: AsyncCallback<void>): void
Destroys this controller. A controller can no longer be used after being destroyed. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the controller is destroyed, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.destroy((err: BusinessError) => {
if (err) {
console.error(`Destroy BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('Destroy : SUCCESS ');
}
});
getValidCommands10+
getValidCommands(): Promise<Array<AVControlCommandType>>
Obtains valid commands supported by the session. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| Promise<Array<AVControlCommandType>> | Promise used to return a set of valid commands. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.getValidCommands().then((validCommands: avSession.AVControlCommandType[]) => {
console.info(`GetValidCommands : SUCCESS : size : ${validCommands.length}`);
}).catch((err: BusinessError) => {
console.error(`GetValidCommands BusinessError: code: ${err.code}, message: ${err.message}`);
});
getValidCommands10+
getValidCommands(callback: AsyncCallback<Array<AVControlCommandType>>): void
Obtains valid commands supported by the session. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<Array<AVControlCommandType>> | Yes | Callback used to return a set of valid commands. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.getValidCommands((err: BusinessError, validCommands: avSession.AVControlCommandType[]) => {
if (err) {
console.error(`GetValidCommands BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info(`GetValidCommands : SUCCESS : size : ${validCommands.length}`);
}
});
sendControlCommand10+
sendControlCommand(command: AVControlCommand): Promise<void>
Sends a control command to the session through the controller. This API uses a promise to return the result.
NOTE
Before using sendControlCommand, the controller must ensure that the corresponding listeners are registered for the media session. For details about how to register the listeners, see on'play', on'pause', and the like.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| command | AVControlCommand | Yes | Command to send. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the command is sent, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 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. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let avCommand: avSession.AVControlCommand = {command:'play'};
avsessionController.sendControlCommand(avCommand).then(() => {
console.info('SendControlCommand successfully');
}).catch((err: BusinessError) => {
console.error(`SendControlCommand BusinessError: code: ${err.code}, message: ${err.message}`);
});
sendControlCommand10+
sendControlCommand(command: AVControlCommand, callback: AsyncCallback<void>): void
Sends a control command to the session through the controller. This API uses an asynchronous callback to return the result.
NOTE
Before using sendControlCommand, the controller must ensure that the corresponding listeners are registered for the media session. For details about how to register the listeners, see on'play', on'pause', and the like.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| command | AVControlCommand | Yes | Command to send. |
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the command is sent, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 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. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let avCommand: avSession.AVControlCommand = {command:'play'};
avsessionController.sendControlCommand(avCommand, (err: BusinessError) => {
if (err) {
console.error(`SendControlCommand BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info('SendControlCommand successfully');
}
});
sendCommonCommand10+
sendCommonCommand(command: string, args: {[key: string]: Object}): Promise<void>
Sends a custom control command to the session through the controller. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| command | string | Yes | Name of the custom control command. |
| args | {[key: string]: Object} | Yes | Parameters in key-value pair format carried in the custom control command. |
NOTE The args parameter supports the following data types: string, number, Boolean, object, array, and file descriptor. For details, see @ohos.app.ability.Want(Want).
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the command is sent, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 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. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let avSessionController: avSession.AVSessionController | undefined = undefined;
let currentAVSession: avSession.AVSession | undefined = undefined;
let tag = "createNewSession";
let context: Context = getContext(this);
let sessionId: string = "";
avSession.createAVSession(context, tag, "audio", (err: BusinessError, data: avSession.AVSession) => {
if (err) {
console.error(`CreateAVSession BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
currentAVSession = data;
}
});
if (currentAVSession !== undefined) {
sessionId = (currentAVSession as avSession.AVSession).sessionId;
avSession.createController(sessionId).then((controller: avSession.AVSessionController) => {
avSessionController = controller;
}).catch((err: BusinessError) => {
console.error(`CreateController BusinessError: code: ${err.code}, message: ${err.message}`);
});
}
let commandName = "my_command";
if (avSessionController !== undefined) {
(avSessionController as avSession.AVSessionController).sendCommonCommand(commandName, {command : "This is my command"}).then(() => {
console.info('SendCommonCommand successfully');
}).catch((err: BusinessError) => {
console.error(`SendCommonCommand BusinessError: code: ${err.code}, message: ${err.message}`);
})
}
sendCommonCommand10+
sendCommonCommand(command: string, args: {[key: string]: Object}, callback: AsyncCallback<void>): void
Sends a custom control command to the session through the controller. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| command | string | Yes | Name of the custom control command. |
| args | {[key: string]: Object} | Yes | Parameters in key-value pair format carried in the custom control command. |
| callback | AsyncCallback<void> | Yes | Callback used to return the result. If the command is sent, err is undefined; otherwise, err is an error object. |
NOTE The args parameter supports the following data types: string, number, Boolean, object, array, and file descriptor. For details, see @ohos.app.ability.Want(Want).
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Parameter verification failed. |
| 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. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let avSessionController: avSession.AVSessionController | undefined = undefined;
let currentAVSession: avSession.AVSession | undefined = undefined;
let tag = "createNewSession";
let context: Context = getContext(this);
avSession.createAVSession(context, tag, "audio", (err: BusinessError, data: avSession.AVSession) => {
if (err) {
console.error(`CreateAVSession BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
currentAVSession = data;
}
});
if (currentAVSession !== undefined) {
avSession.createController((currentAVSession as avSession.AVSession).sessionId).then((controller: avSession.AVSessionController) => {
avSessionController = controller;
}).catch((err: BusinessError) => {
console.error(`CreateController BusinessError: code: ${err.code}, message: ${err.message}`);
});
}
let commandName = "my_command";
if (avSessionController !== undefined) {
(avSessionController as avSession.AVSessionController).sendCommonCommand(commandName, {command : "This is my command"}, (err: BusinessError) => {
if (err) {
console.error(`SendCommonCommand BusinessError: code: ${err.code}, message: ${err.message}`);
}
})
}
getExtras10+
getExtras(): Promise<{[key: string]: Object}>
Obtains the custom media packet set by the provider. This API uses a promise to return the result.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| Promise<{[key: string]: Object}> | Promise used to return the custom media packet. The content of the packet is the same as that set in setExtras. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. 3.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
| 6600105 | Invalid session command. |
| 6600107 | Too many commands or events. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let avSessionController: avSession.AVSessionController | undefined = undefined;
let currentAVSession: avSession.AVSession | undefined = undefined;
let tag = "createNewSession";
let context: Context = getContext(this);
avSession.createAVSession(context, tag, "audio", (err: BusinessError, data: avSession.AVSession) => {
if (err) {
console.error(`CreateAVSession BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
currentAVSession = data;
}
});
if (currentAVSession !== undefined) {
avSession.createController((currentAVSession as avSession.AVSession).sessionId).then((controller: avSession.AVSessionController) => {
avSessionController = controller;
}).catch((err: BusinessError) => {
console.error(`CreateController BusinessError: code: ${err.code}, message: ${err.message}`);
});
}
if (avSessionController !== undefined) {
(avSessionController as avSession.AVSessionController).getExtras().then((extras) => {
console.info(`getExtras : SUCCESS : ${extras}`);
}).catch((err: BusinessError) => {
console.error(`getExtras BusinessError: code: ${err.code}, message: ${err.message}`);
});
}
getExtras10+
getExtras(callback: AsyncCallback<{[key: string]: Object}>): void
Obtains the custom media packet set by the provider. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<{[key: string]: Object}> | Yes | Callback used to return the custom media packet. The content of the packet is the same as that set in setExtras. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. 3.Parameter verification failed. |
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
| 6600105 | Invalid session command. |
| 6600107 | Too many commands or events. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let avSessionController: avSession.AVSessionController | undefined = undefined;
let currentAVSession: avSession.AVSession | undefined = undefined;
let tag = "createNewSession";
let context: Context = getContext(this);
avSession.createAVSession(context, tag, "audio", (err: BusinessError, data: avSession.AVSession) => {
if (err) {
console.error(`CreateAVSession BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
currentAVSession = data;
}
});
if (currentAVSession !== undefined) {
avSession.createController((currentAVSession as avSession.AVSession).sessionId).then((controller: avSession.AVSessionController) => {
avSessionController = controller;
}).catch((err: BusinessError) => {
console.error(`CreateController BusinessError: code: ${err.code}, message: ${err.message}`);
});
}
if (avSessionController !== undefined) {
(avSessionController as avSession.AVSessionController).getExtras((err, extras) => {
if (err) {
console.error(`getExtras BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info(`getExtras : SUCCESS : ${extras}`);
}
});
}
on('metadataChange')10+
on(type: 'metadataChange', filter: Array<keyof AVMetadata> | 'all', callback: (data: AVMetadata) => void)
Subscribes to metadata change events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'metadataChange' is triggered when the session metadata changes. |
| filter | Array<keyof AVMetadata> | 'all' | Yes | The value 'all' indicates that any metadata field change will trigger the event, and Array<keyof AVMetadata> indicates that only changes to the listed metadata field will trigger the event. |
| callback | (data: AVMetadata) => void | Yes | Callback used for subscription. The data parameter in the callback indicates the changed metadata. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.on('metadataChange', 'all', (metadata: avSession.AVMetadata) => {
console.info(`on metadataChange assetId : ${metadata.assetId}`);
});
avsessionController.on('metadataChange', ['assetId', 'title', 'description'], (metadata: avSession.AVMetadata) => {
console.info(`on metadataChange assetId : ${metadata.assetId}`);
});
off('metadataChange')10+
off(type: 'metadataChange', callback?: (data: AVMetadata) => void)
Unsubscribes from metadata change events. This API is called by the controller.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'metadataChange' in this case. |
| callback | (data: AVMetadata) => void | No | Callback used for subscription. The data parameter in the callback indicates the changed metadata. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.off('metadataChange');
on('playbackStateChange')10+
on(type: 'playbackStateChange', filter: Array<keyof AVPlaybackState> | 'all', callback: (state: AVPlaybackState) => void)
Subscribes to playback state change events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'playbackStateChange' is triggered when the playback state changes. |
| filter | Array<keyof AVPlaybackState> | 'all' | Yes | The value 'all' indicates that any playback state field change will trigger the event, and Array<keyof AVPlaybackState> indicates that only changes to the listed playback state field will trigger the event. |
| callback | (state: AVPlaybackState) => void | Yes | Callback used for subscription. The state parameter in the callback indicates the changed playback state. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.on('playbackStateChange', 'all', (playbackState: avSession.AVPlaybackState) => {
console.info(`on playbackStateChange state : ${playbackState.state}`);
});
avsessionController.on('playbackStateChange', ['state', 'speed', 'loopMode'], (playbackState: avSession.AVPlaybackState) => {
console.info(`on playbackStateChange state : ${playbackState.state}`);
});
off('playbackStateChange')10+
off(type: 'playbackStateChange', callback?: (state: AVPlaybackState) => void)
Unsubscribes from playback state change events. This API is called by the controller.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'playbackStateChange' in this case. |
| callback | (state: AVPlaybackState) => void | No | Callback function, where the state parameter indicates the new playback state. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.off('playbackStateChange');
on('callMetadataChange')11+
on(type: 'callMetadataChange', filter: Array<keyof CallMetadata> | 'all', callback: Callback<CallMetadata>): void;
Subscribes to call metadata change events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'callMetadataChange' is triggered when the call metadata changes. |
| filter | Array<keyof CallMetadata> | 'all' | Yes | The value 'all' indicates that any call metadata field change will trigger the event, and Array<keyof CallMetadata> indicates that only changes to the listed metadata field will trigger the event. |
| callback | Callback<CallMetadata>> | Yes | Callback used for subscription. The callmetadata parameter in the callback indicates the changed call metadata. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.on('callMetadataChange', 'all', (callmetadata: avSession.CallMetadata) => {
console.info(`on callMetadataChange state : ${callmetadata.name}`);
});
avsessionController.on('callMetadataChange', ['name'], (callmetadata: avSession.CallMetadata) => {
console.info(`on callMetadataChange state : ${callmetadata.name}`);
});
off('callMetadataChange')11+
off(type: 'callMetadataChange', callback?: Callback<CallMetadata>): void;
Unsubscribes from call metadata change events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'callMetadataChange' in this case. |
| callback | Callback<CallMetadata> | No | Callback used for unsubscription. The calldata parameter in the callback indicates the changed call metadata. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.off('callMetadataChange');
on('callStateChange')11+
on(type: 'callStateChange', filter: Array<keyof AVCallState> | 'all', callback: Callback<AVCallState>): void;
Subscribes to call state change events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'callStateChange' is triggered when the call state changes. |
| filter | Array<keyof AVCallState> | 'all' | Yes | The value 'all' indicates that any call state field change will trigger the event, and Array<keyof AVCallState> indicates that only changes to the listed call state field will trigger the event. |
| callback | Callback<AVCallState> | Yes | Callback function, where the callstate parameter indicates the new call state. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.on('callStateChange', 'all', (callstate: avSession.AVCallState) => {
console.info(`on callStateChange state : ${callstate.state}`);
});
avsessionController.on('callStateChange', ['state'], (callstate: avSession.AVCallState) => {
console.info(`on callStateChange state : ${callstate.state}`);
});
off('callStateChange')11+
off(type: 'callStateChange', callback?: Callback<AVCallState>): void;
Unsubscribes from call state change events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'callStateChange' in this case. |
| callback | Callback<AVCallState> | No | Callback function, where the callstate parameter indicates the new call metadata. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.off('callMetadataChange');
on('sessionDestroy')10+
on(type: 'sessionDestroy', callback: () => void)
Subscribes to session destruction events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'sessionDestroy' is triggered when a session is destroyed. |
| callback | () => void | Yes | Callback used for subscription. If the subscription is successful, err is undefined; otherwise, err is an error object. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.on('sessionDestroy', () => {
console.info('on sessionDestroy : SUCCESS ');
});
off('sessionDestroy')10+
off(type: 'sessionDestroy', callback?: () => void)
Unsubscribes from session destruction events. This API is called by the controller.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'sessionDestroy' in this case. |
| callback | () => void | No | Callback used for unsubscription. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.off('sessionDestroy');
on('activeStateChange')10+
on(type: 'activeStateChange', callback: (isActive: boolean) => void)
Subscribes to session activation state change events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'activeStateChange' is triggered when the activation state of the session changes. |
| callback | (isActive: boolean) => void | Yes | Callback used for subscription. The isActive parameter in the callback specifies whether the session is activated. The value true means that the service is activated, and false means the opposite. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.on('activeStateChange', (isActive: boolean) => {
console.info(`on activeStateChange : SUCCESS : isActive ${isActive}`);
});
off('activeStateChange')10+
off(type: 'activeStateChange', callback?: (isActive: boolean) => void)
Unsubscribes from session activation state change events. This API is called by the controller.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'activeStateChange' in this case. |
| callback | (isActive: boolean) => void | No | Callback used for unsubscription. The isActive parameter in the callback specifies whether the session is activated. The value true means that the session is activated, and false means the opposite. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.off('activeStateChange');
on('validCommandChange')10+
on(type: 'validCommandChange', callback: (commands: Array<AVControlCommandType>) => void)
Subscribes to valid command change events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'validCommandChange' is triggered when the valid commands supported by the session changes. |
| callback | (commands: Array<AVControlCommandType>) => void | Yes | Callback used for subscription. The commands parameter in the callback is a set of valid commands. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.on('validCommandChange', (validCommands: avSession.AVControlCommandType[]) => {
console.info(`validCommandChange : SUCCESS : size : ${validCommands.length}`);
console.info(`validCommandChange : SUCCESS : validCommands : ${validCommands.values()}`);
});
off('validCommandChange')10+
off(type: 'validCommandChange', callback?: (commands: Array<AVControlCommandType>) => void)
Unsubscribes from valid command change events. This API is called by the controller.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'validCommandChange' in this case. |
| callback | (commands: Array<AVControlCommandType>) => void | No | Callback used for unsubscription. The commands parameter in the callback is a set of valid commands. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.off('validCommandChange');
on('outputDeviceChange')10+
on(type: 'outputDeviceChange', callback: (state: ConnectionState, device: OutputDeviceInfo) => void): void
Subscribes to output device change events.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'outputDeviceChange' is triggered when the output device changes. |
| callback | (state: ConnectionState, device: OutputDeviceInfo) => void | Yes | Callback used for subscription. The device parameter in the callback indicates the output device information. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.on('outputDeviceChange', (state: avSession.ConnectionState, device: avSession.OutputDeviceInfo) => {
console.info(`on outputDeviceChange state: ${state}, device : ${device}`);
});
off('outputDeviceChange')10+
off(type: 'outputDeviceChange', callback?: (state: ConnectionState, device: OutputDeviceInfo) => void): void
Unsubscribes from output device change events. This API is called by the controller.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'outputDeviceChange' in this case. |
| callback | (state: ConnectionState, device: OutputDeviceInfo) => void | No | Callback function, where the device parameter specifies the output device information. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.off('outputDeviceChange');
on('sessionEvent')10+
on(type: 'sessionEvent', callback: (sessionEvent: string, args: {[key:string]: Object}) => void): void
Subscribes to session event change events. This API is called by the controller.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'sessionEvent' is triggered when the session event changes. |
| callback | (sessionEvent: string, args: {[key:string]: object}) => void | Yes | Callback used for subscription. sessionEvent in the callback indicates the name of the session event that changes, and args indicates the parameters carried in the event. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let avSessionController: avSession.AVSessionController | undefined = undefined;
let currentAVSession: avSession.AVSession | undefined = undefined;
let tag = "createNewSession";
let context: Context = getContext(this);
avSession.createAVSession(context, tag, "audio", (err: BusinessError, data: avSession.AVSession) => {
if (err) {
console.error(`CreateAVSession BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
currentAVSession = data;
}
});
if (currentAVSession !== undefined) {
avSession.createController((currentAVSession as avSession.AVSession).sessionId).then((controller: avSession.AVSessionController) => {
avSessionController = controller;
}).catch((err: BusinessError) => {
console.error(`CreateController BusinessError: code: ${err.code}, message: ${err.message}`);
});
}
if (avSessionController !== undefined) {
(avSessionController as avSession.AVSessionController).on('sessionEvent', (sessionEvent, args) => {
console.info(`OnSessionEvent, sessionEvent is ${sessionEvent}, args: ${JSON.stringify(args)}`);
});
}
off('sessionEvent')10+
off(type: 'sessionEvent', callback?: (sessionEvent: string, args: {[key:string]: Object}) => void): void
Unsubscribes from session event change events. This API is called by the controller.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'sessionEvent' in this case. |
| callback | (sessionEvent: string, args: {[key:string]: Object}) => void | No | Callback used for unsubscription. sessionEvent in the callback indicates the name of the session event that changes, and args indicates the parameters carried in the event. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.off('sessionEvent');
on('queueItemsChange')10+
on(type: 'queueItemsChange', callback: (items: Array<AVQueueItem>) => void): void
Subscribes to playlist item change events. This API is called by the controller.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'queueItemsChange' is triggered when one or more items in the playlist changes. |
| callback | (items: Array<AVQueueItem>) => void | Yes | Callback used for subscription. The items parameter in the callback indicates the changed items in the playlist. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.on('queueItemsChange', (items: avSession.AVQueueItem[]) => {
console.info(`OnQueueItemsChange, items length is ${items.length}`);
});
off('queueItemsChange')10+
off(type: 'queueItemsChange', callback?: (items: Array<AVQueueItem>) => void): void
Unsubscribes from playback item change events. This API is called by the controller.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'queueItemsChange' in this case. |
| callback | (items: Array<AVQueueItem>) => void | No | Callback used for unsubscription. The items parameter in the callback indicates the changed items in the playlist. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.off('queueItemsChange');
on('queueTitleChange')10+
on(type: 'queueTitleChange', callback: (title: string) => void): void
Subscribes to playlist name change events. This API is called by the controller.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'queueTitleChange' is triggered when the playlist name changes. |
| callback | (title: string) => void | Yes | Callback used for subscription. The title parameter in the callback indicates the changed playlist name. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.on('queueTitleChange', (title: string) => {
console.info(`queueTitleChange, title is ${title}`);
});
off('queueTitleChange')10+
off(type: 'queueTitleChange', callback?: (title: string) => void): void
Unsubscribes from playlist name change events. This API is called by the controller.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'queueTitleChange' in this case. |
| callback | (title: string) => void | No | Callback used for unsubscription. The items parameter in the callback indicates the changed playlist name. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.off('queueTitleChange');
on('extrasChange')10+
on(type: 'extrasChange', callback: (extras: {[key:string]: Object}) => void): void
Subscribes to custom media packet change events. This API is called by the controller.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'extrasChange' is triggered when the provider sets a custom media packet. |
| callback | (extras: {[key:string]: object}) => void | Yes | Callback used for subscription. The extras parameter in the callback indicates the custom media packet set by the provider. This packet is the same as that set in dispatchSessionEvent. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
let avSessionController: avSession.AVSessionController | undefined = undefined;
let currentAVSession: avSession.AVSession | undefined = undefined;
let tag = "createNewSession";
let context: Context = getContext(this);
avSession.createAVSession(context, tag, "audio", (err: BusinessError, data: avSession.AVSession) => {
if (err) {
console.error(`CreateAVSession BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
currentAVSession = data;
}
});
if (currentAVSession !== undefined) {
avSession.createController((currentAVSession as avSession.AVSession).sessionId).then((controller: avSession.AVSessionController) => {
avSessionController = controller;
}).catch((err: BusinessError) => {
console.error(`CreateController BusinessError: code: ${err.code}, message: ${err.message}`);
});
}
if (avSessionController !== undefined) {
(avSessionController as avSession.AVSessionController).on('extrasChange', (extras) => {
console.info(`Caught extrasChange event,the new extra is: ${JSON.stringify(extras)}`);
});
}
off('extrasChange')10+
off(type: 'extrasChange', callback?: (extras: {[key:string]: Object}) => void): void
Unsubscribes from custom media packet change events. This API is called by the controller.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'extrasChange' in this case. |
| callback | ({[key:string]: Object}) => void | No | Callback used for unsubscription. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 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. |
Example
avsessionController.off('extrasChange');
getAVPlaybackStateSync10+
getAVPlaybackStateSync(): AVPlaybackState;
Obtains the playback state of this session. This API returns the result synchronously.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| AVPlaybackState | Playback state of the session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
let playbackState: avSession.AVPlaybackState = avsessionController.getAVPlaybackStateSync();
} catch (err) {
let error = err as BusinessError;
console.info(`getAVPlaybackStateSync error, error code: ${error.code}, error message: ${error.message}`);
}
getAVMetadataSync10+
getAVMetadataSync(): AVMetadata
Obtains the session metadata. This API returns the result synchronously.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| AVMetadata | Session metadata. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
let metaData: avSession.AVMetadata = avsessionController.getAVMetadataSync();
} catch (err) {
let error = err as BusinessError;
console.info(`getAVMetadataSync error, error code: ${error.code}, error message: ${error.message}`);
}
getAVCallState11+
getAVCallState(): Promise<AVCallState>
Obtains the call state. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| Promise<AVCallState> | Promise used to return the call state obtained. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.getAVCallState().then((callstate: avSession.AVCallState) => {
console.info(`getAVCallState : SUCCESS : state : ${callstate.state}`);
}).catch((err: BusinessError) => {
console.error(`getAVCallState BusinessError: code: ${err.code}, message: ${err.message}`);
});
getAVCallState11+
getAVCallState(callback: AsyncCallback<AVCallState>): void
Obtains the call state. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<AVCallState> | Yes | Callback used to return the call state obtained. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.getAVCallState((err: BusinessError, callstate: avSession.AVCallState) => {
if (err) {
console.error(`getAVCallState BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info(`getAVCallState : SUCCESS : state : ${callstate.state}`);
}
});
getCallMetadata11+
getCallMetadata(): Promise<CallMetadata>
Obtains the call metadata. This API uses a promise to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| Promise<CallMetadata> | Promise used to return the metadata obtained. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.getCallMetadata().then((calldata: avSession.CallMetadata) => {
console.info(`getCallMetadata : SUCCESS : name : ${calldata.name}`);
}).catch((err: BusinessError) => {
console.error(`getCallMetadata BusinessError: code: ${err.code}, message: ${err.message}`);
});
getCallMetadata11+
getCallMetadata(callback: AsyncCallback<CallMetadata>): void
Obtains the call metadata. This API uses an asynchronous callback to return the result.
System capability: SystemCapability.Multimedia.AVSession.Core
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| callback | AsyncCallback<CallMetadata> | Yes | Callback used to return the metadata obtained. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
avsessionController.getCallMetadata((err: BusinessError, calldata: avSession.CallMetadata) => {
if (err) {
console.error(`getCallMetadata BusinessError: code: ${err.code}, message: ${err.message}`);
} else {
console.info(`getCallMetadata : SUCCESS : name : ${calldata.name}`);
}
});
getAVQueueTitleSync10+
getAVQueueTitleSync(): string
Obtains the name of the playlist of this session. This API returns the result synchronously.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| string | Playlist name. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
let currentQueueTitle: string = avsessionController.getAVQueueTitleSync();
} catch (err) {
let error = err as BusinessError;
console.error(`getAVQueueTitleSync error, error code: ${error.code}, error message: ${error.message}`);
}
getAVQueueItemsSync10+
getAVQueueItemsSync(): Array<AVQueueItem>
Obtains the information related to the items in the playlist of this session. This API returns the result synchronously.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| Array<AVQueueItem> | Items in the queue. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
let currentQueueItems: Array<avSession.AVQueueItem> = avsessionController.getAVQueueItemsSync();
} catch (err) {
let error = err as BusinessError;
console.error(`getAVQueueItemsSync error, error code: ${error.code}, error message: ${error.message}`);
}
getOutputDeviceSync10+
getOutputDeviceSync(): OutputDeviceInfo
Obtains the output device information. This API returns the result synchronously.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| OutputDeviceInfo | Information about the output device. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
let currentOutputDevice: avSession.OutputDeviceInfo = avsessionController.getOutputDeviceSync();
} catch (err) {
let error = err as BusinessError;
console.error(`getOutputDeviceSync error, error code: ${error.code}, error message: ${error.message}`);
}
isActiveSync10+
isActiveSync(): boolean
Checks whether the session is activated. This API returns the result synchronously.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| boolean | Returns true is returned if the session is activated; returns false otherwise. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
let isActive: boolean = avsessionController.isActiveSync();
} catch (err) {
let error = err as BusinessError;
console.error(`isActiveSync error, error code: ${error.code}, error message: ${error.message}`);
}
getValidCommandsSync10+
getValidCommandsSync(): Array<AVControlCommandType>
Obtains valid commands supported by the session. This API returns the result synchronously.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
Return value
| Type | Description |
|---|---|
| Array<AVControlCommandType> | A set of valid commands. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 6600101 | Session service exception. |
| 6600102 | The session does not exist. |
| 6600103 | The session controller does not exist. |
Example
import { BusinessError } from '@kit.BasicServicesKit';
try {
let validCommands: Array<avSession.AVControlCommandType> = avsessionController.getValidCommandsSync();
} catch (err) {
let error = err as BusinessError;
console.error(`getValidCommandsSync error, error code: ${error.code}, error message: ${error.message}`);
}
AVControlCommandType10+
type AVControlCommandType = 'play' | 'pause' | 'stop' | 'playNext' | 'playPrevious' | 'fastForward' | 'rewind' | 'seek' | 'setSpeed' | 'setLoopMode' | 'toggleFavorite' | 'playFromAssetId' | 'answer' | 'hangUp' | 'toggleCallMute'
Enumerates the commands that can be sent to a session.
You can use the union of the strings listed in the following table.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
| Type | Description |
|---|---|
| 'play' | Play the media. |
| 'pause' | Pause the playback. |
| 'stop' | Stop the playback. |
| 'playNext' | Play the next media asset. |
| 'playPrevious' | Play the previous media asset. |
| 'fastForward' | Fast-forward. |
| 'rewind' | Rewind. |
| 'seek' | Seek to a playback position. |
| 'setSpeed' | Set the playback speed. |
| 'setLoopMode' | Set the loop mode. |
| 'toggleFavorite' | Favorite the media asset. |
| 'playFromAssetId' | Play the media asset with the specified asset ID. |
| 'answer' | Answer a call. |
| 'hangUp' | The call is disconnecting. |
| 'toggleCallMute' | Set the mute status for a call. |
AVControlCommand10+
Describes the command that can be sent to the session.
Atomic service API: This API can be used in atomic services since API version 12.
System capability: SystemCapability.Multimedia.AVSession.Core
| Name | Type | Mandatory | Description |
|---|---|---|---|
| command | AVControlCommandType | Yes | Command. |
| parameter | LoopMode | string | number | No | Parameters carried in the command. |
AVCastPickerOptions14+
Describes the properties related to the semi-modal window that is started for casting purposes.
Atomic service API: This API can be used in atomic services since API version 14.
System capability: SystemCapability.Multimedia.AVSession.AVCast
| Name | Type | Mandatory | Description |
|---|---|---|---|
| sessionType | AVSessionType | No | Session type. The default value is 'audio'. Currently, only the 'audio' and 'video' session types are supported. If 'voice_call' and 'video_call' are passed, they are treated as the default value 'audio'. |
AVCastPickerHelper14+
Implements a semi-modal object used for casting. It displays a semi-modal window for users to select a target cast device. Before using the APIs of this class, you need to create an AVCastPickerHelper instance.
Atomic service API: This API can be used in atomic services since API version 14.
System capability: SystemCapability.Multimedia.AVSession.AVCast
constructor14+
constructor(context: Context)
Creates an AVCastPickerHelper instance. For details about how to obtain the context, see getContext.
Atomic service API: This API can be used in atomic services since API version 14.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| context | Context | Yes | Application context. (Only UIAbilityContext is supported.) |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
Example
import { common } from '@kit.AbilityKit';
import { avSession } from '@kit.AVSessionKit';
@Entry
@Component
struct Index {
@State message: string = 'hello world';
build() {
Row() {
Column() {
Text(this.message)
.fontSize(40)
.fontWeight(FontWeight.Bold)
.onClick(()=>{
let context = getContext(this) as common.Context;
let avCastPicker = new avSession.AVCastPickerHelper(context);
})
}
.width('100%')
}
.height('100%')
}
}
select14+
select(options?: AVCastPickerOptions): Promise<void>
Starts the AVCastPicker dialog box, where users can select the target cast device. This API uses a promise to return the result. You can pass in AVCastPickerOptions to specify the properties for selection.
Atomic service API: This API can be used in atomic services since API version 14.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| options | AVCastPickerOptions | No | AVCastPicker selection options. If this parameter is not specified, the default value of AVCastPickerOptions is used. |
Return value
| Type | Description |
|---|---|
| Promise<void> | Promise used to return the result. If the command is sent, no value is returned; otherwise, an error object is returned. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
Example
import { common } from '@kit.AbilityKit';
import { BusinessError } from '@kit.BasicServicesKit';
async function avCastPicker(context: common.Context) {
let avCastPickerOptions : avSession.AVCastPickerOptions = {
sessionType : 'video',
}
let avCastPicker = new avSession.AVCastPickerHelper(context);
avCastPicker.select(avCastPickerOptions).then(() => {
console.info('select successfully');
}).catch((err: BusinessError) => {
console.error(`AVCastPicker.select failed with err: ${err.code}, ${err.message}`);
});
}
on('pickerStateChange')14+
on(type: 'pickerStateChange', callback: Callback<AVCastPickerState>) : void
Subscribes to semi-modal window change events.
Atomic service API: This API can be used in atomic services since API version 14.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type. The event 'pickerStateChange' is triggered when the semi-modal window changes. |
| callback | Callback<AVCastPickerState> | Yes | Callback function, where the state parameter indicates the new state of the semi-modal window. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
Example
import { common } from '@kit.AbilityKit';
import { AVCastPickerState } from '@kit.AVSessionKit';
async function onPickerStateChange(context: common.Context) {
let avCastPicker = new avSession.AVCastPickerHelper(context);
avCastPicker.on('pickerStateChange', (state: AVCastPickerState) => {
console.info(`picker state change : ${state}`);
});
}
off('pickerStateChange')14+
off(type: 'pickerStateChange', callback?: Callback<AVCastPickerState>) : void
Unsubscribes from semi-modal window change events. After the unsubscription, the event callback is not triggered.
Atomic service API: This API can be used in atomic services since API version 14.
System capability: SystemCapability.Multimedia.AVSession.AVCast
Parameters
| Name | Type | Mandatory | Description |
|---|---|---|---|
| type | string | Yes | Event type, which is 'pickerStateChange' in this case. |
| callback | Callback<AVCastPickerState> | No | Callback function, where the state parameter indicates the new state of the semi-modal window. If the unsubscription is successful, err is undefined; otherwise, err is an error object. The callback parameter is optional. If it is not specified, all the subscriptions to the specified event are canceled for this session. |
Error codes
For details about the error codes, see AVSession Management Error Codes.
| ID | Error Message |
|---|---|
| 401 | parameter check failed. 1.Mandatory parameters are left unspecified. 2.Incorrect parameter types. |
| 6600101 | Session service exception. |
Example
import { common } from '@kit.AbilityKit';
async function onPickerStateChange(context: common.Context) {
let avCastPicker = new avSession.AVCastPickerHelper(context);
avCastPicker.off('pickerStateChange');
}
AVSessionErrorCode10+
Enumerates the error codes used in the media session.
| Name | Value | Description |
|---|---|---|
| ERR_CODE_SERVICE_EXCEPTION | 6600101 | The session server is abnormal. Atomic service API: This API can be used in atomic services since API version 12. System capability: SystemCapability.Multimedia.AVSession.Core |
| ERR_CODE_SESSION_NOT_EXIST | 6600102 | The session does not exist. Atomic service API: This API can be used in atomic services since API version 12. System capability: SystemCapability.Multimedia.AVSession.Core |
| ERR_CODE_CONTROLLER_NOT_EXIST | 6600103 | The session controller does not exist. Atomic service API: This API can be used in atomic services since API version 12. System capability: SystemCapability.Multimedia.AVSession.Core |
| ERR_CODE_REMOTE_CONNECTION_ERR | 6600104 | Connection to the remote session fails. Atomic service API: This API can be used in atomic services since API version 12. System capability: SystemCapability.Multimedia.AVSession.Core |
| ERR_CODE_COMMAND_INVALID | 6600105 | The session command is invalid. Atomic service API: This API can be used in atomic services since API version 12. System capability: SystemCapability.Multimedia.AVSession.Core |
| ERR_CODE_SESSION_INACTIVE | 6600106 | The session is not activated. Atomic service API: This API can be used in atomic services since API version 12. System capability: SystemCapability.Multimedia.AVSession.Core |
| ERR_CODE_MESSAGE_OVERLOAD | 6600107 | Too many commands or messages. Atomic service API: This API can be used in atomic services since API version 12. System capability: SystemCapability.Multimedia.AVSession.Core |
| ERR_CODE_DEVICE_CONNECTION_FAILED | 6600108 | Connection to the device fails. Atomic service API: This API can be used in atomic services since API version 12. System capability: SystemCapability.Multimedia.AVSession.Core |
| ERR_CODE_REMOTE_CONNECTION_NOT_EXIST | 6600109 | The remote session does not exist. Atomic service API: This API can be used in atomic services since API version 12. System capability: SystemCapability.Multimedia.AVSession.Core |
| ERR_CODE_CAST_CONTROL_UNSPECIFIED13+ | 6611000 | An undefined error occurs during cast control. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_REMOTE_ERROR13+ | 6611001 | An unknown error occurs in the remote player. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_BEHIND_LIVE_WINDOW13+ | 6611002 | The playback is delayed. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_TIMEOUT13+ | 6611003 | The cast control process times out. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_RUNTIME_CHECK_FAILED13+ | 6611004 | The runtime check fails. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_PLAYER_NOT_WORKING13+ | 6611100 | Cross-device data transfer is locked. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_SEEK_MODE_UNSUPPORTED13+ | 6611101 | The specified seek mode is not supported. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_ILLEGAL_SEEK_TARGET13+ | 6611102 | The seek position is out of the media range, or the current seek mode is not supported. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_PLAY_MODE_UNSUPPORTED13+ | 6611103 | The specified playback mode is not supported. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_PLAY_SPEED_UNSUPPORTED13+ | 6611104 | The specified playback speed is not supported. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_DEVICE_MISSING13+ | 6611105 | Operation failed because the media source device or media receiver device has been destroyed. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_INVALID_PARAM13+ | 6611106 | The parameter is invalid. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_NO_MEMORY13+ | 6611107 | Failed to allocate memory. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_OPERATION_NOT_ALLOWED13+ | 6611108 | The operation is not allowed. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_IO_UNSPECIFIED13+ | 6612000 | An unspecified input/output error occurs. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_IO_NETWORK_CONNECTION_FAILED13+ | 6612001 | Network connection fails. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_IO_NETWORK_CONNECTION_TIMEOUT13+ | 6612002 | Network connection times out. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_IO_INVALID_HTTP_CONTENT_TYPE 13+ | 6612003 | The value of Content-Type is invalid. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_IO_BAD_HTTP_STATUS13+ | 6612004 | The HTTP server returns an unexpected HTTP response status code. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_IO_FILE_NOT_FOUND13+ | 6612005 | The file does not exist. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_IO_NO_PERMISSION13+ | 6612006 | The input/output operation is not allowed. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_IO_CLEARTEXT_NOT_PERMITTED13+ | 6612007 | The network security configuration of the application does not allow access to plaintext HTTP traffic. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_IO_READ_POSITION_OUT_OF_RANGE13+ | 6612008 | Data is read from data binding. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_IO_NO_CONTENTS13+ | 6612100 | No content can be played in the media. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_IO_READ_ERROR13+ | 6612101 | The media cannot be read. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_IO_CONTENT_BUSY13+ | 6612102 | The resource is in use. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_IO_CONTENT_EXPIRED13+ | 6612103 | The input/output request content has expired. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_IO_USE_FORBIDDEN13+ | 6612104 | The requested content cannot be played. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_IO_NOT_VERIFIED13+ | 6612105 | The allowed content cannot be verified. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_IO_EXHAUSTED_ALLOWED_USES13+ | 6612106 | The number of times that the content can be used has reached the maximum. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_IO_NETWORK_PACKET_SENDING_FAILED13+ | 6612107 | An error occurs when the source device sends data packets to the destination device. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_PARSING_UNSPECIFIED13+ | 6613000 | An unspecified content parsing error occurs. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_PARSING_CONTAINER_MALFORMED13+ | 6613001 | The format of the media container bit stream is incorrectly parsed. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_PARSING_MANIFEST_MALFORMED13+ | 6613002 | An error occurred when parsing the media list. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_PARSING_CONTAINER_UNSUPPORTED13+ | 6613003 | The media container format or feature of the file is not supported. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_PARSING_MANIFEST_UNSUPPORTED13+ | 6613004 | The feature is not supported in the media list. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_DECODING_UNSPECIFIED13+ | 6614000 | An unspecified decoding error occurs. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_DECODING_INIT_FAILED13+ | 6614001 | Initializing the decoder fails. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_DECODING_QUERY_FAILED13+ | 6614002 | Querying the decoder fails. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_DECODING_FAILED13+ | 6614003 | Decoding the media sample fails. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_DECODING_FORMAT_EXCEEDS_CAPABILITIES13+ | 6614004 | The device cannot decode the current format. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_DECODING_FORMAT_UNSUPPORTED13+ | 6614005 | The decoding format is not supported. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_AUDIO_RENDERER_UNSPECIFIED13+ | 6615000 | An unspecified audio renderer error occurs. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_AUDIO_RENDERER_INIT_FAILED 13+ | 6615001 | Initializing the audio renderer fails. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_AUDIO_RENDERER_WRITE_FAILED13+ | 6615002 | Writing data to the audio renderer fails. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_DRM_UNSPECIFIED13+ | 6616000 | An unspecified DRM-related error occurs. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_DRM_SCHEME_UNSUPPORTED13+ | 6616001 | The device does not support the selected DRM scheme. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_DRM_PROVISIONING_FAILED13+ | 6616002 | Device configurations fail. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_DRM_CONTENT_ERROR13+ | 6616003 | The DRM-protected content cannot be played. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_DRM_LICENSE_ACQUISITION_FAILED13+ | 6616004 | Obtaining a license fails. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_DRM_DISALLOWED_OPERATION13+ | 6616005 | The license policy does not allow this operation. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_DRM_SYSTEM_ERROR13+ | 6616006 | An error occurs in the DRM system. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_DRM_DEVICE_REVOKED13+ | 6616007 | The DRM permission has been revoked from the device. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_DRM_LICENSE_EXPIRED13+ | 6616008 | The DRM license that is being loaded has expired. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
| ERR_CODE_CAST_CONTROL_DRM_PROVIDE_KEY_RESPONSE_ERROR13+ | 6616100 | An error occurs when the DRM processes the key response. Atomic service API: This API can be used in atomic services since API version 13. System capability: SystemCapability.Multimedia.AVSession.AVCast |
SkipIntervals11+
Enumerates the fast-forward or rewind intervals supported by the media session.
System capability: SystemCapability.Multimedia.AVSession.Core
| Name | Value | Description |
|---|---|---|
| SECONDS_10 | 10 | The time is 10 seconds. |
| SECONDS_15 | 15 | The time is 15 seconds. |
| SECONDS_30 | 30 | The time is 30 seconds. |