Agora C++ API Reference for All Platforms
IAgoraMediaPlayerSource.h
1 //
2 // Agora SDK
3 //
4 // Copyright (c) 2018 Agora.io. All rights reserved.
5 //
6 #pragma once // NOLINT(build/header_guard)
7 
8 #include "AgoraBase.h"
9 #include "AgoraMediaBase.h"
10 #include "AgoraMediaPlayerTypes.h"
11 #include "AgoraRefPtr.h"
12 
13 namespace agora {
14 namespace rtc {
15 
16 class IMediaPlayerSourceObserver;
17 
23 protected:
24  virtual ~IMediaPlayerSource() {}
25 
26 public:
27 
34  virtual int getSourceId() const = 0;
35 
44  virtual int open(const char* url, int64_t startPos) = 0;
45 
52  virtual int play() = 0;
53 
60  virtual int pause() = 0;
61 
68  virtual int stop() = 0;
69 
76  virtual int resume() = 0;
77 
85  virtual int seek(int64_t newPos) = 0;
86 
94  virtual int getDuration(int64_t& duration) = 0;
95 
103  virtual int getPlayPosition(int64_t& pos) = 0;
104 
112  virtual int getStreamCount(int64_t& count) = 0;
113 
122  virtual int getStreamInfo(int64_t index, media::base::PlayerStreamInfo* info) = 0;
123 
134  virtual int setLoopCount(int64_t loopCount) = 0;
135 
143  virtual int muteAudio(bool audio_mute) = 0;
144 
150  virtual bool isAudioMuted() = 0;
151 
159  virtual int muteVideo(bool audio_mute) = 0;
160 
166  virtual bool isVideoMuted() = 0;
167 
176 
184  virtual int selectAudioTrack(int64_t index) = 0;
185 
194  virtual int setPlayerOption(const char* key, int64_t value) = 0;
195 
204  virtual int setPlayerOption(const char* key, const char* value) = 0;
205 
213  virtual int takeScreenshot(const char* filename) = 0;
214 
222  virtual int selectInternalSubtitle(int64_t index) = 0;
223 
231  virtual int setExternalSubtitle(const char* url) = 0;
232 
238 
249 
258 
268 
277 };
278 
283  public:
285 
295 
302  virtual void onPositionChanged(int64_t position) = 0;
303 
313 
321  virtual void onMetaData(const void* data, int length) = 0;
322 
323 
329  virtual void onPlayBufferUpdated(int64_t playCachedBuffer) = 0;
330 
334  virtual void onCompleted() = 0;
335 };
336 
337 } //namespace rtc
338 } // namespace agora
agora::rtc::IMediaPlayerSource::~IMediaPlayerSource
virtual ~IMediaPlayerSource()
Definition: IAgoraMediaPlayerSource.h:24
agora::rtc::IMediaPlayerSource::getPlayPosition
virtual int getPlayPosition(int64_t &pos)=0
agora::rtc::IMediaPlayerSource
Definition: IAgoraMediaPlayerSource.h:22
agora::rtc::IMediaPlayerSource::seek
virtual int seek(int64_t newPos)=0
agora::rtc::IMediaPlayerSourceObserver::onPlayerEvent
virtual void onPlayerEvent(media::base::MEDIA_PLAYER_EVENT event)=0
Reports the playback event.
agora::rtc::IMediaPlayerSourceObserver
Definition: IAgoraMediaPlayerSource.h:282
agora::rtc::IMediaPlayerSource::setPlayerOption
virtual int setPlayerOption(const char *key, int64_t value)=0
agora::rtc::IMediaPlayerSource::isAudioMuted
virtual bool isAudioMuted()=0
agora::rtc::IMediaPlayerSource::open
virtual int open(const char *url, int64_t startPos)=0
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::IMediaPlayerSource::pause
virtual int pause()=0
agora::media::base::MEDIA_PLAYER_PLAYBACK_SPEED
MEDIA_PLAYER_PLAYBACK_SPEED
The playback speed.
Definition: AgoraMediaPlayerTypes.h:154
agora::rtc::IMediaPlayerSource::getStreamInfo
virtual int getStreamInfo(int64_t index, media::base::PlayerStreamInfo *info)=0
agora::rtc::IMediaPlayerSource::stop
virtual int stop()=0
agora::rtc::IMediaPlayerSource::changePlaybackSpeed
virtual int changePlaybackSpeed(media::base::MEDIA_PLAYER_PLAYBACK_SPEED speed)=0
agora::rtc::IMediaPlayerSource::setPlayerOption
virtual int setPlayerOption(const char *key, const char *value)=0
agora::rtc::IMediaPlayerSourceObserver::onMetaData
virtual void onMetaData(const void *data, int length)=0
Occurs when the metadata is received.
agora::media::base::MEDIA_PLAYER_STATE
MEDIA_PLAYER_STATE
The playback state.
Definition: AgoraMediaPlayerTypes.h:54
agora::media::base::PlayerStreamInfo
The information of the media stream object.
Definition: AgoraMediaPlayerTypes.h:235
agora::rtc::IMediaPlayerSource::getState
virtual media::base::MEDIA_PLAYER_STATE getState()=0
agora::rtc::IMediaPlayerSource::getSourceId
virtual int getSourceId() const =0
agora::rtc::IMediaPlayerSourceObserver::onCompleted
virtual void onCompleted()=0
Occurs when one playback of the media file is completed.
agora::rtc::IMediaPlayerSource::getStreamCount
virtual int getStreamCount(int64_t &count)=0
agora::rtc::IMediaPlayerSource::setExternalSubtitle
virtual int setExternalSubtitle(const char *url)=0
agora::rtc::IMediaPlayerSource::selectAudioTrack
virtual int selectAudioTrack(int64_t index)=0
agora::rtc::IMediaPlayerSourceObserver::onPositionChanged
virtual void onPositionChanged(int64_t position)=0
Reports current playback progress.
agora::rtc::IMediaPlayerSource::muteAudio
virtual int muteAudio(bool audio_mute)=0
agora::rtc::IMediaPlayerSourceObserver::onPlayerSourceStateChanged
virtual void onPlayerSourceStateChanged(media::base::MEDIA_PLAYER_STATE state, media::base::MEDIA_PLAYER_ERROR ec)=0
Reports the playback state change.
agora::media::base::IAudioFrameObserver
Definition: AgoraMediaBase.h:216
agora::rtc::IMediaPlayerSource::takeScreenshot
virtual int takeScreenshot(const char *filename)=0
agora::RefCountInterface
Definition: AgoraRefPtr.h:31
agora::rtc::IMediaPlayerSource::registerPlayerSourceObserver
virtual int registerPlayerSourceObserver(IMediaPlayerSourceObserver *observer)=0
agora::media::base::MEDIA_PLAYER_EVENT
MEDIA_PLAYER_EVENT
The playback event.
Definition: AgoraMediaPlayerTypes.h:198
agora::rtc::IMediaPlayerSource::selectInternalSubtitle
virtual int selectInternalSubtitle(int64_t index)=0
agora::rtc::IMediaPlayerSource::resume
virtual int resume()=0
agora::rtc::IMediaPlayerSource::getDuration
virtual int getDuration(int64_t &duration)=0
agora::rtc::IMediaPlayerSource::play
virtual int play()=0
agora::rtc::IMediaPlayerSourceObserver::onPlayBufferUpdated
virtual void onPlayBufferUpdated(int64_t playCachedBuffer)=0
Triggered when play buffer updated, once every 1 second.
agora::rtc::IMediaPlayerSource::unregisterPlayerSourceObserver
virtual int unregisterPlayerSourceObserver(IMediaPlayerSourceObserver *observer)=0
agora::rtc::IMediaPlayerSource::muteVideo
virtual int muteVideo(bool audio_mute)=0
agora::rtc::IMediaPlayerSourceObserver::~IMediaPlayerSourceObserver
virtual ~IMediaPlayerSourceObserver()
Definition: IAgoraMediaPlayerSource.h:284
agora::media::base::MEDIA_PLAYER_ERROR
MEDIA_PLAYER_ERROR
Player error code.
Definition: AgoraMediaPlayerTypes.h:105
agora::rtc::IMediaPlayerSource::registerAudioFrameObserver
virtual int registerAudioFrameObserver(media::base::IAudioFrameObserver *observer)=0
agora::rtc::IMediaPlayerSource::setLoopCount
virtual int setLoopCount(int64_t loopCount)=0
rtc
Definition: video_node_i.h:27
agora::rtc::IMediaPlayerSource::unregisterAudioFrameObserver
virtual int unregisterAudioFrameObserver(media::base::IAudioFrameObserver *observer)=0
agora::rtc::IMediaPlayerSource::isVideoMuted
virtual bool isVideoMuted()=0