• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Types
2<!--Kit: AVSession Kit-->
3<!--Subsystem: Multimedia-->
4<!--Owner: @ccfriend; @liao_qian-->
5<!--Designer: @ccfriend-->
6<!--Tester: @chenmingxi1_huawei-->
7<!--Adviser: @zengyawen-->
8
9> **说明:**
10>
11> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
12
13## AVSessionType<sup>10+<sup>
14
15type AVSessionType = 'audio' | 'video' | 'voice_call' | 'video_call'
16
17当前会话支持的会话类型。
18
19该类型可取的值为下表字符串。
20
21**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
22
23**系统能力:** SystemCapability.Multimedia.AVSession.Core
24
25| 类型  | 说明 |
26| -----  | ---- |
27| 'audio' | 音频 |
28| 'video' | 视频 |
29| 'voice_call'<sup>11+<sup> | 音频通话。 |
30| 'video_call'<sup>12+<sup> | 视频通话。 |
31
32## AVCastControlCommandType<sup>10+</sup>
33
34type AVCastControlCommandType = 'play' | 'pause' | 'stop' | 'playNext' | 'playPrevious' | 'fastForward' | 'rewind' |
35  'seek' | 'setVolume' | 'setSpeed' | 'setLoopMode' | 'toggleFavorite' | 'toggleMute'
36
37投播控制器可传递的命令。
38
39**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
40
41**系统能力:** SystemCapability.Multimedia.AVSession.AVCast
42
43| 类型             | 说明         |
44| ---------------- | ------------ |
45| 'play'           | 播放。无需传入参数。 |
46| 'pause'          | 暂停。无需传入参数。   |
47| 'stop'           | 停止。无需传入参数。         |
48| 'playNext'       | 下一首。无需传入参数。       |
49| 'playPrevious'   | 上一首。无需传入参数。       |
50| 'fastForward'    | 快进。无需传入参数。       |
51| 'rewind'         | 快退。无需传入参数。        |
52| 'seek'           | 跳转某一节点。对应参数使用number类型。 |
53| 'setVolume'      | 设置音量。对应参数使用number类型, 可通过[AVPlaybackState.maxVolume](arkts-apis-avsession-i.md#avplaybackstate10)获取系统最大音量     |
54| 'setSpeed'       | 设置播放倍速。对应参数使用[media.PlaybackSpeed](../apis-media-kit/arkts-apis-media-e.md#playbackspeed8)。 |
55| 'setLoopMode'    | 设置循环模式。对应参数使用[LoopMode](arkts-apis-avsession-e.md#loopmode10)。 |
56| 'toggleFavorite' | 是否收藏。对应参数使用[AVMetadata.assetId](arkts-apis-avsession-i.md#avmetadata10)。    |
57| 'toggleMute'     | 设置静音状态。无需传入参数。 |
58
59## ExtraInfo<sup>18+</sup>
60
61type ExtraInfo = { [key: string]: Object; }
62
63媒体提供方设置的自定义媒体数据包对象。
64
65**系统能力:** SystemCapability.Multimedia.AVSession.Core
66
67| 类型                                | 说明                          |
68| ----------------------------------- | ----------------------------- |
69| [key: string]: Object   | key为远端分布式事件类型。当前支持的事件类型包括:<br>'AUDIO_GET_VOLUME':获取远端设备音量。<br>'AUDIO_GET_AVAILABLE_DEVICES':获取远端所有可连接设备。<br>'AUDIO_GET_PREFERRED_OUTPUT_DEVICE_FOR_RENDERER_INFO':获取远端实际发声设备。<br>媒体提供方根据不同的远端分布式事件类型,返回对应的媒体数据包Object对象。 |
70
71## KeyRequestCallback<sup>12+</sup>
72
73type KeyRequestCallback = (assetId: string, requestData: Uint8Array) => void
74
75许可证请求事件的回调函数。
76
77**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
78
79**系统能力:** SystemCapability.Multimedia.AVSession.AVCast
80
81**参数:**
82
83| 参数名 | 类型   | 必填 | 说明                                      |
84| ------ | ------ | ---- | ----------------------------------------- |
85| assetId     | string  | 是   | 媒体ID。 |
86| requestData |  Uint8Array  | 是   | 媒体许可证请求数据。                            |
87
88**示例:**
89<!--code_no_check-->
90```ts
91let keyRequestCallback: avSession.KeyRequestCallback = async(assetId: string, requestData: Uint8Array) => {
92  console.info(`Succeeded in keyRequestCallback. assetId: ${assetId}, requestData: ${requestData}`);
93}
94```
95
96## AVControlCommandType<sup>10+</sup>
97
98type AVControlCommandType = 'play' | 'pause' | 'stop' | 'playNext' | 'playPrevious' | 'fastForward' | 'rewind' |
99  'seek' | 'setSpeed' | 'setLoopMode' | 'toggleFavorite' | 'playFromAssetId' | 'playWithAssetId' | 'answer' | 'hangUp' | 'toggleCallMute' | 'setTargetLoopMode'
100
101会话可传递的命令。
102
103该类型可取的值为下表字符串的并集。
104
105**系统能力:** SystemCapability.Multimedia.AVSession.Core
106
107| 类型             | 说明         |
108| ---------------- | ------------ |
109| 'play'           | 播放。无需传入参数。<br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。|
110| 'pause'          | 暂停。无需传入参数。<br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。|
111| 'stop'           | 停止。 无需传入参数。<br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 |
112| 'playNext'       | 下一首。无需传入参数。<br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。|
113| 'playPrevious'   | 上一首。无需传入参数。<br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。|
114| 'fastForward'    | 快进。无需传入参数。 <br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。|
115| 'rewind'         | 快退。无需传入参数。 <br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。|
116| 'seek'           | 跳转某一节点。对应参数使用number类型。<br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。|
117| 'setSpeed'       | 设置播放倍速。对应参数使用number类型。 <br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。|
118| 'setLoopMode'    | 设置循环模式。对应参数使用[LoopMode](arkts-apis-avsession-e.md#loopmode10)。 <br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。|
119| 'setTargetLoopMode' <sup>18+</sup>   | 设置目标循环模式。对应参数推荐使用[LoopMode](arkts-apis-avsession-e.md#loopmode10)。<br>**原子化服务API:** 从API version 18开始,该接口支持在原子化服务中使用。  |
120| 'toggleFavorite' | 是否收藏。对应参数使用[AVMetadata.assetId](arkts-apis-avsession-i.md#avmetadata10)。 <br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。    |
121| 'playFromAssetId' <sup>11+</sup>| 播放指定的assetId。<br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 |
122| 'playWithAssetId' <sup>20+</sup>    | 播放指定的assetId。对应参数使用[AVMetadata.assetId](arkts-apis-avsession-i.md#avmetadata10),<br>字符串长度<40960字节。<br>**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。|
123|'answer' <sup>11+</sup>        | 接听。无需传入参数。  <br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。      |
124| 'hangUp' <sup>11+</sup>         | 挂断。无需传入参数。  <br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。      |
125|'toggleCallMute' <sup>11+</sup>  | 设置通话静音状态。无需传入参数。 <br>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 |
126