• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 多媒体子系统ChangeLog
2
3## cl.multimedia.audio.001 getRoutingManager()调用方式变更
4
5getRoutingManager()接口的调用方法由异步变为同步。
6
7**变更影响**
8
9如不符合上述调用规则,将会在编译执行时出错。
10
11**关键的接口/组件变更**
12
13变更前
14```js
15getRoutingManager(callback: AsyncCallback<AudioRoutingManager>): void;
16getRoutingManager(): Promise<AudioRoutingManager>;
17```
18变更后
19```js
20getRoutingManager(): AudioRoutingManager;
21```
22
23
24## cl.multimedia.audio.002 getStreamManager()调用方式变更
25
26getStreamManager()接口的调用方法由异步变为同步。
27
28**变更影响**
29
30如不符合上述调用规则,将会在编译执行时出错。
31
32**关键的接口/组件变更**
33
34变更前
35```js
36getStreamManager(callback: AsyncCallback<AudioStreamManager>): void;
37getStreamManager(): Promise<AudioStreamManager>;
38```
39变更后
40```js
41getStreamManager(): AudioStreamManager;
42```
43
44
45## cl.multimedia.audio.003 原AudioRoutingManager中micStateChange监听注册方式变更
46
47原AudioRoutingManager中,on()函数的micStateChange监听注册方式变更。
48
49**变更影响**
50
51如不符合上述调用规则,将会在编译执行时出错。
52
53**关键的接口/组件变更**
54
55变更前
56
57```js
58interface AudioRoutingManager {
59   on(type: 'micStateChange', callback: Callback<MicStateChangeEvent>): void;
60}
61```
62变更后
63```js
64interface AudioVolumeGroupManager {
65  on(type: 'micStateChange', callback: Callback<MicStateChangeEvent>): void;
66}
67```
68
69
70## cl.multimedia.audio.004 getVolumeGroups()调用方式变更
71
72getVolumeGroups()接口的调用方式变更。
73
74**变更影响**
75
76如不符合上述调用规则,将会在编译执行时出错。
77
78**关键的接口/组件变更**
79
80变更前
81```js
82getVolumeGroups(networkId: string, callback:AsyncCallback<VolumeGroupInfos>): void;
83getVolumeGroups(networkId: string): Promise<VolumeGroupInfos>;
84```
85变更后
86```js
87getVolumeManager(): AudioVolumeManager;
88interface AudioVolumeManager{
89  getVolumeGroupInfos(networkId: string, callback: AsyncCallback<VolumeGroupInfos>): void;
90  getVolumeGroupInfos(networkId: string): Promise<VolumeGroupInfos>;
91}
92```
93
94
95## cl.multimedia.audio.005 getGroupManager()调用方式变更
96
97getGroupManager()接口的调用方式变更。
98
99**变更影响**
100
101如不符合上述调用规则,将会在编译执行时出错。
102
103**关键的接口/组件变更**
104
105变更前
106```js
107getGroupManager(groupId: number, callback: AsyncCallback<AudioGroupManager>): void;
108getGroupManager(groupId: number): Promise<AudioGroupManager>;
109```
110变更后
111```js
112getVolumeManager(): AudioVolumeManager;
113interface AudioVolumeManager{
114  getVolumeGroupManager(groupId: number, callback: AsyncCallback<AudioVolumeGroupManager>): void;
115  getVolumeGroupManager(groupId: number): Promise<AudioVolumeGroupManager>;
116}
117```
118
119
120## cl.multimedia.audio.006 枚举FocusType成员名变更
121
122枚举FocusType中,成员FOCUS_TYPE_RECORDING重命名为FOCUS_TYPE_DEFAULT。
123
124**变更影响**
125
126如不符合上述调用规则,将会在编译执行时出错。
127
128**关键的接口/组件变更**
129
130变更前
131```js
132enum FocusType {
133  FOCUS_TYPE_RECORDING = 0,
134}
135```
136变更后
137```js
138enum InterruptRequestType {
139  INTERRUPT_REQUEST_TYPE_DEFAULT = 0,
140}
141```
142
143
144## cl.multimedia.audio.007 AudioRenderer中interrupt监听注册名称变更
145
146AudioRenderer中on()函数的interrupt监听注册名称变更。
147
148**变更影响**
149
150如不符合上述调用规则,将会在编译执行时出错。
151
152**关键的接口/组件变更**
153
154变更前
155```js
156interface AudioRenderer {
157    on(type: 'interrupt', callback: Callback<InterruptEvent>): void;
158}
159```
160变更后
161```js
162interface AudioRenderer {
163    on(type: 'audioInterrupt', callback: Callback<InterruptEvent>): void;
164}
165```
166
167
168## cl.multimedia.media.001 VideoRecorder相关接口变更为systemapi
169
170录制在MR版本会提供正式的AVRecorder(音视频合一)的接口给外部用户使用。
171VideoRecorder相关的api9接口变更为systemapi,当前只提供给系统用户使用,未来等内部用户都切换为AVRecorder之后,废弃VideoRecorder相关接口。
172
173**变更影响**
174
175如果VideoRecorder的调用者非系统用户,会调用失败。
176涉及接口以及枚举如下:
177function createVideoRecorder(callback: AsyncCallback<VideoRecorder>): void;
178function createVideoRecorder(): Promise<VideoRecorder>;
179type VideoRecordState = 'idle' | 'prepared' | 'playing' | 'paused' | 'stopped' | 'error';
180interface VideoRecorder{
181    prepare(config: VideoRecorderConfig, callback: AsyncCallback<void>): void;
182    prepare(config: VideoRecorderConfig): Promise<void>;
183    getInputSurface(callback: AsyncCallback<string>): void;
184    getInputSurface(): Promise<string>;
185    start(callback: AsyncCallback<void>): void;
186    start(): Promise<void>;
187    pause(callback: AsyncCallback<void>): void;
188    pause(): Promise<void>;
189    resume(callback: AsyncCallback<void>): void;
190    resume(): Promise<void>;
191    stop(callback: AsyncCallback<void>): void;
192    stop(): Promise<void>;
193    release(callback: AsyncCallback<void>): void;
194    release(): Promise<void>;
195    reset(callback: AsyncCallback<void>): void;
196    reset(): Promise<void>;
197    on(type: 'error', callback: ErrorCallback): void;
198    readonly state: VideoRecordState;
199}
200interface VideoRecorderProfile {
201    readonly audioBitrate: number;
202    readonly audioChannels: number;
203    readonly audioCodec: CodecMimeType;
204    readonly audioSampleRate: number;
205    readonly fileFormat: ContainerFormatType;
206    readonly videoBitrate: number;
207    readonly videoCodec: CodecMimeType;
208    readonly videoFrameWidth: number;
209    readonly videoFrameHeight: number;
210    readonly videoFrameRate: number;
211}
212enum AudioSourceType {
213    AUDIO_SOURCE_TYPE_DEFAULT = 0,
214    AUDIO_SOURCE_TYPE_MIC = 1,
215}
216enum VideoSourceType {
217    VIDEO_SOURCE_TYPE_SURFACE_YUV = 0,
218    VIDEO_SOURCE_TYPE_SURFACE_ES = 1,
219}
220enum VideoRecorderConfig {
221    audioSourceType?: AudioSourceType;
222    videoSourceType: VideoSourceType;
223    profile: VideoRecorderProfile;
224    url: string;
225    rotation?: number;
226    location?: Location;
227}
228
229## cl.multimedia.media.002 VideoPlayer中不对外提供多码率选择接口
230
231VideoPlayer在API9中不对外提供多码率选择相关接口,相关接口会在MR版本中由AvPlayer提供。
232
233**变更影响**
234
235VideoPlayer多码率场景无法进行码率选择,相关功能由AVPlayer提供
236
237**关键的接口/组件变更**
238
239删除如下接口
240interface VideoPlayer {
241    selectBitrate(bitrate: number): Promise<number>;
242    selectBitrate(bitrate: number, callback: AsyncCallback<number>): void;
243    on(type: 'availableBitratesCollect', callback: (bitrates: Array<number>) => void): void;
244}
245
246## cl.multimedia.media.003 VideoRecorder错误信息变更
247
248VideoRecorder原有错误码与整体错误码规则不一致,变更错误码适配规则。
249
250**变更影响**
251
252VideoRecorder返回的错误码发生变更。
253
254**关键的接口/组件变更**
255
256VideoRecorder接口未发生变更,返回的错误码发生变更。
257
258**适配指导**
259
260异常处理具体参考接口文档。
261https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis/js-apis-media.md
262https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/errorcodes/errorcode-media.md
263