Agora Java API Reference for Android
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 changePlaybackSpeed(media::base::MEDIA_PLAYER_PLAYBACK_SPEED speed) = 0;
144 
152  virtual int selectAudioTrack(int64_t index) = 0;
153 
162  virtual int setPlayerOption(const char* key, int64_t value) = 0;
163 
172  virtual int setPlayerOption(const char* key, const char* value) = 0;
173 
181  virtual int takeScreenshot(const char* filename) = 0;
182 
190  virtual int selectInternalSubtitle(int64_t index) = 0;
191 
199  virtual int setExternalSubtitle(const char* url) = 0;
200 
205  virtual media::base::MEDIA_PLAYER_STATE getState() = 0;
206 
217 
226 
236 
245 };
246 
251  public:
252  virtual ~IMediaPlayerSourceObserver() {}
253 
261  virtual void onPlayerSourceStateChanged(media::base::MEDIA_PLAYER_STATE state,
262  media::base::MEDIA_PLAYER_ERROR ec) = 0;
263 
270  virtual void onPositionChanged(int64_t position) = 0;
271 
280  virtual void onPlayerEvent(media::base::MEDIA_PLAYER_EVENT event) = 0;
281 
289  virtual void onMetaData(const void* data, int length) = 0;
290 
291 
297  virtual void onPlayBufferUpdated(int64_t playCachedBuffer) = 0;
298 
302  virtual void onCompleted() = 0;
303 };
304 
305 } //namespace rtc
306 } // namespace agora
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:250
agora::rtc::IMediaPlayerSource::setPlayerOption
virtual int setPlayerOption(const char *key, int64_t value)=0
agora::rtc::IMediaPlayerSource::open
virtual int open(const char *url, int64_t startPos)=0
agora::rtc::IMediaPlayerSource::pause
virtual int pause()=0
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::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::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:207
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::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::registerAudioFrameObserver
virtual int registerAudioFrameObserver(media::base::IAudioFrameObserver *observer)=0
agora::rtc::IMediaPlayerSource::setLoopCount
virtual int setLoopCount(int64_t loopCount)=0
agora::rtc::IMediaPlayerSource::unregisterAudioFrameObserver
virtual int unregisterAudioFrameObserver(media::base::IAudioFrameObserver *observer)=0