IMediaPlayer

最近更新时间:2022-09-20 05:17:40

Public 成员函数
virtual intinitialize (const MediaPlayerContext &context)=0
virtual intopen (const char *src, int64_t startPos)=0
virtual intplay ()=0
virtual intpause ()=0
virtual intstop ()=0
virtual intseek (int64_t pos)=0
virtual intmute (bool mute)=0
virtual intgetMute (bool &mute)=0
virtual intadjustPlayoutVolume (int volume)=0
virtual intgetPlayoutVolume (int &volume)=0
virtual intgetPlayPosition (int64_t &pos)=0
virtual intgetDuration (int64_t &duration)=0
virtual ar::media::MEDIA_PLAYER_STATEgetState ()=0
virtual intgetStreamCount (int &count)=0
virtual intgetStreamInfo (int index, ar::media::MediaStreamInfo *info)=0
virtual intsetView (ar::media::base::view_t view)=0
virtual intsetRenderMode (ar::media::base::RENDER_MODE_TYPE renderMode)=0
virtual intregisterPlayerObserver (IMediaPlayerObserver *observer)=0
virtual intunregisterPlayerObserver (IMediaPlayerObserver *observer)=0
virtual intregisterVideoFrameObserver (ar::media::base::IVideoFrameObserver *observer)=0
virtual intunregisterVideoFrameObserver (ar::media::base::IVideoFrameObserver *observer)=0
virtual intregisterAudioFrameObserver (ar::media::base::IAudioFrameObserver *observer)=0
virtual intunregisterAudioFrameObserver (ar::media::base::IAudioFrameObserver *observer)=0
virtual intsetLogFile (const char *filePath)=0
virtual intsetLogFilter (unsigned int filter)=0
virtual intchangePlaybackSpeed (const ar::media::MEDIA_PLAYER_PLAY_SPEED speed)=0
virtual intselectAudioTrack (int index)=0
virtual voidrelease (bool sync=true)=0
virtual~IMediaPlayer ()

详细描述

IMediaPlayer

构造及析构函数说明

~IMediaPlayer()

virtual ~IMediaPlayer() 

IMediaPlayer 类的析构函数

成员函数说明

initialize()

virtual int initialize(const MediaPlayerContext& context)

初始化播放器

参数

key键名。
context详见 MediaPlayerContext

返回

open()

virtual int ar::rtc::IMediaPlayer::open(const char *     src,int64_t  startPos )    

打开媒体文件

参数

key键名。
src置媒体文件的路径:本地路径或网络路径
startPos设置起始播放位置(秒),默认值为 0

返回

play()

virtual int ar::rtc::IMediaPlayer::play()   

播放媒体文件

打开媒体文件或暂停播放媒体文件后,你可以调用该方法播放媒体文件。

返回

pause()

virtual int ar::rtc::IMediaPlayer::pause()   

暂停播放

如果你想恢复播放,请调用 play() 方法。

返回

stop()

virtual int ar::rtc::IMediaPlayer::stop()   

停止播放

如果你想恢复播放,请调用 play() 方法。

返回

seek()

virtual int ar::rtc::IMediaPlayer::seek(int64_t     pos)   

从指定的位置播放媒体文件

如果你想恢复播放,请调用 play() 方法。

参数

key键名。
pos指定的位置(秒)

返回

mute()

virtual int ar::rtc::IMediaPlayer::mute(bool     mute)   

设置是否静音

参数

key键名。
mute静音选项:
  • true: 静音
  • false: (默认)不静音
  • 返回

    getMute()

    virtual int ar::rtc::IMediaPlayer::getMute(bool&     mute)   
    
    

    获取当前的静音状态

    参数

    key键名。
    [out]mute静音状态:
  • true: 静音
  • false: (默认)不静音
  • 返回

    adjustPlayoutVolume()

    virtual int ar::rtc::IMediaPlayer::adjustPlayoutVolume(int     volume)   
    
    

    调节本地播放音量

    参数

    key键名。
    volume本地播放音量,取值范围从 0 到 100:
  • 0: 无声
  • 100: (默认)媒体文件的原始播放音量
  • 返回

    getPlayoutVolume()

    virtual int ar::rtc::IMediaPlayer::getPlayoutVolume(int &    volume)   
    
    

    获取当前本地播放音量

    参数

    key键名。
    [out]volume本地播放音量,取值范围从 0 到 100:
  • 0: 无声
  • 100: (默认)媒体文件的原始播放音量
  • #### 返回

    getPlayPosition()

    virtual int ar::rtc::IMediaPlayer::getPlayPosition(int64_t &    pos)   
    
    

    获取当前播放进度

    参数

    key键名。
    [out]pos播放进度(秒)
    #### 返回

    getDuration()

    virtual int ar::rtc::IMediaPlayer::getDuration(int64_t &    duration)   
    
    

    获取媒体文件总时长

    参数

    key键名。
    [out]duration媒体文件总时长(秒)
    #### 返回

    getState()

    virtual ar::media::MEDIA_PLAYER_STATE ar::rtc::IMediaPlayer::getState
    
    

    获取播放器当前状态

    参数

    key键名。
    [out]duration媒体文件总时长(秒)
    #### 返回

    播放器当前状态,详见 MEDIA_PLAYER_STATE

    getStreamCount()

    virtual ar::rtc::IMediaPlayer::getStreamCount( int &     count)
    
    

    获取该媒体文件中媒体流的数量

    参数

    key键名。
    [out]duration该媒体文件中媒体流的数量
    #### 返回

    getStreamInfo()

    virtual ar::rtc::IMediaPlayer::getStreamInfo(int     index,
    ar::media::MediaStreamInfo *     info )
    
    

    通过此条媒体流的索引值获取媒体流信息

    参数

    key键名。
    index媒体流索引值
    [out]info媒体流的所有信息,详见 MediaStreamInfo
    #### 返回

    setView()

    virtual int ar::rtc::IMediaPlayer::setView    (    ar::media::base::view_t     view    )
    
    

    设置播放器渲染视图

    参数

    key键名。
    view渲染视图,Windows 平台为窗口句柄(HWND)

    返回

    setRenderMode()

    virtual int ar::rtc::IMediaPlayer::setRenderMode    (    ar::media::base::RENDER_MODE_TYPE     renderMode  )
    
    

    设置播放器视图的渲染模式

    参数

    key键名。
    renderMode播放器视图的渲染模式:
  • RENDER_MODE_HIDDEN (1): 视频尺寸等比缩放。优先保证视窗被填满。因视频尺寸与显示视窗尺寸不一致而多出的视频将被截掉。
  • RENDER_MODE_FIT (2): 视频尺寸等比缩放。优先保证视频内容全部显示。因视频尺寸与显示视窗尺寸不一致造成的视窗未被填满的区域填充黑色。
  • 返回

    registerPlayerObserver()

    virtual int ar::rtc::IMediaPlayer::registerPlayerObserver    (    IMediaPlayerObserver *     observer    )    
    
    

    注册一个播放观测器

    参数

    key键名。
    observer观测器,报告播放中的事件,详见 IMediaPlayerObserver

    返回

    unregisterPlayerObserver()

    virtual int ar::rtc::IMediaPlayer::unregisterPlayerObserver    (    IMediaPlayerObserver *     observer    )    
    
    

    取消注册该播放观测器

    参数

    key键名。
    observer观测器,报告播放中的事件,详见 IMediaPlayerObserver

    返回

    registerVideoFrameObserver()

    virtual int ar::rtc::IMediaPlayer::registerVideoFrameObserver    (        ar::media::base::IVideoFrameObserver *     observer    )    
    
    

    注册视频观测器

    参数

    key键名。
    observer视频观测观测器,观测每帧视频的接收,详见 IVideoFrameObserver

    返回

    unregisterVideoFrameObserver()

    virtual int ar::rtc::IMediaPlayer::unregisterVideoFrameObserver    (        ar::media::base::IVideoFrameObserver *     observer    )    
    
    

    取消注册视频观测器

    参数

    key键名。
    observer视频观测器,详见 IVideoFrameObserver

    返回

    registerAudioFrameObserver()

    virtual int ar::rtc::IMediaPlayer::registerAudioFrameObserver    (        ar::media::base::IAudioFrameObserver *     observer    )    
    
    

    注册音频观测器

    参数

    key键名。
    observer音频观测器,观测每帧音频的接收,详见 IAudioFrameObserver

    返回

    unregisterAudioFrameObserver()

    virtual int ar::rtc::IMediaPlayer::unregisterAudioFrameObserver    (        ar::media::base::IAudioFrameObserver *     observer    )    
    
    

    取消注册音频观测器

    参数

    key键名。
    observer音频观测器,详见 IAudioFrameObserver

    返回

    setLogFile()

    virtual int ar::rtc::IMediaPlayer::setLogFile    (        const char *     filePath   )    
    
    

    设置日志文件

    MediaPlayer Kit 运行时产生的 log 都写入日志文件,调用该方法可以设置日志文件的存储路径。 请确保你指定的日志文件路径存在且可写。如果不调用该方法,日志文件会存储至默认路径。

    注解: 请在调用 initialize() 后立即调用该方法,否则日志文件中的 log 可能不完整。

    参数

    key键名。
    filePath日志文件的完整路径。该日志文件为 UTF-8 编码。

    返回

    setLogFilter()

    virtual int ar::rtc::IMediaPlayer::setLogFilter    (        unsigned int filter  )    
    
    

    设置输出日志的过滤等级

    设置 MediaPlayer Kit 的输出日志的过滤等级。过滤等级从低到高分别为 OFF,DEBUG,INFO,WARN,ERROR, CRITICAL。选择一个过滤等级,你就可以看到在该等级之前的所有等级的日志信息,详见 filter 参数描述。

    参数

    key键名。
    filter设置日志过滤等级:
  • LOG_FILTER_OFF (0): 不输出任何日志。
  • LOG_FILTER_DEBUG (0x80f): 输出所有的日志。
  • LOG_FILTER_INFO (0x0f): (推荐取值)输出 INFO,WARN,ERROR,CRITICAL 等级的日志。
  • LOG_FILTER_WARN (0x0e): 输出 WARN,ERROR,CRITICAL 等级的日志。
  • LOG_FILTER_ERROR (0x0c): 输出 ERROR,CRITICAL 等级的日志。
  • LOG_FILTER_CRITICAL (0x08): 输出 CRITICAL 等级的日志。
  • 返回

    changePlaybackSpeed()

    virtual int ar::rtc::IMediaPlayer::changePlaybackSpeed    (        const ar::media::MEDIA_PLAYER_PLAY_SPEED     speed )    
    
    

    调节播放速度

    请在 play() 后调用该方法。

    参数

    key键名。
    speed播放媒体资源的速度,详见 MEDIA_PLAYER_PLAY_SPEED

    返回

    selectAudioTrack()

    virtual int ar::rtc::IMediaPlayer::selectAudioTrack    (            int     index )    
    
    

    设置使用的音轨

    如果媒体资源含有多个音轨,你可以调用该方法设置你想使用的音轨。

    参数

    key键名。
    index音轨的索引值

    返回

    release()

    virtual int ar::rtc::IMediaPlayer::release    (        bool     sync = true )    
    
    

    释放 IMediaPlayer 对象