1e41f4b71Sopenharmony_ci# Multimedia Subsystem Changelog
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci## cl.multimedia.1 Implementation Error of AudioRenderer.getCurrentOutputDevices Corrected
4e41f4b71Sopenharmony_ci
5e41f4b71Sopenharmony_ciAccording to the definition, the **getCurrentOutputDevices** API of the **AudioRenderer** class should return the **AudioDeviceDescriptors** type, that is, an array of the **AudioDeviceDescriptor** types. However, the **AudioDeviceDescriptor** type is returned in the API implementation and XTS test case in the earlier versions. This error is rectified.
6e41f4b71Sopenharmony_ci
7e41f4b71Sopenharmony_ci**Change Impact**
8e41f4b71Sopenharmony_ci
9e41f4b71Sopenharmony_ciApplications that use the involved API may have compatibility issues.
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci**Key API/Component Changes**
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ciBefore change:
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci```ts
16e41f4b71Sopenharmony_ci// AudioRenderer API
17e41f4b71Sopenharmony_cigetCurrentOutputDevices(callback: AsyncCallback<AudioDeviceDescriptors>): void
18e41f4b71Sopenharmony_cigetCurrentOutputDevices(): Promise<AudioDeviceDescriptors>;
19e41f4b71Sopenharmony_ci```
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ciAfter change:
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ciThe API definition remains unchanged, but the API now correctly returns the **AudioDeviceDescriptors** type.
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci**Adaptation Guide**
26e41f4b71Sopenharmony_ci
27e41f4b71Sopenharmony_ciIf you implement the API according to the declared type, no adaptation is required.
28e41f4b71Sopenharmony_ciIf you refer to the original XTS test case to implement the API and mask the alarm indicating API definition mismatch during invoking, you must change the implementation accordingly.
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ci## cl.multimedia.2 Implementation of Error Code 401 Modified for Synchronous APIs
31e41f4b71Sopenharmony_ci
32e41f4b71Sopenharmony_ciFor certain APIs that contain input parameters and is of API version 10, if a mandatory parameter is not passed in or an incorrect parameter type is passed in, the APIs should throw exceptions in synchronous mode based on the API declaration.
33e41f4b71Sopenharmony_ciHowever, these APIs do not throw exceptions as expected. This error is rectified.
34e41f4b71Sopenharmony_ci
35e41f4b71Sopenharmony_ci**Change Impact**
36e41f4b71Sopenharmony_ci
37e41f4b71Sopenharmony_ciThe scenario where these APIs are incorrectly used is affected.
38e41f4b71Sopenharmony_ci
39e41f4b71Sopenharmony_ci**Key API/Component Changes**
40e41f4b71Sopenharmony_ci
41e41f4b71Sopenharmony_ciBefore change:
42e41f4b71Sopenharmony_ci
43e41f4b71Sopenharmony_ci```ts
44e41f4b71Sopenharmony_ci// AudioRenderer API
45e41f4b71Sopenharmony_ciadjustVolumeByStep(adjustType: VolumeAdjustType, callback: AsyncCallback<void>): void;
46e41f4b71Sopenharmony_ciadjustVolumeByStep(adjustType: VolumeAdjustType): Promise<void>;
47e41f4b71Sopenharmony_ciadjustSystemVolumeByStep(volumeType: AudioVolumeType, adjustType: VolumeAdjustType, callback: AsyncCallback<void>): void;
48e41f4b71Sopenharmony_ciadjustSystemVolumeByStep(volumeType: AudioVolumeType, adjustType: VolumeAdjustType): Promise<void>;
49e41f4b71Sopenharmony_cigetSystemVolumeInDb(volumeType: AudioVolumeType, volumeLevel: number, device: DeviceType, callback: AsyncCallback<number>): void;
50e41f4b71Sopenharmony_cigetSystemVolumeInDb(volumeType: AudioVolumeType, volumeLevel: number, device: DeviceType): Promise<number>;
51e41f4b71Sopenharmony_cisetAudioEffectMode(mode: AudioEffectMode, callback: AsyncCallback<void>): void;
52e41f4b71Sopenharmony_cisetAudioEffectMode(mode: AudioEffectMode): Promise<void>;
53e41f4b71Sopenharmony_cigetPreferOutputDeviceForRendererInfo(rendererInfo: AudioRendererInfo, callback: AsyncCallback<AudioDeviceDescriptors>): void;
54e41f4b71Sopenharmony_cigetPreferOutputDeviceForRendererInfo(rendererInfo: AudioRendererInfo): Promise<AudioDeviceDescriptors>;
55e41f4b71Sopenharmony_ci```
56e41f4b71Sopenharmony_ci
57e41f4b71Sopenharmony_ciAfter change:
58e41f4b71Sopenharmony_ci
59e41f4b71Sopenharmony_ci```ts
60e41f4b71Sopenharmony_ci// The description of error code 401 is adjusted.
61e41f4b71Sopenharmony_ci@throws { BusinessError } 401 - Input parameter type or number mismatch.
62e41f4b71Sopenharmony_ci```
63e41f4b71Sopenharmony_ci
64e41f4b71Sopenharmony_ci**Adaptation Guide**
65e41f4b71Sopenharmony_ci
66e41f4b71Sopenharmony_ciIf the API is called correctly, no adaptation is required. If an exception is thrown, pass in parameters according to the API definition.
67