MultiMedia_Player

Overview

Defines the Player class and provides functions related to media playback.

Since:

1.0

Version:

1.0

Summary

Files

File Name

Description

player.h

Declares the Player class, which is used to implement player-related operations.

Data Structures

Data Structure Name

Description

OHOS::Media::PlayerCallback

Provides listeners for events and exception notifications that occur during media playback.

OHOS::Media::Player

Provides functions for playing online movies, offline movies, and streams, for example, playing local movies and advanced audio coding (AAC) streams.

Enumerations

Enumeration Name

Description

OHOS::Media::PlayerSeekMode : int32_t {   OHOS::Media::PLAYER_SEEK_PREVIOUS_SYNC = 0, OHOS::Media::PLAYER_SEEK_NEXT_SYNC, OHOS::Media::PLAYER_SEEK_CLOSEST_SYNC, OHOS::Media::PLAYER_SEEK_CLOSEST,   OHOS::Media::PLAYER_SEEK_FRAME_INDEX }

Enumerates player seek modes. You can move the current playback position of the media to a given time position using the specified mode.

OHOS::Media::PlayerStates : uint32_t {   OHOS::Media::PLAYER_STATE_ERROR = 0, OHOS::Media::PLAYER_IDLE = 1 << 0, OHOS::Media::PLAYER_INITIALIZED = 1 << 1, OHOS::Media::PLAYER_PREPARING = 1 << 2,   OHOS::Media::PLAYER_PREPARED = 1 << 3, OHOS::Media::PLAYER_STARTED = 1 << 4, OHOS::Media::PLAYER_PAUSED = 1 << 5, OHOS::Media::PLAYER_STOPPED = 1 << 6,   OHOS::Media::PLAYER_PLAYBACK_COMPLETE = 1 << 7 }

Enumerates player states.

OHOS::Media::PlayerCallback::PlayerInfoType : int32_t { OHOS::Media::PlayerCallback::PLAYER_INFO_RENDER_START = 0 }

 

Functions

Function Name

Description

OHOS::Media::PlayerCallback::OnPlaybackComplete ()=0

virtual void 

Called when the playback is complete.

OHOS::Media::PlayerCallback::OnError (int32_t errorType, int32_t errorCode)=0

virtual void 

Called when a playback error occurs.

OHOS::Media::PlayerCallback::OnInfo (int type, int extra)=0

virtual void 

Called when playback information is received.

OHOS::Media::PlayerCallback::OnVideoSizeChanged (int width, int height)=0

virtual void 

Called when the video image size changes.

OHOS::Media::PlayerCallback::OnRewindToComplete ()=0

virtual void 

Called when the rewind is complete.

OHOS::Media::Player::SetSource (const Source &source)

int32_t 

Sets the playback source for the player. The corresponding source can be the file descriptor (FD) of the local file, local file URI, network URI, or media stream.

OHOS::Media::Player::Prepare ()

int32_t 

Prepares the playback environment and buffers media data.

OHOS::Media::Player::Play ()

int32_t 

Starts or resumes playback.

OHOS::Media::Player::IsPlaying ()

bool 

Checks whether the player is playing.

OHOS::Media::Player::Pause ()

int32_t 

Pauses playback.

OHOS::Media::Player::Stop ()

int32_t 

Stops playback.

OHOS::Media::Player::Rewind (int64_t mSeconds, int32_t mode)

int32_t 

Changes the playback position.

OHOS::Media::Player::SetVolume (float leftVolume, float rightVolume)

int32_t 

Sets the volume of the player.

OHOS::Media::Player::SetVideoSurface (Surface *surface)

int32_t 

Sets a surface for video playback.

OHOS::Media::Player::EnableSingleLooping (bool loop)

int32_t 

Sets loop playback.

OHOS::Media::Player::IsSingleLooping ()

bool 

Checks whether the player is looping.

OHOS::Media::Player::GetCurrentTime (int64_t &time) const

int32_t 

Obtains the playback position, accurate to millisecond.

OHOS::Media::Player::GetDuration (int64_t &duration) const

int32_t 

Obtains the total duration of media files, in milliseconds.

OHOS::Media::Player::GetVideoWidth (int32_t &videoWidth)

int32_t 

Obtains the width of the video.

OHOS::Media::Player::GetVideoHeight (int32_t &videoHeight)

int32_t 

Obtains the height of the video.

OHOS::Media::Player::Reset ()

int32_t 

Restores the player to the initial state.

OHOS::Media::Player::Release ()

int32_t 

Releases player resources.

OHOS::Media::Player::SetPlayerCallback (const std::shared_ptr< PlayerCallback > &cb)

void 

Registers a listener to receive events and exception notifications from the player.

Details

Enumeration Type Documentation

PlayerInfoType

  1. enum[OHOS::Media::PlayerCallback::PlayerInfoType]($api-api-SmartVision-Devices-MultiMedia_Player.md#ga7dac9dac65cbbea7e411adcf2c314ac5) : int32_t

Enumerator

Description

PLAYER_INFO_RENDER_START 

Pushed the first video frame for rendering

PlayerSeekMode

  1. enum[OHOS::Media::PlayerSeekMode]($api-api-SmartVision-Devices-MultiMedia_Player.md#gad1574e5769b3174c2103a2a8b49e20d4) : int32_t

Description:

Enumerates player seek modes. You can move the current playback position of the media to a given time position using the specified mode.

Enumerator

Description

PLAYER_SEEK_PREVIOUS_SYNC 

Moves the media position to the latest synchronization frame located before the given time position.

PLAYER_SEEK_NEXT_SYNC 

Moves the media position to the latest synchronization frame located after the given time position.

PLAYER_SEEK_CLOSEST_SYNC 

Moves the media position to the latest synchronization frame located before or after the given time position.

PLAYER_SEEK_CLOSEST 

Moves the media position to the latest frame located before or after the given time position.

PLAYER_SEEK_FRAME_INDEX 

Moves the media position to a given frame index.

PlayerStates

  1. enum[OHOS::Media::PlayerStates]($api-api-SmartVision-Devices-MultiMedia_Player.md#ga8b1147e57c4a67f63f193836302da2b7) : uint32_t

Description:

Enumerates player states.

Enumerator

Description

PLAYER_STATE_ERROR 

Error

PLAYER_IDLE 

Idle

PLAYER_INITIALIZED 

Initialized

PLAYER_PREPARING 

Preparing

PLAYER_PREPARED 

Prepared

PLAYER_STARTED 

Playback started

PLAYER_PAUSED 

Playback paused

PLAYER_STOPPED 

Playback stopped

PLAYER_PLAYBACK_COMPLETE 

Playback completed

Function Documentation

EnableSingleLooping()

  1. int32_t OHOS::Media::Player::EnableSingleLooping(bool loop)

Description:

Sets loop playback.

Parameters:

Name

Description

loopSpecifies whether to enable loop playback. The value true means to enable loop playback, and false means to disable loop playback.

Returns:

Returns 0 if the setting is successful; returns -1 otherwise.

GetCurrentTime()

  1. int32_t OHOS::Media::Player::GetCurrentTime(int64_t& time)const

Description:

Obtains the playback position, accurate to millisecond.

Parameters:

Name

Description

timeIndicates the playback position.

Returns:

Returns 0 if the playback position is obtained; returns -1 otherwise.

GetDuration()

  1. int32_t OHOS::Media::Player::GetDuration(int64_t& duration)const

Description:

Obtains the total duration of media files, in milliseconds.

Parameters:

Name

Description

durationIndicates the total duration of media files.

Returns:

Returns 0 if the total duration is obtained; returns -1 otherwise.

GetVideoHeight()

  1. int32_t OHOS::Media::Player::GetVideoHeight(int32_t& videoHeight)

Description:

Obtains the height of the video.

Parameters:

Name

Description

videoHeightIndicates the video height.

Returns:

Returns 0 if the video height is obtained; returns -1 otherwise.

GetVideoWidth()

  1. int32_t OHOS::Media::Player::GetVideoWidth(int32_t& videoWidth)

Description:

Obtains the width of the video.

Parameters:

Name

Description

videoWidthIndicates the video width.

Returns:

Returns 0 if the video width is obtained; returns -1 otherwise.

IsPlaying()

  1. bool OHOS::Media::Player::IsPlaying()

Description:

Checks whether the player is playing.

Returns:

Returns true if the player is playing; returns false otherwise.

IsSingleLooping()

  1. bool OHOS::Media::Player::IsSingleLooping()

Description:

Checks whether the player is looping.

Returns:

Returns true if the player is looping; returns false otherwise.

OnError()

  1. virtualvoid OHOS::Media::PlayerCallback::OnError(int32_t errorType,int32_t errorCode )

Description:

Called when a playback error occurs.

Parameters:

Name

Description

errorTypeIndicates the error type. For details, see PlayerErrorType.
errorCodeIndicates the error code.

OnInfo()

  1. virtualvoid OHOS::Media::PlayerCallback::OnInfo(int type,int extra )

Description:

Called when playback information is received.

Parameters:

Name

Description

typeIndicates the information type. For details, see PlayerInfoType.
extraIndicates the information code.

OnPlaybackComplete()

  1. virtualvoid OHOS::Media::PlayerCallback::OnPlaybackComplete()

Description:

Called when the playback is complete.

OnRewindToComplete()

  1. virtualvoid OHOS::Media::PlayerCallback::OnRewindToComplete()

Description:

Called when the rewind is complete.

OnVideoSizeChanged()

  1. virtualvoid OHOS::Media::PlayerCallback::OnVideoSizeChanged(int width,int height )

Description:

Called when the video image size changes.

Parameters:

Name

Description

widthIndicates the video width.
heightIndicates the video height.

Pause()

  1. int32_t OHOS::Media::Player::Pause()

Description:

Pauses playback.

Returns:

Returns 0 if the playback is paused; returns -1 otherwise.

Play()

  1. int32_t OHOS::Media::Player::Play()

Description:

Starts or resumes playback.

This function must be called after Prepare. If the player state is Prepared, this function is called to start playback. If the player state is Playback paused, this function is called to resume playback. If the media is playing in an abnormal speed, this function is called to restore the playback speed to normal.

Returns:

Returns 0 if the playback starts or resumes; returns -1 otherwise.

Prepare()

  1. int32_t OHOS::Media::Player::Prepare()

Description:

Prepares the playback environment and buffers media data.

This function must be called after SetSource.

Returns:

Returns 0 if the playback environment is prepared and media data is buffered; returns -1 otherwise.

Release()

  1. int32_t OHOS::Media::Player::Release()

Description:

Releases player resources.

Returns:

Returns 0 if player resources are released; returns -1 otherwise.

Reset()

  1. int32_t OHOS::Media::Player::Reset()

Description:

Restores the player to the initial state.

Returns:

Returns 0 if the player is restored; returns -1 otherwise.

Rewind()

  1. int32_t OHOS::Media::Player::Rewind(int64_t mSeconds,int32_t mode )

Description:

Changes the playback position.

This function can be used during playback or pause.

Parameters:

Name

Description

mSecondsIndicates the target playback position, accurate to second.
modeIndicates the player seek mode. For details, see PlayerSeekMode.

Returns:

Returns 0 if the playback position is changed; returns -1 otherwise.

SetPlayerCallback()

  1. void OHOS::Media::Player::SetPlayerCallback(const std::shared_ptr<[PlayerCallback]($api-api-SmartVision-Devices-OHOS-Media-PlayerCallback.md)>& cb)

Description:

Registers a listener to receive events and exception notifications from the player.

Parameters:

Name

Description

cbIndicates the listener to register. For details, see PlayerCallback.

SetSource()

  1. int32_t OHOS::Media::Player::SetSource(const[Source]($api-api-SmartVision-Devices-OHOS-Media-Source.md)& source)

Description:

Sets the playback source for the player. The corresponding source can be the file descriptor (FD) of the local file, local file URI, network URI, or media stream.

Parameters:

Name

Description

sourceIndicates the playback source. Currently, only local file URIs and media streams are supported. For details, see Source.

Returns:

Returns 0 if the setting is successful; returns -1 otherwise.

SetVideoSurface()

  1. int32_t OHOS::Media::Player::SetVideoSurface([Surface]($api-api-SmartVision-Devices-OHOS-Surface.md)* surface)

Description:

Sets a surface for video playback.

Parameters:

Name

Description

surfaceIndicates the surface to set. For details, see Surface.

Returns:

Returns 0 if the setting is successful; returns -1 otherwise.

SetVolume()

  1. int32_t OHOS::Media::Player::SetVolume(float leftVolume,float rightVolume )

Description:

Sets the volume of the player.

This function can be used during playback or pause. The value 0 indicates no sound, and 100 indicates the original volume. If no audio device is started or no audio stream exists, the value -1 is returned.

Parameters:

Name

Description

leftVolumeIndicates the target volume of the left audio channel to set, ranging from 0 to 300.
rightVolumeIndicates the target volume of the right audio channel to set, ranging from 0 to 300.

Returns:

Returns 0 if the setting is successful; returns -1 otherwise.

Stop()

  1. int32_t OHOS::Media::Player::Stop()

Description:

Stops playback.

Returns:

Returns 0 if the playback is stopped; returns -1 otherwise.