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;
 |