diff --git a/api/@ohos.multimedia.audio.d.ts b/api/@ohos.multimedia.audio.d.ts index e25e77e07181a248e875e76199089f3ca6302911..8b86a02175069391ab6fb672adc24b19a7429957 100644 --- a/api/@ohos.multimedia.audio.d.ts +++ b/api/@ohos.multimedia.audio.d.ts @@ -100,6 +100,12 @@ declare namespace audio { * @since 9 */ ERROR_TIMEOUT = 6800105, + /** + * Unsupported audio format, such as unsupported encoding type, sample format etc. + * @syscap SystemCapability.Multimedia.Audio.Core + * @since 19 + */ + ERROR_UNSUPPORTED_FORMAT = 6800106, /** * Audio specific errors. * @syscap SystemCapability.Multimedia.Audio.Core @@ -1405,7 +1411,13 @@ declare namespace audio { * @atomicservice * @since 12 */ - ENCODING_TYPE_RAW = 0 + ENCODING_TYPE_RAW = 0, + /** + * E_AC3 encoding. + * @syscap SystemCapability.Multimedia.Audio.Core + * @since 19 + */ + ENCODING_TYPE_E_AC3 = 2 } /** @@ -3044,6 +3056,33 @@ declare namespace audio { */ off(type: 'interrupt', interrupt: AudioInterrupt, callback?: Callback): void; + /** + * Subscribe for render error events. This method uses a callback to get render error events. + * For example, a render error event of "6800106" will be reported when the playing audio format is not supported anymore due to device change. + * @param { 'renderError' } type - Type of the event to listen for. Only the render error event is supported. + * @param { Callback } callback - Callback used to listen for error callback. + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1.Mandatory parameters are left unspecified; + * 2.Incorrect parameter types. + * @throws { BusinessError } 6800101 - Parameter verification failed. + * @syscap SystemCapability.Multimedia.Audio.Renderer + * @since 19 + */ + on(type: 'renderError', callback: Callback): void; + + /** + * Unsubscribes for render error events. + * @param { 'renderError' } type - Type of the event to listen for. Only the render error event is supported. + * @param { Callback } callback - Callback used to listen for error callback. + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1.Mandatory parameters are left unspecified; + * 2.Incorrect parameter types. + * @throws { BusinessError } 6800101 - Parameter verification failed. + * @syscap SystemCapability.Multimedia.Audio.Renderer + * @since 19 + */ + off(type: 'renderError', callback?: Callback): void; + /** * Obtains an {@link AudioVolumeManager} instance. * @returns { AudioVolumeManager } AudioVolumeManager instance. @@ -4302,6 +4341,20 @@ declare namespace audio { * @since 12 */ isActiveSync(volumeType: AudioVolumeType): boolean; + + /** + * Returns the mode of direct playback available for a given audio format with current active device. + * @param { AudioStreamInfo } streamInfo - the stream information + * @param { StreamUsage } streamUsage - the stream usage + * @returns { DirectPlaybackMode } The direct playback mode. + * @throws { BusinessError } 401 - Parameter error. Possible causes: + * 1.Mandatory parameters are left unspecified; + * 2.Incorrect parameter types. + * @throws { BusinessError } 6800101 - Parameter verification failed. + * @syscap SystemCapability.Multimedia.Audio.Renderer + * @since 19 + */ + getDirectPlaybackSupport(streamInfo: AudioStreamInfo, streamUsage: StreamUsage): DirectPlaybackMode; } /** @@ -10798,6 +10851,35 @@ declare namespace audio { */ flag: EffectFlag; } + + /** + * Enumerates direct playback modes. + * @enum { number } + * @syscap SystemCapability.Multimedia.Audio.Core + * @since 19 + */ + enum DirectPlaybackMode { + /** + * Direct playback is not supported. + * @syscap SystemCapability.Multimedia.Audio.Core + * @since 19 + */ + DIRECT_PLAYBACK_NOT_SUPPORTED = 0, + + /** + * Direct playback mode which is bitstream pass-through such as compressed pass-through. + * @syscap SystemCapability.Multimedia.Audio.Core + * @since 19 + */ + DIRECT_PLAYBACK_BITSTREAM_SUPPORTED = 1, + + /** + * Direct playback mode of pcm. + * @syscap SystemCapability.Multimedia.Audio.Core + * @since 19 + */ + DIRECT_PLAYBACK_PCM_SUPPORTED = 2 + } } export default audio;