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