1# multimedia子系统ChangeLog
2
3## cl.multimedia.1 AudioRenderer.getCurrentOutputDevices接口实现错误修正
4
5AudioRenderer的getCurrentOutputDevices接口,按照API定义,应返回AudioDeviceDescriptors类型,即AudioDeviceDescriptor类型的数组,但在历史版本内,实现和xts用例都错误的使用AudioDeviceDescriptor类型进行实现和测试,在新版本修复此问题,正确返回AudioDeviceDescriptors数组类型
6
7**变更影响**
8
9已在Beta版本发布的ts接口,影响按照错误的示范使用接口的三方应用的兼容性。
10
11**关键的接口/组件变更**
12
13修改前的接口原型:
14
15```ts
16// interface AudioRenderer
17getCurrentOutputDevices(callback: AsyncCallback<AudioDeviceDescriptors>): void
18getCurrentOutputDevices(): Promise<AudioDeviceDescriptors>;
19```
20
21修改后的接口原型:
22
23接口定义不变,但实现正确返回AudioDeviceDescriptors数组类型
24
25**适配指导**
26
27如开发者需要按照接口声明的类型去使用API,无需适配。
28如果参考了历史xts写法,并屏蔽了调用时与接口定义不匹配的告警,则需要修改为按照API定义使用。
29
30## cl.multimedia.2 401同步错误码接口实现修正
31
32部分含入参的API10接口,当开发者没有传递足够的必选参数,或是传递的参数类型错误,接口应当按照接口声明,以同步方式抛出异常,提醒开发者在应用调试过程中出现此类接口使用错误问题。
33当前版本修正了部分接口没有按此预期抛出错误的问题
34
35**变更影响**
36
37仅影响错误使用接口的场景
38
39**关键的接口/组件变更**
40
41修改前的接口原型:
42
43```ts
44// interface AudioRenderer
45adjustVolumeByStep(adjustType: VolumeAdjustType, callback: AsyncCallback<void>): void;
46adjustVolumeByStep(adjustType: VolumeAdjustType): Promise<void>;
47adjustSystemVolumeByStep(volumeType: AudioVolumeType, adjustType: VolumeAdjustType, callback: AsyncCallback<void>): void;
48adjustSystemVolumeByStep(volumeType: AudioVolumeType, adjustType: VolumeAdjustType): Promise<void>;
49getSystemVolumeInDb(volumeType: AudioVolumeType, volumeLevel: number, device: DeviceType, callback: AsyncCallback<number>): void;
50getSystemVolumeInDb(volumeType: AudioVolumeType, volumeLevel: number, device: DeviceType): Promise<number>;
51setAudioEffectMode(mode: AudioEffectMode, callback: AsyncCallback<void>): void;
52setAudioEffectMode(mode: AudioEffectMode): Promise<void>;
53getPreferOutputDeviceForRendererInfo(rendererInfo: AudioRendererInfo, callback: AsyncCallback<AudioDeviceDescriptors>): void;
54getPreferOutputDeviceForRendererInfo(rendererInfo: AudioRendererInfo): Promise<AudioDeviceDescriptors>;
55```
56
57修改后的接口原型:
58
59```ts
60// 401错误码声明描述调整
61@throws { BusinessError } 401 - Input parameter type or number mismatch.
62```
63
64**适配指导**
65
66正确使用API,无需适配。如发现抛出异常,则说明没有传递足够的必选参数,或是传递的参数类型错误,需要按照API定义传入参数。
67