2886 lines
		
	
	
		
			96 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			2886 lines
		
	
	
		
			96 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
/*
 | 
						|
* Copyright (C) 2021 Huawei Device Co., Ltd.
 | 
						|
* Licensed under the Apache License, Version 2.0 (the "License");
 | 
						|
* you may not use this file except in compliance with the License.
 | 
						|
* You may obtain a copy of the License at
 | 
						|
*
 | 
						|
* http://www.apache.org/licenses/LICENSE-2.0
 | 
						|
*
 | 
						|
* Unless required by applicable law or agreed to in writing, software
 | 
						|
* distributed under the License is distributed on an "AS IS" BASIS,
 | 
						|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
						|
* See the License for the specific language governing permissions and
 | 
						|
* limitations under the License.
 | 
						|
*/
 | 
						|
 | 
						|
import { ErrorCallback, AsyncCallback, Callback } from './basic';
 | 
						|
import audio from "./@ohos.multimedia.audio";
 | 
						|
 | 
						|
/**
 | 
						|
 * @name media
 | 
						|
 * @since 6
 | 
						|
 */
 | 
						|
declare namespace media {
 | 
						|
  /**
 | 
						|
   * Creates an AVPlayer instance.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
   * @param callback Callback used to return AVPlayer instance if the operation is successful; returns null otherwise.
 | 
						|
   * @throws { BusinessError } 5400101 - No memory. Return by callback.
 | 
						|
   */
 | 
						|
   function createAVPlayer(callback: AsyncCallback<AVPlayer>): void;
 | 
						|
 | 
						|
  /**
 | 
						|
   * Creates an AVPlayer instance.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
   * @returns A Promise instance used to return AVPlayer instance if the operation is successful; returns null otherwise.
 | 
						|
   * @throws { BusinessError } 5400101 - No memory. Return by promise.
 | 
						|
   */
 | 
						|
   function createAVPlayer() : Promise<AVPlayer>;
 | 
						|
 | 
						|
  /**
 | 
						|
   * Creates an AVRecorder instance.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
   * @param callback Callback used to return AVRecorder instance if the operation is successful; returns null otherwise.
 | 
						|
   * @throws { BusinessError } 5400101 - No memory. Return by callback.
 | 
						|
   */
 | 
						|
  function createAVRecorder(callback: AsyncCallback<AVRecorder>): void;
 | 
						|
 | 
						|
   /**
 | 
						|
    * Creates an AVRecorder instance.
 | 
						|
    * @since 9
 | 
						|
    * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
    * @returns A Promise instance used to return AVRecorder instance if the operation is successful; returns null otherwise.
 | 
						|
    * @throws { BusinessError } 5400101 - No memory. Return by promise.
 | 
						|
    */
 | 
						|
  function createAVRecorder() : Promise<AVRecorder>;
 | 
						|
 | 
						|
  /**
 | 
						|
   * Creates an AudioPlayer instance.
 | 
						|
   * @since 6
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
   * @returns Returns an AudioPlayer instance if the operation is successful; returns null otherwise.
 | 
						|
   * @deprecated since 9
 | 
						|
   * @useinstead ohos.multimedia.media/media#createAVPlayer
 | 
						|
   */
 | 
						|
  function createAudioPlayer(): AudioPlayer;
 | 
						|
 | 
						|
  /**
 | 
						|
   * Creates an AudioRecorder instance.
 | 
						|
   * @since 6
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
   * @returns Returns an AudioRecorder instance if the operation is successful; returns null otherwise.
 | 
						|
   * @deprecated since 9
 | 
						|
   * @useinstead ohos.multimedia.media/media#createAVRecorder
 | 
						|
   */
 | 
						|
  function createAudioRecorder(): AudioRecorder;
 | 
						|
 | 
						|
  /**
 | 
						|
   * Creates an VideoPlayer instance.
 | 
						|
   * @since 8
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
   * @param callback Callback used to return AudioPlayer instance if the operation is successful; returns null otherwise.
 | 
						|
   * @deprecated since 9
 | 
						|
   * @useinstead ohos.multimedia.media/media#createAVPlayer
 | 
						|
   */
 | 
						|
  function createVideoPlayer(callback: AsyncCallback<VideoPlayer>): void;
 | 
						|
 | 
						|
  /**
 | 
						|
   * Creates an VideoPlayer instance.
 | 
						|
   * @since 8
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
   * @returns A Promise instance used to return VideoPlayer instance if the operation is successful; returns null otherwise.
 | 
						|
   * @deprecated since 9
 | 
						|
   * @useinstead ohos.multimedia.media/media#createAVPlayer
 | 
						|
   */
 | 
						|
  function createVideoPlayer() : Promise<VideoPlayer>;
 | 
						|
 | 
						|
  /**
 | 
						|
   * The maintenance of this interface has been stopped since version api 9. Please use AVRecorder
 | 
						|
   * Creates an VideoRecorder instance.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
   * @param callback Callback used to return AudioPlayer instance if the operation is successful; returns null otherwise.
 | 
						|
   * @throws { BusinessError } 5400101 - No memory. Return by callback.
 | 
						|
   * @systemapi
 | 
						|
   */
 | 
						|
  function createVideoRecorder(callback: AsyncCallback<VideoRecorder>): void;
 | 
						|
 | 
						|
  /**
 | 
						|
   * The maintenance of this interface has been stopped since version api 9. Please use AVRecorder
 | 
						|
   * Creates an VideoRecorder instance.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
   * @returns A Promise instance used to return VideoRecorder instance if the operation is successful; returns null otherwise.
 | 
						|
   * @throws { BusinessError } 5400101 - No memory. Return by promise.
 | 
						|
   * @systemapi
 | 
						|
   */
 | 
						|
  function createVideoRecorder(): Promise<VideoRecorder>;
 | 
						|
 | 
						|
  /**
 | 
						|
  * Creates an WebRtc instance.
 | 
						|
  * @param callback Callback used to return WebRtc instance if the operation is successful; returns null otherwise.
 | 
						|
  */
 | 
						|
  function createWebRtc(callback: AsyncCallback<WebRtc>): void;
 | 
						|
 | 
						|
  /**
 | 
						|
  * Creates an WebRtc instance.
 | 
						|
  * @returns A Promise instance used to return WebRtc instance if the operation is successful; returns null otherwise.
 | 
						|
  */
 | 
						|
  function createWebRtc(): Promise<WebRtc>;
 | 
						|
 | 
						|
  /**
 | 
						|
   * Enumerates state change reason.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
   enum StateChangeReason {
 | 
						|
    /**
 | 
						|
     * State changed by user operation.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    USER = 1,
 | 
						|
 | 
						|
    /**
 | 
						|
     * State changed by background action.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    BACKGROUND = 2,
 | 
						|
  }
 | 
						|
 | 
						|
 /**
 | 
						|
   * Enumerates ErrorCode types, return in BusinessError::code.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
 enum AVErrorCode {
 | 
						|
  /**
 | 
						|
   * Operation success.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
  AVERR_OK = 0,
 | 
						|
 | 
						|
  /**
 | 
						|
   * Permission denied.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
  AVERR_NO_PERMISSION = 201,
 | 
						|
 | 
						|
  /**
 | 
						|
   * Invalid parameter.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
  AVERR_INVALID_PARAMETER = 401,
 | 
						|
 | 
						|
  /**
 | 
						|
   * The api is not supported in the current version.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
  AVERR_UNSUPPORT_CAPABILITY = 801,
 | 
						|
 | 
						|
  /**
 | 
						|
   * The system memory is insufficient or the number of services reaches the upper limit.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
  AVERR_NO_MEMORY = 5400101,
 | 
						|
 | 
						|
  /**
 | 
						|
   * Current status does not allow or do not have permission to perform this operation.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
  AVERR_OPERATE_NOT_PERMIT = 5400102,
 | 
						|
 | 
						|
  /**
 | 
						|
   * Data flow exception information.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
  AVERR_IO = 5400103,
 | 
						|
 | 
						|
  /**
 | 
						|
   * System or network response timeout.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
  AVERR_TIMEOUT = 5400104,
 | 
						|
 | 
						|
  /**
 | 
						|
   * Service process died.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
  AVERR_SERVICE_DIED = 5400105,
 | 
						|
 | 
						|
  /**
 | 
						|
   * Unsupported media format.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
  AVERR_UNSUPPORT_FORMAT = 5400106,
 | 
						|
 }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Describes AVPlayer states.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
   */
 | 
						|
   type AVPlayerState = 'idle' | 'initialized' | 'prepared' | 'playing' | 'paused' | 'completed' | 'stopped' | 'released' | 'error';
 | 
						|
 | 
						|
   /**
 | 
						|
    * Manages and plays media. Before calling an AVPlayer method, you must use createAVPlayer()
 | 
						|
    * to create an AVPlayer instance.
 | 
						|
    * @since 9
 | 
						|
    * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
    */
 | 
						|
  interface AVPlayer {
 | 
						|
    /**
 | 
						|
     * Prepare audio/video playback, it will request resource for playing.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param callback A callback instance used to return when prepare completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400106 - Unsupport format. Return by callback.
 | 
						|
     */
 | 
						|
    prepare(callback: AsyncCallback<void>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Prepare audio/video playback, it will request resource for playing.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @returns A Promise instance used to return when prepare completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400106 - Unsupport format. Return by promise.
 | 
						|
     */
 | 
						|
    prepare(): Promise<void>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Play audio/video playback.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param callback A callback instance used to return when play completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by callback.
 | 
						|
     */
 | 
						|
    play(callback: AsyncCallback<void>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Play audio/video playback.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @returns A Promise instance used to return when play completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by promise.
 | 
						|
     */
 | 
						|
    play(): Promise<void>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Pause audio/video playback.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param callback A callback instance used to return when pause completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by callback.
 | 
						|
     */
 | 
						|
    pause(callback: AsyncCallback<void>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Pause audio/video playback.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @returns A Promise instance used to return when pause completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by promise.
 | 
						|
     */
 | 
						|
    pause(): Promise<void>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Stop audio/video playback.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param callback A callback instance used to return when stop completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by callback.
 | 
						|
     */
 | 
						|
    stop(callback: AsyncCallback<void>): void;
 | 
						|
 | 
						|
     /**
 | 
						|
      * Stop audio/video playback.
 | 
						|
      * @since 9
 | 
						|
      * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
      * @returns A Promise instance used to return when stop completed.
 | 
						|
      * @throws { BusinessError } 5400102 - Operation not allowed. Return by promise.
 | 
						|
      */
 | 
						|
    stop(): Promise<void>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Reset AVPlayer, it will to idle state and can set src again.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param callback A callback instance used to return when reset completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by callback.
 | 
						|
     */
 | 
						|
    reset(callback: AsyncCallback<void>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Reset AVPlayer, it will to idle state and can set src again.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @returns A Promise instance used to return when reset completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by promise.
 | 
						|
     */
 | 
						|
    reset(): Promise<void>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Releases resources used for AVPlayer.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param callback A callback instance used to return when release completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by callback.
 | 
						|
     */
 | 
						|
    release(callback: AsyncCallback<void>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Releases resources used for AVPlayer.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @returns A Promise instance used to return when release completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by promise.
 | 
						|
     */
 | 
						|
    release(): Promise<void>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Jumps to the specified playback position.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param timeMs Playback position to jump, should be in [0, duration].
 | 
						|
     * @param mode See @SeekMode .
 | 
						|
     */
 | 
						|
    seek(timeMs: number, mode?:SeekMode): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Sets the volume.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param volume Relative volume. The value ranges from 0.00 to 1.00. The value 1 indicates the maximum volume (100%).
 | 
						|
     */
 | 
						|
    setVolume(volume: number): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Get all track infos in MediaDescription, should be called after data loaded callback.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param callback Async callback return track info in MediaDescription.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by callback.
 | 
						|
     */
 | 
						|
    getTrackDescription(callback: AsyncCallback<Array<MediaDescription>>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Get all track infos in MediaDescription, should be called after data loaded callback.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @returns A Promise instance used to return the track info in MediaDescription.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by promise.
 | 
						|
     */
 | 
						|
    getTrackDescription() : Promise<Array<MediaDescription>>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Media URI. Mainstream media formats are supported.
 | 
						|
     * Network:http://xxx
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     */
 | 
						|
    url ?: string;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Media file descriptor. Mainstream media formats are supported.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     */
 | 
						|
    fdSrc ?: AVFileDescriptor;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Whether to loop media playback.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     */
 | 
						|
    loop: boolean;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Describes audio interrupt mode, refer to {@link #audio.InterruptMode}. If it is not
 | 
						|
     * set, the default mode will be used. Set it before calling the {@link #play()} in the
 | 
						|
     * first time in order for the interrupt mode to become effective thereafter.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     */
 | 
						|
    audioInterruptMode ?: audio.InterruptMode;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Current playback position.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     */
 | 
						|
    readonly currentTime: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Playback duration, When the data source does not support seek, it returns - 1, such as a live broadcast scenario.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     */
 | 
						|
    readonly duration: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Playback state.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     */
 | 
						|
    readonly state: AVPlayerState;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Video player will use this id get a surface instance.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     */
 | 
						|
    surfaceId ?: string;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Video width, valid after prepared.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     */
 | 
						|
    readonly width: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Video height, valid after prepared.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     */
 | 
						|
    readonly height: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Video scale type. By default, the {@link #VIDEO_SCALE_TYPE_FIT_CROP} will be used, for more
 | 
						|
     * information, refer to {@link #VideoScaleType} .
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     */
 | 
						|
    videoScaleType ?: VideoScaleType;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Set payback speed.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param speed playback speed, see @PlaybackSpeed .
 | 
						|
     */
 | 
						|
    setSpeed(speed: PlaybackSpeed): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * select a specified bitrate to playback, only valid for HLS protocol network stream. By default, the
 | 
						|
     * player will select the appropriate bitrate according to the network connection speed. The
 | 
						|
     * available bitrate list reported by {@link #on('availableBitrates')}. Set it to select
 | 
						|
     * a specified bitrate. If the specified bitrate is not in the list of available bitrate, the player
 | 
						|
     * will select the minimal and closest one from the available bitrate list.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param bitrate the playback bitrate must be expressed in bits per second.
 | 
						|
     */
 | 
						|
    setBitrate(bitrate: number): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Register or unregister listens for media playback events.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param type Type of the playback event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback stateChange event.
 | 
						|
     */
 | 
						|
    on(type: 'stateChange', callback: (state: AVPlayerState, reason: StateChangeReason) => void): void;
 | 
						|
    off(type: 'stateChange'): void;
 | 
						|
    /**
 | 
						|
     * Register or unregister listens for media playback events.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param type Type of the playback event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback volume event.
 | 
						|
     */
 | 
						|
    on(type: 'volumeChange', callback: Callback<number>): void;
 | 
						|
    off(type: 'volumeChange'): void;
 | 
						|
    /**
 | 
						|
     * Register or unregister listens for media playback events.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param type Type of the playback event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback end of stream
 | 
						|
     */
 | 
						|
    on(type: 'endOfStream', callback: Callback<void>): void;
 | 
						|
    off(type: 'endOfStream'): void;
 | 
						|
    /**
 | 
						|
     * Register or unregister listens for media playback events.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param type Type of the playback event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback seekDone event.
 | 
						|
     */
 | 
						|
    on(type: 'seekDone', callback: Callback<number>): void;
 | 
						|
    off(type: 'seekDone'): void;
 | 
						|
    /**
 | 
						|
     * Register or unregister listens for media playback events.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param type Type of the playback event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback speedDone event.
 | 
						|
     */
 | 
						|
    on(type: 'speedDone', callback: Callback<number>): void;
 | 
						|
    off(type: 'speedDone'): void;
 | 
						|
    /**
 | 
						|
     * Register or unregister listens for media playback events.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param type Type of the playback event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback setBitrateDone event.
 | 
						|
     */
 | 
						|
    on(type: 'bitrateDone', callback: Callback<number>): void;
 | 
						|
    off(type: 'bitrateDone'): void;
 | 
						|
    /**
 | 
						|
     * Register or unregister listens for media playback events.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param type Type of the playback event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback timeUpdate event.
 | 
						|
     */
 | 
						|
    on(type: 'timeUpdate', callback: Callback<number>): void;
 | 
						|
    off(type: 'timeUpdate'): void;
 | 
						|
    /**
 | 
						|
     * Register or unregister listens for media playback events.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param type Type of the playback event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback durationUpdate event.
 | 
						|
     */
 | 
						|
    on(type: 'durationUpdate', callback: Callback<number>): void;
 | 
						|
    off(type: 'durationUpdate'): void;
 | 
						|
    /**
 | 
						|
     * Register or unregister listens for video playback buffering events.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param type Type of the playback buffering update event to listen for.
 | 
						|
     * @param callback Callback used to listen for the buffering update event, return BufferingInfoType and the value.
 | 
						|
     */
 | 
						|
    on(type: 'bufferingUpdate', callback: (infoType: BufferingInfoType, value: number) => void): void;
 | 
						|
    off(type: 'bufferingUpdate'): void;
 | 
						|
    /**
 | 
						|
     * Register or unregister listens for start render video frame events.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param type Type of the playback event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback event return .
 | 
						|
     */
 | 
						|
    on(type: 'startRenderFrame', callback: Callback<void>): void;
 | 
						|
    off(type: 'startRenderFrame'): void;
 | 
						|
    /**
 | 
						|
     * Register or unregister listens for video size change event.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param type Type of the playback event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback event return video size.
 | 
						|
     */
 | 
						|
    on(type: 'videoSizeChange', callback: (width: number, height: number) => void): void;
 | 
						|
    off(type: 'videoSizeChange'): void;
 | 
						|
    /**
 | 
						|
     * Register or unregister listens for audio interrupt event, refer to {@link #audio.InterruptEvent}
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param type Type of the playback event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback event return audio interrupt info.
 | 
						|
     */
 | 
						|
    on(type: 'audioInterrupt', callback: (info: audio.InterruptEvent) => void): void;
 | 
						|
    off(type: 'audioInterrupt'): void;
 | 
						|
    /**
 | 
						|
     * Register or unregister listens for available bitrate list collect completed events for HLS protocol stream playback.
 | 
						|
     * This event will be reported after the {@link #prepare} called.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param type Type of the playback event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback event return available bitrate list.
 | 
						|
     */
 | 
						|
    on(type: 'availableBitrates', callback: (bitrates: Array<number>) => void): void;
 | 
						|
    off(type: 'availableBitrates'): void;
 | 
						|
    /**
 | 
						|
     * Register or unregister listens for playback error events.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVPlayer
 | 
						|
     * @param type Type of the playback error event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback error event.
 | 
						|
     * @throws { BusinessError } 201 - Permission denied.
 | 
						|
     * @throws { BusinessError } 401 - The parameter check failed.
 | 
						|
     * @throws { BusinessError } 801 - Capability not supported.
 | 
						|
     * @throws { BusinessError } 5400101 - No memory.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed.
 | 
						|
     * @throws { BusinessError } 5400103 - I/O error.
 | 
						|
     * @throws { BusinessError } 5400104 - Time out.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died.
 | 
						|
     * @throws { BusinessError } 5400106 - Unsupport format.
 | 
						|
     */
 | 
						|
    on(type: 'error', callback: ErrorCallback): void;
 | 
						|
    off(type: 'error'): void;
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Enumerates ErrorCode types, return in BusinessError::code
 | 
						|
   * @since 8
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
  enum MediaErrorCode {
 | 
						|
    /**
 | 
						|
     * operation success.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MSERR_OK = 0,
 | 
						|
 | 
						|
    /**
 | 
						|
     * malloc or new memory failed. maybe system have no memory.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MSERR_NO_MEMORY = 1,
 | 
						|
 | 
						|
    /**
 | 
						|
     * no permission for the operation.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MSERR_OPERATION_NOT_PERMIT = 2,
 | 
						|
 | 
						|
    /**
 | 
						|
     * invalid argument.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MSERR_INVALID_VAL = 3,
 | 
						|
 | 
						|
    /**
 | 
						|
     * an I/O error occurred.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MSERR_IO = 4,
 | 
						|
 | 
						|
    /**
 | 
						|
     * operation time out.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MSERR_TIMEOUT = 5,
 | 
						|
 | 
						|
    /**
 | 
						|
     * unknown error.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MSERR_UNKNOWN = 6,
 | 
						|
 | 
						|
    /**
 | 
						|
     * media service died.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MSERR_SERVICE_DIED = 7,
 | 
						|
 | 
						|
    /**
 | 
						|
     * operation is not permit in current state.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MSERR_INVALID_STATE = 8,
 | 
						|
 | 
						|
    /**
 | 
						|
     * operation is not supported in current version.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MSERR_UNSUPPORTED = 9,
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Enumerates buffering info type, for network playback.
 | 
						|
   * @since 8
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
  enum BufferingInfoType {
 | 
						|
    /**
 | 
						|
     * begin to buffering
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    BUFFERING_START = 1,
 | 
						|
 | 
						|
    /**
 | 
						|
     * end to buffering
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    BUFFERING_END = 2,
 | 
						|
 | 
						|
    /**
 | 
						|
     * buffering percent
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    BUFFERING_PERCENT = 3,
 | 
						|
 | 
						|
    /**
 | 
						|
     * cached duration in milliseconds
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    CACHED_DURATION = 4,
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Media file descriptor. The caller needs to ensure that the fd is valid and
 | 
						|
   * the offset and length are correct.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
  interface AVFileDescriptor {
 | 
						|
    /**
 | 
						|
     * The file descriptor of audio or video source from file system. The caller
 | 
						|
     * is responsible to close the file descriptor.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    fd: number
 | 
						|
 | 
						|
    /**
 | 
						|
     * The offset into the file where the data to be read, in bytes. By default,
 | 
						|
     * the offset is zero.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    offset?: number
 | 
						|
 | 
						|
    /**
 | 
						|
     * The length in bytes of the data to be read. By default, the length is the
 | 
						|
     * rest of bytes in the file from the offset.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    length?: number
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Describes audio playback states.
 | 
						|
   * @since 6
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
   * @deprecated since 9
 | 
						|
   * @useinstead ohos.multimedia.media/media.AVPlayerState
 | 
						|
   */
 | 
						|
  type AudioState = 'idle' | 'playing' | 'paused' | 'stopped' | 'error';
 | 
						|
 | 
						|
  /**
 | 
						|
   * Manages and plays audio. Before calling an AudioPlayer method, you must use createAudioPlayer()
 | 
						|
   * to create an AudioPlayer instance.
 | 
						|
   * @since 6
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
   * @deprecated since 9
 | 
						|
   * @useinstead ohos.multimedia.media/media.AVPlayer
 | 
						|
   */
 | 
						|
  interface AudioPlayer {
 | 
						|
    /**
 | 
						|
     * Starts audio playback.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#play
 | 
						|
     */
 | 
						|
    play(): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Pauses audio playback.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#pause
 | 
						|
     */
 | 
						|
    pause(): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Stops audio playback.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#stop
 | 
						|
     */
 | 
						|
    stop(): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Resets audio playback.
 | 
						|
     * @since 7
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#reset
 | 
						|
     */
 | 
						|
    reset(): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Jumps to the specified playback position.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @param timeMs Playback position to jump
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#seek
 | 
						|
     */
 | 
						|
    seek(timeMs: number): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Sets the volume.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @param vol Relative volume. The value ranges from 0.00 to 1.00. The value 1 indicates the maximum volume (100%).
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#setVolume
 | 
						|
     */
 | 
						|
    setVolume(vol: number): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Releases resources used for audio playback.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#release
 | 
						|
     */
 | 
						|
    release(): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Get all track infos in MediaDescription, should be called after data loaded callback.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @param callback async callback return track info in MediaDescription.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#getTrackDescription
 | 
						|
     */
 | 
						|
    getTrackDescription(callback: AsyncCallback<Array<MediaDescription>>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Get all track infos in MediaDescription, should be called after data loaded callback.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @returns A Promise instance used to return the track info in MediaDescription.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#getTrackDescription
 | 
						|
     */
 | 
						|
    getTrackDescription() : Promise<Array<MediaDescription>>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Listens for audio playback buffering events.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @param type Type of the playback buffering update event to listen for.
 | 
						|
     * @param callback Callback used to listen for the buffering update event, return BufferingInfoType and the value.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#event:bufferingUpdate
 | 
						|
     */
 | 
						|
    on(type: 'bufferingUpdate', callback: (infoType: BufferingInfoType, value: number) => void): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Audio media URI. Mainstream audio formats are supported.
 | 
						|
     * local:fd://XXX, file://XXX. network:http://xxx
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @permission ohos.permission.READ_MEDIA or ohos.permission.INTERNET
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#url
 | 
						|
     */
 | 
						|
    src: string;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Audio file descriptor. Mainstream audio formats are supported.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#fdSrc
 | 
						|
     */
 | 
						|
    fdSrc: AVFileDescriptor;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Whether to loop audio playback. The value true means to loop playback.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#loop
 | 
						|
     */
 | 
						|
    loop: boolean;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Describes audio interrupt mode, refer to {@link #audio.InterruptMode}. If it is not
 | 
						|
     * set, the default mode will be used. Set it before calling the {@link #play()} in the
 | 
						|
     * first time in order for the interrupt mode to become effective thereafter.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#audioInterruptMode
 | 
						|
     */
 | 
						|
    audioInterruptMode ?: audio.InterruptMode;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Current playback position.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#currentTime
 | 
						|
     */
 | 
						|
    readonly currentTime: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Playback duration, When the data source does not support seek, it returns - 1, such as a live broadcast scenario.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#duration
 | 
						|
     */
 | 
						|
    readonly duration: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Playback state.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#state
 | 
						|
     */
 | 
						|
    readonly state: AudioState;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Listens for audio playback events.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @param type Type of the playback event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback event.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#event:stateChange
 | 
						|
     */
 | 
						|
    on(type: 'play' | 'pause' | 'stop' | 'reset' | 'dataLoad' | 'finish' | 'volumeChange', callback: () => void): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Listens for audio playback events.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @param type Type of the playback event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback event.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#event:timeUpdate
 | 
						|
     */
 | 
						|
    on(type: 'timeUpdate', callback: Callback<number>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Listens for audio interrupt event, refer to {@link #audio.InterruptEvent}
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @param type Type of the playback event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback event return audio interrupt info.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#event:audioInterrupt
 | 
						|
     */
 | 
						|
    on(type: 'audioInterrupt', callback: (info: audio.InterruptEvent) => void): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Listens for playback error events.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioPlayer
 | 
						|
     * @param type Type of the playback error event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback error event.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#event:error
 | 
						|
     */
 | 
						|
    on(type: 'error', callback: ErrorCallback): void;
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
  * Describes media recorder states.
 | 
						|
  * @since 9
 | 
						|
  * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
  */
 | 
						|
  type AVRecorderState = 'idle' | 'prepared' | 'started' | 'paused' | 'stopped' | 'released' | 'error';
 | 
						|
 | 
						|
  /**
 | 
						|
   * Manages and record audio/video. Before calling an AVRecorder method, you must use createAVRecorder()
 | 
						|
   * to create an AVRecorder instance.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
   */
 | 
						|
  interface AVRecorder {
 | 
						|
    /**
 | 
						|
     * Prepares for recording.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     * @param config Recording parameters.
 | 
						|
     * @param callback A callback instance used to return when prepare completed.
 | 
						|
     * @permission ohos.permission.MICROPHONE
 | 
						|
     * @throws { BusinessError } 201 - Permission denied. Return by callback.
 | 
						|
     * @throws { BusinessError } 401 - Parameter error. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400102 - Operate not permit. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by callback.
 | 
						|
     */
 | 
						|
    prepare(config: AVRecorderConfig, callback: AsyncCallback<void>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Prepares for recording.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     * @param config Recording parameters.
 | 
						|
     * @returns A Promise instance used to return when prepare completed.
 | 
						|
     * @permission ohos.permission.MICROPHONE
 | 
						|
     * @throws { BusinessError } 201 - Permission denied. Return by promise.
 | 
						|
     * @throws { BusinessError } 401 - Parameter error. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400102 - Operate not permit. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by promise.
 | 
						|
     */
 | 
						|
    prepare(config: AVRecorderConfig): Promise<void>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Get input surface.it must be called between prepare completed and start.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     * @param callback Callback used to return the input surface id in string.
 | 
						|
     * @throws { BusinessError } 5400102 - Operate not permit. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400103 - IO error. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by callback.
 | 
						|
     */
 | 
						|
    getInputSurface(callback: AsyncCallback<string>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Get input surface. it must be called between prepare completed and start.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     * @returns A Promise instance used to return the input surface id in string.
 | 
						|
     * @throws { BusinessError } 5400102 - Operate not permit. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400103 - IO error. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by promise.
 | 
						|
     */
 | 
						|
    getInputSurface(): Promise<string>;
 | 
						|
    
 | 
						|
    /**
 | 
						|
     * Start AVRecorder, it will to started state.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     * @param callback A callback instance used to return when start completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operate not permit. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400103 - IO error. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by callback.
 | 
						|
     */
 | 
						|
    start(callback: AsyncCallback<void>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Start AVRecorder, it will to started state.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     * @returns A Promise instance used to return when start completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operate not permit. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400103 - IO error. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by promise.
 | 
						|
     */
 | 
						|
    start(): Promise<void>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Start AVRecorder, it will to paused state.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     * @param callback A callback instance used to return when pause completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operate not permit. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400103 - IO error. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by callback.
 | 
						|
     */
 | 
						|
    pause(callback: AsyncCallback<void>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Start AVRecorder, it will to paused state.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     * @returns A Promise instance used to return when pause completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operate not permit. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400103 - IO error. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by promise.
 | 
						|
     */
 | 
						|
    pause(): Promise<void>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Resume AVRecorder, it will to started state.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     * @param callback A callback instance used to return when resume completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operate not permit. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400103 - IO error. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by callback.
 | 
						|
     */
 | 
						|
    resume(callback: AsyncCallback<void>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Resume AVRecorder, it will to started state.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     * @returns A Promise instance used to return when resume completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operate not permit. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400103 - IO error. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by promise.
 | 
						|
     */
 | 
						|
    resume(): Promise<void>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Stop AVRecorder, it will to stopped state.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     * @param callback A callback instance used to return when stop completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operate not permit. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400103 - IO error. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by callback.
 | 
						|
     */
 | 
						|
    stop(callback: AsyncCallback<void>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Stop AVRecorder, it will to stopped state.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     * @returns A Promise instance used to return when stop completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operate not permit. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400103 - IO error. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by promise.
 | 
						|
     */
 | 
						|
    stop(): Promise<void>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Reset AVRecorder, it will to idle state.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     * @param callback A callback instance used to return when reset completed.
 | 
						|
     * @throws { BusinessError } 5400103 - IO error. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by callback.
 | 
						|
     */
 | 
						|
    reset(callback: AsyncCallback<void>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Reset AVRecorder, it will to idle state.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     * @returns A Promise instance used to return when reset completed.
 | 
						|
     * @throws { BusinessError } 5400103 - IO error. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by promise.
 | 
						|
     */
 | 
						|
    reset(): Promise<void>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Releases resources used for AVRecorder, it will to released state.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     * @param callback A callback instance used to return when release completed.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by callback.
 | 
						|
     */
 | 
						|
    release(callback: AsyncCallback<void>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Releases resources used for AVRecorder, it will to released state.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     * @returns A Promise instance used to return when release completed.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by callback.
 | 
						|
     */
 | 
						|
    release(): Promise<void>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Recorder state.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    readonly state: AVRecorderState;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Listens for recording stateChange events.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     * @param type Type of the recording event to listen for.
 | 
						|
     * @param callback Callback used to listen for the recorder stateChange event.
 | 
						|
     * @throws { BusinessError } 5400103 - IO error. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by callback.
 | 
						|
     */
 | 
						|
    on(type: 'stateChange', callback: (state: AVRecorderState, reason: StateChangeReason) => void): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Listens for recording error events.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     * @param type Type of the recording error event to listen for.
 | 
						|
     * @param callback Callback used to listen for the recorder error event.
 | 
						|
     * @throws { BusinessError } 201 - Permission denied.
 | 
						|
     * @throws { BusinessError } 401 - The parameter check failed.
 | 
						|
     * @throws { BusinessError } 801 - Capability not supported.
 | 
						|
     * @throws { BusinessError } 5400101 - No memory.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed.
 | 
						|
     * @throws { BusinessError } 5400103 - I/O error.
 | 
						|
     * @throws { BusinessError } 5400104 - Time out.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died.
 | 
						|
     * @throws { BusinessError } 5400106 - Unsupport format.
 | 
						|
     */
 | 
						|
    on(type: 'error', callback: ErrorCallback): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Cancel Listens for recording stateChange events.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     * @param type Type of the recording stateChange event to listen for.
 | 
						|
     */
 | 
						|
    off(type: 'stateChange'): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Cancel Listens for recording error events.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     * @param type Type of the recording error event to listen for.
 | 
						|
     */
 | 
						|
    off(type: 'error'): void;
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Enumerates audio encoding formats, it will be deprecated after API8, use @CodecMimeType to replace.
 | 
						|
   * @since 6
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
   * @deprecated since 8
 | 
						|
   * @useinstead ohos.multimedia.media/media.CodecMimeType
 | 
						|
   */
 | 
						|
  enum AudioEncoder {
 | 
						|
    /**
 | 
						|
     * Default audio encoding format, which is AMR-NB.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     */
 | 
						|
    DEFAULT = 0,
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the AMR-NB audio encoding format.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     */
 | 
						|
    AMR_NB = 1,
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the AMR-WB audio encoding format.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     */
 | 
						|
    AMR_WB = 2,
 | 
						|
 | 
						|
    /**
 | 
						|
     * Advanced Audio Coding Low Complexity (AAC-LC).
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     */
 | 
						|
    AAC_LC = 3,
 | 
						|
 | 
						|
    /**
 | 
						|
     * High-Efficiency Advanced Audio Coding (HE-AAC).
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     */
 | 
						|
    HE_AAC = 4
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Enumerates audio output formats, it will be deprecated after API8, use @ContainerFormatType to replace.
 | 
						|
   * @since 6
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
   * @deprecated since 8
 | 
						|
   * @useinstead ohos.multimedia.media/media.ContainerFormatType
 | 
						|
   */
 | 
						|
  enum AudioOutputFormat {
 | 
						|
    /**
 | 
						|
     * Default audio output format, which is Moving Pictures Expert Group 4 (MPEG-4).
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     */
 | 
						|
    DEFAULT = 0,
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the Moving Picture Experts Group-4 (MPEG4) media format.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     */
 | 
						|
    MPEG_4 = 2,
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the Adaptive Multi-Rate Narrowband (AMR-NB) media format.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     */
 | 
						|
    AMR_NB = 3,
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the Adaptive Multi-Rate Wideband (AMR-WB) media format.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     */
 | 
						|
    AMR_WB = 4,
 | 
						|
 | 
						|
    /**
 | 
						|
     * Audio Data Transport Stream (ADTS), a transmission stream format of Advanced Audio Coding (AAC) audio.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     */
 | 
						|
    AAC_ADTS = 6
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Provides the geographical location definitions for media resources.
 | 
						|
   * @since 6
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
  interface Location {
 | 
						|
    /**
 | 
						|
     * Latitude.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    latitude: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Longitude.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    longitude: number;
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Provides the audio recorder configuration definitions.
 | 
						|
   * @since 6
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
   * @deprecated since 9
 | 
						|
   * @useinstead ohos.multimedia.media/media.AVRecorderConfig
 | 
						|
   */
 | 
						|
  interface AudioRecorderConfig {
 | 
						|
    /**
 | 
						|
     * Audio encoding format. The default value is DEFAULT, it will be deprecated after API8.
 | 
						|
     * use "audioEncoderMime" instead.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     * @deprecated since 8
 | 
						|
     * @useinstead ohos.multimedia.media/media.AudioRecorderConfig.audioEncoderMime
 | 
						|
     */
 | 
						|
    audioEncoder?: AudioEncoder;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Audio encoding bit rate.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     * @deprecated since 9
 | 
						|
     */
 | 
						|
    audioEncodeBitRate?: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Audio sampling rate.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     * @deprecated since 9
 | 
						|
     */
 | 
						|
    audioSampleRate?: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Number of audio channels.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     * @deprecated since 9
 | 
						|
     */
 | 
						|
    numberOfChannels?: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Audio output format. The default value is DEFAULT, it will be deprecated after API8.
 | 
						|
     * it will be replaced with "fileFormat".
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     * @deprecated since 8
 | 
						|
     * @useinstead ohos.multimedia.media/media.AudioRecorderConfig.fileFormat
 | 
						|
     */
 | 
						|
    format?: AudioOutputFormat;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Audio output uri.support two kind of uri now.
 | 
						|
     * format like: scheme + "://" + "context".
 | 
						|
     * file:  file://path
 | 
						|
     * fd:    fd://fd
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     * @deprecated since 9
 | 
						|
     */
 | 
						|
    uri: string;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Geographical location information.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     * @deprecated since 9
 | 
						|
     */
 | 
						|
    location?: Location;
 | 
						|
 | 
						|
    /**
 | 
						|
     * audio encoding format MIME. it used to replace audioEncoder.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     * @deprecated since 9
 | 
						|
     */
 | 
						|
    audioEncoderMime?: CodecMimeType;
 | 
						|
    /**
 | 
						|
     * output file format. see @ContainerFormatType , it used to replace "format".
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     * @deprecated since 9
 | 
						|
     */
 | 
						|
    fileFormat?: ContainerFormatType;
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Manages and record audio. Before calling an AudioRecorder method, you must use createAudioRecorder()
 | 
						|
   * to create an AudioRecorder instance.
 | 
						|
   * @since 6
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
   * @deprecated since 9
 | 
						|
   * @useinstead ohos.multimedia.media/media.AVRecorder
 | 
						|
   */
 | 
						|
  interface AudioRecorder {
 | 
						|
    /**
 | 
						|
     * Prepares for recording.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     * @param config Recording parameters.
 | 
						|
     * @permission ohos.permission.MICROPHONE
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVRecorder#prepare
 | 
						|
     */
 | 
						|
    prepare(config: AudioRecorderConfig): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Starts audio recording.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVRecorder#start
 | 
						|
     */
 | 
						|
    start(): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Pauses audio recording.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVRecorder#pause
 | 
						|
     */
 | 
						|
    pause(): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Resumes audio recording.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVRecorder#resume
 | 
						|
     */
 | 
						|
    resume(): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Stops audio recording.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVRecorder#stop
 | 
						|
     */
 | 
						|
    stop(): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Releases resources used for audio recording.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVRecorder#release
 | 
						|
     */
 | 
						|
    release(): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Resets audio recording.
 | 
						|
     * Before resetting audio recording, you must call stop() to stop recording. After audio recording is reset,
 | 
						|
     * you must call prepare() to set the recording configurations for another recording.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVRecorder#reset
 | 
						|
     */
 | 
						|
    reset(): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Listens for audio recording events.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     * @param type Type of the audio recording event to listen for.
 | 
						|
     * @param callback Callback used to listen for the audio recording event.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVRecorder#on
 | 
						|
     */
 | 
						|
    on(type: 'prepare' | 'start' | 'pause' | 'resume' | 'stop' | 'release' | 'reset', callback: () => void): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Listens for audio recording error events.
 | 
						|
     * @since 6
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AudioRecorder
 | 
						|
     * @param type Type of the audio recording error event to listen for.
 | 
						|
     * @param callback Callback used to listen for the audio recording error event.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVRecorder#on
 | 
						|
     */
 | 
						|
    on(type: 'error', callback: ErrorCallback): void;
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
  * The maintenance of this interface has been stopped since version api 9. Please use AVRecorderState.
 | 
						|
  * Describes video recorder states.
 | 
						|
  * @since 9
 | 
						|
  * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
  * @systemapi
 | 
						|
  */
 | 
						|
  type VideoRecordState = 'idle' | 'prepared' | 'playing' | 'paused' | 'stopped' | 'error';
 | 
						|
 | 
						|
  /**
 | 
						|
   * The maintenance of this interface has been stopped since version api 9. Please use AVRecorder.
 | 
						|
   * Manages and record video. Before calling an VideoRecorder method, you must use createVideoRecorder()
 | 
						|
   * to create an VideoRecorder instance.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
   * @systemapi
 | 
						|
   */
 | 
						|
  interface VideoRecorder {
 | 
						|
    /**
 | 
						|
     * Prepares for recording.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @param config Recording parameters.
 | 
						|
     * @param callback A callback instance used to return when prepare completed.
 | 
						|
     * @permission ohos.permission.MICROPHONE
 | 
						|
     * @throws { BusinessError } 201 - Permission denied. Return by callback.
 | 
						|
     * @throws { BusinessError } 401 - Parameter error. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by callback.
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    prepare(config: VideoRecorderConfig, callback: AsyncCallback<void>): void;
 | 
						|
    /**
 | 
						|
     * Prepares for recording.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @param config Recording parameters.
 | 
						|
     * @returns A Promise instance used to return when prepare completed.
 | 
						|
     * @permission ohos.permission.MICROPHONE
 | 
						|
     * @throws { BusinessError } 201 - Permission denied. Return by promise.
 | 
						|
     * @throws { BusinessError } 401 - Parameter error. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by promise.
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    prepare(config: VideoRecorderConfig): Promise<void>;
 | 
						|
    /**
 | 
						|
     * get input surface.it must be called between prepare completed and start.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @param callback Callback used to return the input surface id in string.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400103 - I/O error. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by callback.
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    getInputSurface(callback: AsyncCallback<string>): void;
 | 
						|
    /**
 | 
						|
     * get input surface. it must be called between prepare completed and start.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @returns A Promise instance used to return the input surface id in string.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400103 - I/O error. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by promise.
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    getInputSurface(): Promise<string>;
 | 
						|
    /**
 | 
						|
     * Starts video recording.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @param callback A callback instance used to return when start completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400103 - I/O error. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by callback.
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    start(callback: AsyncCallback<void>): void;
 | 
						|
    /**
 | 
						|
     * Starts video recording.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @returns A Promise instance used to return when start completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400103 - I/O error. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by promise.
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    start(): Promise<void>;
 | 
						|
    /**
 | 
						|
     * Pauses video recording.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @param callback A callback instance used to return when pause completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400103 - I/O error. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by callback.
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    pause(callback: AsyncCallback<void>): void;
 | 
						|
    /**
 | 
						|
     * Pauses video recording.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @returns A Promise instance used to return when pause completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400103 - I/O error. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by promise.
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    pause(): Promise<void>;
 | 
						|
    /**
 | 
						|
     * Resumes video recording.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @param callback A callback instance used to return when resume completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400103 - I/O error. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by callback.
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    resume(callback: AsyncCallback<void>): void;
 | 
						|
    /**
 | 
						|
     * Resumes video recording.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @returns A Promise instance used to return when resume completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400103 - I/O error. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by promise.
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    resume(): Promise<void>;
 | 
						|
    /**
 | 
						|
     * Stops video recording.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @param callback A callback instance used to return when stop completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400103 - I/O error. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by callback.
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    stop(callback: AsyncCallback<void>): void;
 | 
						|
    /**
 | 
						|
     * Stops video recording.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @returns A Promise instance used to return when stop completed.
 | 
						|
     * @throws { BusinessError } 5400102 - Operation not allowed. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400103 - I/O error. Return by promise.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by promise.
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    stop(): Promise<void>;
 | 
						|
    /**
 | 
						|
     * Releases resources used for video recording.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @param callback A callback instance used to return when release completed.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by callback.
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    release(callback: AsyncCallback<void>): void;
 | 
						|
    /**
 | 
						|
      * Releases resources used for video recording.
 | 
						|
      * @since 9
 | 
						|
      * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
      * @returns A Promise instance used to return when release completed.
 | 
						|
      * @throws { BusinessError } 5400105 - Service died. Return by callback.
 | 
						|
      * @systemapi
 | 
						|
      */
 | 
						|
    release(): Promise<void>;
 | 
						|
    /**
 | 
						|
     * Resets video recording.
 | 
						|
     * Before resetting video recording, you must call stop() to stop recording. After video recording is reset,
 | 
						|
     * you must call prepare() to set the recording configurations for another recording.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @param callback A callback instance used to return when reset completed.
 | 
						|
     * @throws { BusinessError } 5400103 - I/O error. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by callback.
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    reset(callback: AsyncCallback<void>): void;
 | 
						|
     /**
 | 
						|
      * Resets video recording.
 | 
						|
      * Before resetting video recording, you must call stop() to stop recording. After video recording is reset,
 | 
						|
      * you must call prepare() to set the recording configurations for another recording.
 | 
						|
      * @since 9
 | 
						|
      * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
      * @returns A Promise instance used to return when reset completed.
 | 
						|
      * @throws { BusinessError } 5400103 - I/O error. Return by promise.
 | 
						|
      * @throws { BusinessError } 5400105 - Service died. Return by promise.
 | 
						|
      * @systemapi
 | 
						|
      */
 | 
						|
    reset(): Promise<void>;
 | 
						|
    /**
 | 
						|
     * Listens for video recording error events.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @param type Type of the video recording error event to listen for.
 | 
						|
     * @param callback Callback used to listen for the video recording error event.
 | 
						|
     * @throws { BusinessError } 5400103 - I/O error. Return by callback.
 | 
						|
     * @throws { BusinessError } 5400105 - Service died. Return by callback.
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    on(type: 'error', callback: ErrorCallback): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * video recorder state.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
     readonly state: VideoRecordState;
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Describes video playback states.
 | 
						|
   * @since 8
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
   * @deprecated since 9
 | 
						|
   * @useinstead ohos.multimedia.media/media.AVPlayerState
 | 
						|
   */
 | 
						|
  type VideoPlayState = 'idle' | 'prepared' | 'playing' | 'paused' | 'stopped' | 'error';
 | 
						|
 | 
						|
  /**
 | 
						|
   * Enumerates playback speed.
 | 
						|
   * @since 8
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
   */
 | 
						|
  enum PlaybackSpeed {
 | 
						|
    /**
 | 
						|
     * playback at 0.75x normal speed
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     */
 | 
						|
    SPEED_FORWARD_0_75_X = 0,
 | 
						|
    /**
 | 
						|
     * playback at normal speed
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     */
 | 
						|
    SPEED_FORWARD_1_00_X = 1,
 | 
						|
    /**
 | 
						|
     * playback at 1.25x normal speed
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     */
 | 
						|
    SPEED_FORWARD_1_25_X = 2,
 | 
						|
    /**
 | 
						|
     * playback at 1.75x normal speed
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     */
 | 
						|
    SPEED_FORWARD_1_75_X = 3,
 | 
						|
    /**
 | 
						|
     * playback at 2.0x normal speed
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     */
 | 
						|
    SPEED_FORWARD_2_00_X = 4,
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Manages and plays video. Before calling an video method, you must use createVideoPlayer() to create an VideoPlayer
 | 
						|
   * instance.
 | 
						|
   * @since 8
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
   * @deprecated since 9
 | 
						|
   * @useinstead ohos.multimedia.media/media.AVPlayer
 | 
						|
   */
 | 
						|
  interface VideoPlayer {
 | 
						|
    /**
 | 
						|
     * Set display surface.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param surfaceId surface id, video player will use this id get a surface instance.
 | 
						|
     * @returns A Promise instance used to return when release output buffer completed.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#surfaceId
 | 
						|
     */
 | 
						|
    setDisplaySurface(surfaceId: string, callback: AsyncCallback<void>): void;
 | 
						|
    /**
 | 
						|
     * Set display surface.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param surfaceId surface id, video player will use this id get a surface instance.
 | 
						|
     * @returns A Promise instance used to return when release output buffer completed.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#surfaceId
 | 
						|
     */
 | 
						|
    setDisplaySurface(surfaceId: string): Promise<void>;
 | 
						|
    /**
 | 
						|
     * Prepare video playback, it will request resource for playing.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param callback A callback instance used to return when prepare completed.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#prepare
 | 
						|
     */
 | 
						|
    prepare(callback: AsyncCallback<void>): void;
 | 
						|
    /**
 | 
						|
     * Prepare video playback, it will request resource for playing.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @returns A Promise instance used to return when prepare completed.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#prepare
 | 
						|
     */
 | 
						|
    prepare(): Promise<void>;
 | 
						|
    /**
 | 
						|
     * Starts video playback.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param callback A callback instance used to return when start completed.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#play
 | 
						|
     */
 | 
						|
    play(callback: AsyncCallback<void>): void;
 | 
						|
    /**
 | 
						|
     * Starts video playback.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @returns A Promise instance used to return when start completed.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#play
 | 
						|
     */
 | 
						|
    play(): Promise<void>;
 | 
						|
    /**
 | 
						|
     * Pauses video playback.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param callback A callback instance used to return when pause completed.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#pause
 | 
						|
     */
 | 
						|
    pause(callback: AsyncCallback<void>): void;
 | 
						|
    /**
 | 
						|
     * Pauses video playback.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @returns A Promise instance used to return when pause completed.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#pause
 | 
						|
     */
 | 
						|
    pause(): Promise<void>;
 | 
						|
    /**
 | 
						|
     * Stops video playback.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param callback A callback instance used to return when stop completed.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#stop
 | 
						|
     */
 | 
						|
    stop(callback: AsyncCallback<void>): void;
 | 
						|
    /**
 | 
						|
     * Stops video playback.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @returns A Promise instance used to return when stop completed.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#stop
 | 
						|
     */
 | 
						|
    stop(): Promise<void>;
 | 
						|
    /**
 | 
						|
     * Resets video playback, it will release the resource.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param callback A callback instance used to return when reset completed.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#reset
 | 
						|
     */
 | 
						|
    reset(callback: AsyncCallback<void>): void;
 | 
						|
    /**
 | 
						|
     * Resets video playback, it will release the resource.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @returns A Promise instance used to return when reset completed.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#reset
 | 
						|
     */
 | 
						|
    reset(): Promise<void>;
 | 
						|
    /**
 | 
						|
     * Jumps to the specified playback position by default SeekMode(SEEK_PREV_SYNC),
 | 
						|
     * the performance may be not the best.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param timeMs Playback position to jump
 | 
						|
     * @param callback A callback instance used to return when seek completed
 | 
						|
     * and return the seeking position result.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#seek
 | 
						|
     */
 | 
						|
    seek(timeMs: number, callback: AsyncCallback<number>): void;
 | 
						|
    /**
 | 
						|
     * Jumps to the specified playback position.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param timeMs Playback position to jump
 | 
						|
     * @param mode seek mode, see @SeekMode .
 | 
						|
     * @param callback A callback instance used to return when seek completed
 | 
						|
     * and return the seeking position result.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#seek
 | 
						|
     */
 | 
						|
    seek(timeMs: number, mode:SeekMode, callback: AsyncCallback<number>): void;
 | 
						|
    /**
 | 
						|
     * Jumps to the specified playback position.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param timeMs Playback position to jump
 | 
						|
     * @param mode seek mode, see @SeekMode .
 | 
						|
     * @returns A Promise instance used to return when seek completed
 | 
						|
     * and return the seeking position result.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#seek
 | 
						|
     */
 | 
						|
    seek(timeMs: number, mode?:SeekMode): Promise<number>;
 | 
						|
    /**
 | 
						|
     * Sets the volume.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param vol Relative volume. The value ranges from 0.00 to 1.00. The value 1 indicates the maximum volume (100%).
 | 
						|
     * @param callback A callback instance used to return when set volume completed.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#setVolume
 | 
						|
     */
 | 
						|
    setVolume(vol: number, callback: AsyncCallback<void>): void;
 | 
						|
    /**
 | 
						|
     * Sets the volume.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param vol Relative volume. The value ranges from 0.00 to 1.00. The value 1 indicates the maximum volume (100%).
 | 
						|
     * @returns A Promise instance used to return when set volume completed.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#setVolume
 | 
						|
     */
 | 
						|
    setVolume(vol: number): Promise<void>;
 | 
						|
    /**
 | 
						|
     * Releases resources used for video playback.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param callback A callback instance used to return when release completed.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#release
 | 
						|
     */
 | 
						|
    release(callback: AsyncCallback<void>): void;
 | 
						|
    /**
 | 
						|
     * Releases resources used for video playback.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @returns A Promise instance used to return when release completed.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#release
 | 
						|
     */
 | 
						|
    release(): Promise<void>;
 | 
						|
    /**
 | 
						|
     * Get all track infos in MediaDescription, should be called after data loaded callback.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param callback async callback return track info in MediaDescription.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#getTrackDescription
 | 
						|
     */
 | 
						|
    getTrackDescription(callback: AsyncCallback<Array<MediaDescription>>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Get all track infos in MediaDescription, should be called after data loaded callback.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @returns A Promise instance used to return the track info in MediaDescription.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#getTrackDescription
 | 
						|
     */
 | 
						|
    getTrackDescription() : Promise<Array<MediaDescription>>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * media url. Mainstream video formats are supported.
 | 
						|
     * local:fd://XXX, file://XXX. network:http://xxx
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#url
 | 
						|
     */
 | 
						|
    url: string;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Video file descriptor. Mainstream video formats are supported.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#fdSrc
 | 
						|
     */
 | 
						|
    fdSrc: AVFileDescriptor;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Whether to loop video playback. The value true means to loop playback.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#loop
 | 
						|
     */
 | 
						|
    loop: boolean;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Current playback position.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#currentTime
 | 
						|
     */
 | 
						|
    readonly currentTime: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Playback duration, if -1 means cannot seek.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#duration
 | 
						|
     */
 | 
						|
    readonly duration: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Playback state.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#state
 | 
						|
     */
 | 
						|
    readonly state: VideoPlayState;
 | 
						|
 | 
						|
    /**
 | 
						|
     * video width, valid after prepared.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#width
 | 
						|
     */
 | 
						|
    readonly width: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * video height, valid after prepared.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#height
 | 
						|
     */
 | 
						|
    readonly height: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Describes audio interrupt mode, refer to {@link #audio.InterruptMode}. If it is not
 | 
						|
     * set, the default mode will be used. Set it before calling the {@link #play()} in the
 | 
						|
     * first time in order for the interrupt mode to become effective thereafter.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#audioInterruptMode
 | 
						|
     */
 | 
						|
    audioInterruptMode ?: audio.InterruptMode;
 | 
						|
 | 
						|
    /**
 | 
						|
     * video scale type. By default, the {@link #VIDEO_SCALE_TYPE_FIT_CROP} will be used, for more
 | 
						|
     * information, refer to {@link #VideoScaleType}
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#videoScaleType
 | 
						|
     */
 | 
						|
    videoScaleType ?: VideoScaleType;
 | 
						|
 | 
						|
    /**
 | 
						|
     * set payback speed.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param speed playback speed, see @PlaybackSpeed .
 | 
						|
     * @param callback Callback used to return actually speed.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#setSpeed
 | 
						|
     */
 | 
						|
    setSpeed(speed:number, callback: AsyncCallback<number>): void;
 | 
						|
    /**
 | 
						|
     * set output surface.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param speed playback speed, see @PlaybackSpeed .
 | 
						|
     * @returns A Promise instance used to return actually speed.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#setSpeed
 | 
						|
     */
 | 
						|
    setSpeed(speed:number): Promise<number>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Listens for video playback completed events.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param type Type of the playback event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback event return .
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#event:stateChange
 | 
						|
     */
 | 
						|
    on(type: 'playbackCompleted', callback: Callback<void>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Listens for video playback buffering events.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param type Type of the playback buffering update event to listen for.
 | 
						|
     * @param callback Callback used to listen for the buffering update event, return BufferingInfoType and the value.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#event:bufferingUpdate
 | 
						|
     */
 | 
						|
    on(type: 'bufferingUpdate', callback: (infoType: BufferingInfoType, value: number) => void): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Listens for start render video frame events.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param type Type of the playback event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback event return.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#event:startRenderFrame
 | 
						|
     */
 | 
						|
    on(type: 'startRenderFrame', callback: Callback<void>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Listens for video size changed event.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param type Type of the playback event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback event return video size.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#event:videoSizeChange
 | 
						|
     */
 | 
						|
    on(type: 'videoSizeChanged', callback: (width: number, height: number) => void): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Listens for audio interrupt event, refer to {@link #audio.InterruptEvent}
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param type Type of the playback event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback event return audio interrupt info.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#event:audioInterrupt
 | 
						|
     */
 | 
						|
    on(type: 'audioInterrupt', callback: (info: audio.InterruptEvent) => void): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Listens for playback error events.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     * @param type Type of the playback error event to listen for.
 | 
						|
     * @param callback Callback used to listen for the playback error event.
 | 
						|
     * @deprecated since 9
 | 
						|
     * @useinstead ohos.multimedia.media/media.AVPlayer#event:error
 | 
						|
     */
 | 
						|
    on(type: 'error', callback: ErrorCallback): void;
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Enumerates video scale type.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
   */
 | 
						|
  enum VideoScaleType {
 | 
						|
    /**
 | 
						|
     * The content is stretched to the fit the display surface rendering area. When
 | 
						|
     * the aspect ratio of the content is not same as the display surface, the aspect
 | 
						|
     * of the content is not maintained. This is the default scale type.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     */
 | 
						|
    VIDEO_SCALE_TYPE_FIT = 0,
 | 
						|
 | 
						|
    /**
 | 
						|
     * The content is stretched to the fit the display surface rendering area. When
 | 
						|
     * the aspect ratio of the content is not the same as the display surface, content's
 | 
						|
     * aspect ratio is maintained and the content is cropped to fit the display surface.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoPlayer
 | 
						|
     */
 | 
						|
    VIDEO_SCALE_TYPE_FIT_CROP = 1,
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Enumerates container format type(The abbreviation for 'container format type' is CFT).
 | 
						|
   * @since 8
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
  enum ContainerFormatType {
 | 
						|
    /**
 | 
						|
     * A video container format type mp4.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    CFT_MPEG_4 = "mp4",
 | 
						|
 | 
						|
    /**
 | 
						|
     * A audio container format type m4a.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    CFT_MPEG_4A = "m4a",
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Enumerates media data type.
 | 
						|
   * @since 8
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
  enum MediaType {
 | 
						|
    /**
 | 
						|
     * track is audio.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MEDIA_TYPE_AUD = 0,
 | 
						|
    /**
 | 
						|
     * track is video.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MEDIA_TYPE_VID = 1,
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Enumerates media description key.
 | 
						|
   * @since 8
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
  enum MediaDescriptionKey {
 | 
						|
    /**
 | 
						|
     * key for track index, value type is number.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MD_KEY_TRACK_INDEX = "track_index",
 | 
						|
 | 
						|
    /**
 | 
						|
     * key for track type, value type is number, see @MediaType.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MD_KEY_TRACK_TYPE = "track_type",
 | 
						|
 | 
						|
    /**
 | 
						|
     * key for codec mime type, value type is string.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MD_KEY_CODEC_MIME = "codec_mime",
 | 
						|
 | 
						|
    /**
 | 
						|
     * key for duration, value type is number.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MD_KEY_DURATION = "duration",
 | 
						|
 | 
						|
    /**
 | 
						|
     * key for bitrate, value type is number.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MD_KEY_BITRATE = "bitrate",
 | 
						|
 | 
						|
    /**
 | 
						|
     * key for video width, value type is number.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MD_KEY_WIDTH = "width",
 | 
						|
 | 
						|
    /**
 | 
						|
     * key for video height, value type is number.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MD_KEY_HEIGHT = "height",
 | 
						|
 | 
						|
    /**
 | 
						|
     * key for video frame rate, value type is number.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MD_KEY_FRAME_RATE = "frame_rate",
 | 
						|
 | 
						|
    /**
 | 
						|
     * key for audio channel count, value type is number
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MD_KEY_AUD_CHANNEL_COUNT = "channel_count",
 | 
						|
 | 
						|
    /**
 | 
						|
     * key for audio sample rate, value type is number
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    MD_KEY_AUD_SAMPLE_RATE = "sample_rate",
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Provides the video recorder profile definitions.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
   * @systemapi
 | 
						|
   */
 | 
						|
  interface VideoRecorderProfile {
 | 
						|
    /**
 | 
						|
     * Indicates the audio bit rate.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    readonly audioBitrate: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the number of audio channels.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    readonly audioChannels: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the audio encoding format.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    readonly audioCodec: CodecMimeType;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the audio sampling rate.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    readonly audioSampleRate: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the output file format.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    readonly fileFormat: ContainerFormatType;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the video bit rate.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    readonly videoBitrate: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the video encoding format.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    readonly videoCodec: CodecMimeType;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the video width.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    readonly videoFrameWidth: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the video height.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    readonly videoFrameHeight: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the video frame rate.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    readonly videoFrameRate: number;
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Enumerates audio source type for recorder.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
   */
 | 
						|
  enum AudioSourceType {
 | 
						|
    /**
 | 
						|
     * Default audio source type.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    AUDIO_SOURCE_TYPE_DEFAULT = 0,
 | 
						|
    /**
 | 
						|
     * Source type mic.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    AUDIO_SOURCE_TYPE_MIC = 1,
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Enumerates video source type for recorder.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
   */
 | 
						|
  enum VideoSourceType {
 | 
						|
    /**
 | 
						|
     * Surface raw data.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    VIDEO_SOURCE_TYPE_SURFACE_YUV = 0,
 | 
						|
    /**
 | 
						|
     * Surface ES data.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    VIDEO_SOURCE_TYPE_SURFACE_ES = 1,
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Provides the video recorder configuration definitions.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
   * @systemapi
 | 
						|
   */
 | 
						|
  interface VideoRecorderConfig {
 | 
						|
    /**
 | 
						|
     * audio source type, details see @AudioSourceType .
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    audioSourceType?: AudioSourceType;
 | 
						|
    /**
 | 
						|
     * video source type, details see @VideoSourceType .
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    videoSourceType: VideoSourceType;
 | 
						|
    /**
 | 
						|
     * video recorder profile, can get by "getVideoRecorderProfile", details see @VideoRecorderProfile .
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    profile: VideoRecorderProfile;
 | 
						|
    /**
 | 
						|
     * video output uri.support two kind of uri now.
 | 
						|
     * format like: scheme + "://" + "context".
 | 
						|
     * fd:    fd://fd
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    url: string;
 | 
						|
    /**
 | 
						|
     * Sets the video rotation angle in output file, and for the file to playback. mp4 support.
 | 
						|
     * the range of rotation angle should be {0, 90, 180, 270}, default is 0.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    rotation?: number;
 | 
						|
    /**
 | 
						|
     * geographical location information.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.VideoRecorder
 | 
						|
     * @systemapi
 | 
						|
     */
 | 
						|
    location?: Location;
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Provides the media recorder profile definitions.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
   */
 | 
						|
   interface AVRecorderProfile {
 | 
						|
    /**
 | 
						|
     * Indicates the audio bitrate.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    audioBitrate?: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the number of audio channels.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    audioChannels?: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the audio encoding format.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    audioCodec?: CodecMimeType;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the audio sampling rate.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    audioSampleRate?: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the output file format.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    fileFormat: ContainerFormatType;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the video bitrate.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    videoBitrate?: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the video encoding format.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    videoCodec?: CodecMimeType;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the video width.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    videoFrameWidth?: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the video height.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    videoFrameHeight?: number;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Indicates the video frame rate.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    videoFrameRate?: number;
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Provides the media recorder configuration definitions.
 | 
						|
   * @since 9
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
   */
 | 
						|
  interface AVRecorderConfig {
 | 
						|
    /**
 | 
						|
     * Audio source type, details see @AudioSourceType .
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    audioSourceType?: AudioSourceType;
 | 
						|
    /**
 | 
						|
     * Video source type, details see @VideoSourceType .
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    videoSourceType?: VideoSourceType;
 | 
						|
    /**
 | 
						|
     * Video recorder profile, details see @AVRecorderProfile .
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    profile: AVRecorderProfile;
 | 
						|
    /**
 | 
						|
     * File output uri, support a kind of uri now.
 | 
						|
     * format like: "fd://" + "context".
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    url: string;
 | 
						|
    /**
 | 
						|
     * Sets the video rotation angle in output file, and for the file to playback, mp4 support
 | 
						|
     * the range of rotation angle should be {0, 90, 180, 270}, default is 0.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    rotation?: number;
 | 
						|
    /**
 | 
						|
     * Geographical location information.
 | 
						|
     * @since 9
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.AVRecorder
 | 
						|
     */
 | 
						|
    location?: Location;
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Provides the container definition for media description key-value pairs.
 | 
						|
   * @since 8
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
  interface MediaDescription {
 | 
						|
    /**
 | 
						|
     * key:value pair, key see @MediaDescriptionKey .
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    [key : string]: Object;
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Enumerates seek mode.
 | 
						|
   * @since 8
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
  enum SeekMode {
 | 
						|
    /**
 | 
						|
     * seek to the next sync frame of the given timestamp
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    SEEK_NEXT_SYNC = 0,
 | 
						|
    /**
 | 
						|
     * seek to the previous sync frame of the given timestamp
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    SEEK_PREV_SYNC = 1,
 | 
						|
  }
 | 
						|
 | 
						|
  /**
 | 
						|
   * Enumerates Codec MIME types.
 | 
						|
   * @since 8
 | 
						|
   * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
   */
 | 
						|
   enum CodecMimeType {
 | 
						|
    /**
 | 
						|
     * H.263 codec MIME type.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    VIDEO_H263 = 'video/h263',
 | 
						|
    /**
 | 
						|
     * H.264 codec MIME type.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    VIDEO_AVC = 'video/avc',
 | 
						|
    /**
 | 
						|
     * MPEG2 codec MIME type.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    VIDEO_MPEG2 = 'video/mpeg2',
 | 
						|
    /**
 | 
						|
     * MPEG4 codec MIME type
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    VIDEO_MPEG4 = 'video/mp4v-es',
 | 
						|
 | 
						|
    /**
 | 
						|
     * VP8 codec MIME type
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    VIDEO_VP8 = 'video/x-vnd.on2.vp8',
 | 
						|
 | 
						|
    /**
 | 
						|
     * AAC codec MIME type.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    AUDIO_AAC = 'audio/mp4a-latm',
 | 
						|
 | 
						|
    /**
 | 
						|
     * vorbis codec MIME type.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    AUDIO_VORBIS = 'audio/vorbis',
 | 
						|
 | 
						|
    /**
 | 
						|
     * flac codec MIME type.
 | 
						|
     * @since 8
 | 
						|
     * @syscap SystemCapability.Multimedia.Media.Core
 | 
						|
     */
 | 
						|
    AUDIO_FLAC = 'audio/flac',
 | 
						|
  }
 | 
						|
 | 
						|
  type RTCSdpType = "answer" | "offer" | "pranswer" | "rollback";
 | 
						|
 | 
						|
  interface RTCIceServer {
 | 
						|
    urls: string | string[]; // string[] is not supported currently
 | 
						|
    username?: string;
 | 
						|
    credential?: string;
 | 
						|
  }
 | 
						|
 | 
						|
  interface RTCConfiguration {
 | 
						|
    iceServers?: RTCIceServer[];
 | 
						|
  }
 | 
						|
 | 
						|
  interface RTCOfferAnswerOptions {
 | 
						|
  }
 | 
						|
 | 
						|
  interface RTCOfferOptions extends RTCOfferAnswerOptions {
 | 
						|
    offerToReceiveAudio?: boolean;
 | 
						|
    offerToReceiveVideo?: boolean;
 | 
						|
  }
 | 
						|
 | 
						|
  interface RTCAnswerOptions extends RTCOfferAnswerOptions {
 | 
						|
  }
 | 
						|
 | 
						|
  interface RTCSessionDescription {
 | 
						|
    sdp?: string;
 | 
						|
    type: RTCSdpType;
 | 
						|
  }
 | 
						|
 | 
						|
  interface RTCIceCandidate {
 | 
						|
    candidate?: string;
 | 
						|
    sdpMLineIndex?: number | null;
 | 
						|
  }
 | 
						|
 | 
						|
  interface WebRtc {
 | 
						|
 | 
						|
    /**
 | 
						|
     * prepare
 | 
						|
     * @param callback A callback instance used to return when prepare completed.
 | 
						|
     * @param configuration configuration used to set ice server and etc.
 | 
						|
     */
 | 
						|
    prepare(callback: AsyncCallback<void>, configuration?: RTCConfiguration): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * prepare
 | 
						|
     * @param configuration configuration used to set ice server and etc.
 | 
						|
     */
 | 
						|
    prepare(configuration?: RTCConfiguration): Promise<void>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * create offer
 | 
						|
     * @param callback A callback instance used to return when offer created.
 | 
						|
     * @param options options for create offer, not used currently
 | 
						|
     */
 | 
						|
    createOffer(callback: AsyncCallback<RTCSessionDescription>, options?: RTCOfferOptions): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * create offer
 | 
						|
     * @param options options for create offer, not used currently
 | 
						|
     */
 | 
						|
    createOffer(options?: RTCOfferOptions): Promise<RTCSessionDescription>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * create answer
 | 
						|
     * @param callback A callback instance used to return when answer created.
 | 
						|
     * @param options options for create answer, not used currently
 | 
						|
     */
 | 
						|
    createAnswer(callback: AsyncCallback<RTCSessionDescription>, options?: RTCAnswerOptions): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * create answer
 | 
						|
     * @param options options for create answer, not used currently
 | 
						|
     */
 | 
						|
    createAnswer(options?: RTCAnswerOptions): Promise<RTCSessionDescription>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * set local description
 | 
						|
     * @param desc local description, usually get from #createOffer or #createAnswer
 | 
						|
     * @param callback A callback instance used to return when local description is set.
 | 
						|
     */
 | 
						|
    setLocalDescription(desc: RTCSessionDescription, callback: AsyncCallback<void>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * set local description
 | 
						|
     * @param desc local description, usually get from #createOffer or #createAnswer
 | 
						|
     */
 | 
						|
    setLocalDescription(desc: RTCSessionDescription): Promise<void>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * set remote description
 | 
						|
     * @param desc remote description, usually get from peer
 | 
						|
     * @param callback A callback instance used to return when remote description is set.
 | 
						|
     */
 | 
						|
    setRemoteDescription(desc: RTCSessionDescription, callback: AsyncCallback<void>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * set remote description
 | 
						|
     * @param desc remote description, usually get from peer
 | 
						|
     */
 | 
						|
    setRemoteDescription(desc: RTCSessionDescription): Promise<void>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * add the ice candidate of remote peer
 | 
						|
     * @param candidate ice candidate
 | 
						|
     * @param callback A callback instance used to return when ice candidate is added.
 | 
						|
     */
 | 
						|
    addIceCandidate(candidate: RTCIceCandidate, callback: AsyncCallback<void>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * add the ice candidate of remote peer
 | 
						|
     * @param candidate ice candidate
 | 
						|
     */
 | 
						|
    addIceCandidate(candidate: RTCIceCandidate): Promise<void>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * close the WebRtc conntions, and the instance should not be used anymore. 
 | 
						|
     * @param callback A callback instance used to return when closed.
 | 
						|
     */
 | 
						|
    close(callback: AsyncCallback<void>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * close the WebRtc conntions, and the instance should not be used anymore. 
 | 
						|
     */
 | 
						|
    close(): Promise<void>;
 | 
						|
 | 
						|
    /**
 | 
						|
     * add listener for the 'icecandidate' event
 | 
						|
     * @param type event type
 | 
						|
     * @param callback A callback instance used to return when ice candidate is available.
 | 
						|
     */
 | 
						|
    on(type: 'icecandidate', callback: Callback<RTCIceCandidate>): void;
 | 
						|
 | 
						|
    /**
 | 
						|
     * remove the listener for the 'icecandidate' event
 | 
						|
     * @param type event type
 | 
						|
     */
 | 
						|
    off(type: 'icecandidate'): void;
 | 
						|
 | 
						|
    on(type: 'iceconnectionstatechange', callback: Callback<number>): void;
 | 
						|
    off(type: 'iceconnectionstatechange'): void;
 | 
						|
 | 
						|
    on(type: 'negotiationneeded', callback: Callback<void>): void;
 | 
						|
    off(type: 'negotiationneeded'): void;
 | 
						|
  }
 | 
						|
}
 | 
						|
export default media;
 |