Agora C++ API Reference for All Platforms
NGIAgoraExtensionMccYSDScore.h
1 
2  //Agora SDK
3 
4  //Copyright (c) 2021 Agora.io. All rights reserved.
5 
6 #pragma once // NOLINT(build/header_guard)
7 
8 #include "AgoraRefPtr.h"
9 
10 namespace agora {
11 namespace rtc {
12 
14 public:
15  virtual ~IMccResponseCallback() {}
16  virtual void onResponse(void* data, int length) = 0;
17 };
18 
19 class IMccHttp {
20 public:
21  IMccHttp() {}
22  virtual ~IMccHttp() {}
23  virtual int get(const char* url, const char* header, IMccResponseCallback* callback) = 0;
24  virtual int post(const char* url, const char* header, const char* body, IMccResponseCallback* callback) = 0;
25 };
26 
28 public:
29  virtual ~IMccYSDInitCallback() {}
30  virtual void onInit(int errorCode) = 0;
31 };
32 
34 public:
36  virtual void onReport(int errorCode) = 0;
37 };
38 
40 public:
42  virtual void onMediaResource(int errorCode, const char* response) = 0;
43 };
44 
51 };
52 
54  int32_t startTime;
55  int32_t duration;
56  int32_t pitch;
57 
59  MccYSDPitchData(int32_t startTime, int32_t duration, int32_t pitch)
61 };
62 
64  int32_t index;
65  int32_t score;
66 
67  MccYSDScoreInfo() : index(0), score(0) {}
68  MccYSDScoreInfo(int32_t index, int32_t score) : index(index), score(score) {}
69 };
70 
74 };
75 
77  const char* pitchData;
78  const char* lyric;
79  const char* urlToken;
80  int offset;
83  void* httpImpl;
85 };
86 
88  public:
90  {
96  };
97 
99  {
102  };
103 
105  {
109  };
110 
112  virtual ~MccYSDExtension() {}
113 
114  virtual int initialize(const char* pitchData, const char* lyric, int offset, int segmentOffset, const char* urlToken, IMccYSDInitCallback* callback, MccYSDScoreVersion version = Version_OLD) = 0;
115  virtual void release() = 0;
116  virtual bool isInitialized() = 0;
117  virtual void setHttpImpl(IMccHttp* httpClient) = 0;
118  virtual int setAudioParams(int sampleRate, int channels) = 0;
119  virtual bool getPitchData(MccYSDPitchData** pitchData, int* count) = 0;
120  virtual void enableScore(bool enable) = 0;
121  virtual void setPitch(int16_t pitch) = 0;
122  virtual const char* getLyric() = 0;
123  virtual const char* decryptLyric(const char* lyric) = 0;
124  virtual int immediatelyDisplay() = 0;
125  virtual int updateScore(int pts, MccYSDScoreInfo& scoreInfo) = 0;
126  virtual int updateAverageScore(int pts) = 0;
127  virtual int updateTotalScore(int pts) = 0;
128  virtual int calculateTotalScore() = 0;
129  virtual void process(const void* buffer, int size, int pts) = 0;
130  virtual void reset() = 0;
131  virtual void setScoreHardLevel(ScoreHardLevel level) = 0;
132  virtual int report(IMccYSDReportCallback* callback) = 0;
133  virtual const char* version() = 0;
134  virtual int getMediaResource(const char* deviceId, const char* pid, const char* userId, const char* roomId, const char* token,
135  const char* songId, bool ssl, ChargeMode chargeMode, MediaType mediaType,
136  IMccYSDMediaResourceCallback* response) = 0;
137  virtual int getMusicSegmentOffset() = 0;
138  virtual void setCurrentSongCode(int64_t songCode) {
139  songCode_ = songCode;
140  }
141 
142  protected:
144  int64_t songCode_;
145 };
146 
147 
148 } // namespace rtc
149 } // namespace agora
agora::rtc::MccYSDExtension::ChargeMode
ChargeMode
Definition: NGIAgoraExtensionMccYSDScore.h:99
agora::rtc::MccYSDExtension::MEDIA_TYPE_ACCOMPANY_FRAGMENT
@ MEDIA_TYPE_ACCOMPANY_FRAGMENT
Definition: NGIAgoraExtensionMccYSDScore.h:108
agora::rtc::YSDScoreConfig::offset
int offset
Definition: NGIAgoraExtensionMccYSDScore.h:80
agora::rtc::IMccHttp
Definition: NGIAgoraExtensionMccYSDScore.h:19
agora::rtc::MccYSDExtension::CHARGE_MODE_ONCE
@ CHARGE_MODE_ONCE
Definition: NGIAgoraExtensionMccYSDScore.h:101
agora::rtc::MccYSDExtension::MEDIA_TYPE_ACCOMPANY
@ MEDIA_TYPE_ACCOMPANY
Definition: NGIAgoraExtensionMccYSDScore.h:107
agora::rtc::MccYSDScoreInfo::index
int32_t index
Definition: NGIAgoraExtensionMccYSDScore.h:64
agora::rtc::Version_NEW
@ Version_NEW
Definition: NGIAgoraExtensionMccYSDScore.h:73
agora::rtc::MccYSDExtension::getMediaResource
virtual int getMediaResource(const char *deviceId, const char *pid, const char *userId, const char *roomId, const char *token, const char *songId, bool ssl, ChargeMode chargeMode, MediaType mediaType, IMccYSDMediaResourceCallback *response)=0
agora::rtc::MccYSDPitchData::startTime
int32_t startTime
Definition: NGIAgoraExtensionMccYSDScore.h:54
agora::rtc::MccYSDScoreInfo::score
int32_t score
Definition: NGIAgoraExtensionMccYSDScore.h:65
agora::rtc::YSDScoreConfig::lyric
const char * lyric
Definition: NGIAgoraExtensionMccYSDScore.h:78
agora::rtc::MccYSDScoreInfo
Definition: NGIAgoraExtensionMccYSDScore.h:63
agora::rtc::MccYSDScoreState
MccYSDScoreState
Definition: NGIAgoraExtensionMccYSDScore.h:45
agora::rtc::MccYSDExtension::ScoreHardLevel
ScoreHardLevel
Definition: NGIAgoraExtensionMccYSDScore.h:90
agora::rtc::MccYSDExtension::MEDIA_TYPE_SONG
@ MEDIA_TYPE_SONG
Definition: NGIAgoraExtensionMccYSDScore.h:106
agora::rtc::MccYSDExtension::CHARGE_MODE_MONTHLY
@ CHARGE_MODE_MONTHLY
Definition: NGIAgoraExtensionMccYSDScore.h:100
agora::rtc::IMccHttp::get
virtual int get(const char *url, const char *header, IMccResponseCallback *callback)=0
agora::rtc::MccYSDExtension::setHttpImpl
virtual void setHttpImpl(IMccHttp *httpClient)=0
agora::rtc::MccYSDExtension::getMusicSegmentOffset
virtual int getMusicSegmentOffset()=0
agora::rtc::IMccYSDInitCallback::onInit
virtual void onInit(int errorCode)=0
agora::rtc::YSDScoreConfig::pitchData
const char * pitchData
Definition: NGIAgoraExtensionMccYSDScore.h:77
agora::rtc::MccYSDExtension::immediatelyDisplay
virtual int immediatelyDisplay()=0
agora::rtc::YSDScoreConfig::httpImpl
void * httpImpl
Definition: NGIAgoraExtensionMccYSDScore.h:83
agora::rtc::MccYSDExtension::report
virtual int report(IMccYSDReportCallback *callback)=0
agora::rtc::MccYSDExtension::isInitialized
virtual bool isInitialized()=0
agora::rtc::MccYSDExtension::updateScore
virtual int updateScore(int pts, MccYSDScoreInfo &scoreInfo)=0
agora::rtc::MccYSDScoreStateProcessing
@ MccYSDScoreStateProcessing
Definition: NGIAgoraExtensionMccYSDScore.h:48
agora::rtc::YSDScoreConfig::callback
IMccYSDInitCallback * callback
Definition: NGIAgoraExtensionMccYSDScore.h:82
agora
Definition: AgoraAtomicOps.h:21
agora::rtc::MccYSDExtension::m_httpClient
IMccHttp * m_httpClient
Definition: NGIAgoraExtensionMccYSDScore.h:143
agora::rtc::MccYSDExtension::setAudioParams
virtual int setAudioParams(int sampleRate, int channels)=0
agora::rtc::MccYSDPitchData::pitch
int32_t pitch
Definition: NGIAgoraExtensionMccYSDScore.h:56
agora::rtc::IMccResponseCallback
Definition: NGIAgoraExtensionMccYSDScore.h:13
agora::rtc::MccYSDExtension::getPitchData
virtual bool getPitchData(MccYSDPitchData **pitchData, int *count)=0
agora::rtc::MccYSDScoreStateStart
@ MccYSDScoreStateStart
Definition: NGIAgoraExtensionMccYSDScore.h:47
agora::rtc::MccYSDExtension::calculateTotalScore
virtual int calculateTotalScore()=0
agora::rtc::MccYSDExtension::enableScore
virtual void enableScore(bool enable)=0
agora::rtc::MccYSDExtension::SCORE_HARD_LEVEL2
@ SCORE_HARD_LEVEL2
Definition: NGIAgoraExtensionMccYSDScore.h:92
agora::rtc::MccYSDExtension::setPitch
virtual void setPitch(int16_t pitch)=0
agora::rtc::MccYSDExtension::reset
virtual void reset()=0
agora::rtc::MccYSDPitchData
Definition: NGIAgoraExtensionMccYSDScore.h:53
agora::rtc::MccYSDScoreStateNone
@ MccYSDScoreStateNone
Definition: NGIAgoraExtensionMccYSDScore.h:46
agora::rtc::MccYSDExtension::SCORE_HARD_LEVEL1
@ SCORE_HARD_LEVEL1
Definition: NGIAgoraExtensionMccYSDScore.h:91
agora::rtc::MccYSDExtension::SCORE_HARD_LEVEL5
@ SCORE_HARD_LEVEL5
Definition: NGIAgoraExtensionMccYSDScore.h:95
agora::rtc::YSDScoreConfig::segmentOffset
int segmentOffset
Definition: NGIAgoraExtensionMccYSDScore.h:81
agora::rtc::MccYSDExtension::MccYSDExtension
MccYSDExtension()
Definition: NGIAgoraExtensionMccYSDScore.h:111
agora::rtc::IMccYSDMediaResourceCallback
Definition: NGIAgoraExtensionMccYSDScore.h:39
agora::rtc::MccYSDPitchData::MccYSDPitchData
MccYSDPitchData()
Definition: NGIAgoraExtensionMccYSDScore.h:58
agora::rtc::MccYSDExtension::setCurrentSongCode
virtual void setCurrentSongCode(int64_t songCode)
Definition: NGIAgoraExtensionMccYSDScore.h:138
agora::rtc::IMccYSDInitCallback::~IMccYSDInitCallback
virtual ~IMccYSDInitCallback()
Definition: NGIAgoraExtensionMccYSDScore.h:29
agora::rtc::IMccYSDMediaResourceCallback::~IMccYSDMediaResourceCallback
virtual ~IMccYSDMediaResourceCallback()
Definition: NGIAgoraExtensionMccYSDScore.h:41
agora::rtc::YSDScoreConfig::version
MccYSDScoreVersion version
Definition: NGIAgoraExtensionMccYSDScore.h:84
agora::rtc::MccYSDExtension::updateTotalScore
virtual int updateTotalScore(int pts)=0
agora::rtc::MccYSDExtension::initialize
virtual int initialize(const char *pitchData, const char *lyric, int offset, int segmentOffset, const char *urlToken, IMccYSDInitCallback *callback, MccYSDScoreVersion version=Version_OLD)=0
agora::rtc::MccYSDPitchData::duration
int32_t duration
Definition: NGIAgoraExtensionMccYSDScore.h:55
agora::rtc::IMccResponseCallback::onResponse
virtual void onResponse(void *data, int length)=0
agora::rtc::IMccYSDReportCallback
Definition: NGIAgoraExtensionMccYSDScore.h:33
agora::rtc::MccYSDExtension
Definition: NGIAgoraExtensionMccYSDScore.h:87
agora::rtc::MccYSDExtension::SCORE_HARD_LEVEL4
@ SCORE_HARD_LEVEL4
Definition: NGIAgoraExtensionMccYSDScore.h:94
agora::rtc::IMccHttp::IMccHttp
IMccHttp()
Definition: NGIAgoraExtensionMccYSDScore.h:21
agora::rtc::MccYSDExtension::setScoreHardLevel
virtual void setScoreHardLevel(ScoreHardLevel level)=0
agora::rtc::IMccYSDReportCallback::~IMccYSDReportCallback
virtual ~IMccYSDReportCallback()
Definition: NGIAgoraExtensionMccYSDScore.h:35
agora::rtc::MccYSDExtension::~MccYSDExtension
virtual ~MccYSDExtension()
Definition: NGIAgoraExtensionMccYSDScore.h:112
agora::rtc::MccYSDExtension::SCORE_HARD_LEVEL3
@ SCORE_HARD_LEVEL3
Definition: NGIAgoraExtensionMccYSDScore.h:93
agora::rtc::MccYSDExtension::songCode_
int64_t songCode_
Definition: NGIAgoraExtensionMccYSDScore.h:144
agora::rtc::MccYSDScoreInfo::MccYSDScoreInfo
MccYSDScoreInfo()
Definition: NGIAgoraExtensionMccYSDScore.h:67
agora::rtc::IMccYSDMediaResourceCallback::onMediaResource
virtual void onMediaResource(int errorCode, const char *response)=0
agora::rtc::MccYSDScoreStateStop
@ MccYSDScoreStateStop
Definition: NGIAgoraExtensionMccYSDScore.h:50
agora::rtc::MccYSDScoreVersion
MccYSDScoreVersion
Definition: NGIAgoraExtensionMccYSDScore.h:71
agora::rtc::IMccYSDInitCallback
Definition: NGIAgoraExtensionMccYSDScore.h:27
agora::rtc::YSDScoreConfig::urlToken
const char * urlToken
Definition: NGIAgoraExtensionMccYSDScore.h:79
agora::rtc::MccYSDExtension::decryptLyric
virtual const char * decryptLyric(const char *lyric)=0
agora::rtc::IMccResponseCallback::~IMccResponseCallback
virtual ~IMccResponseCallback()
Definition: NGIAgoraExtensionMccYSDScore.h:15
agora::rtc::MccYSDExtension::release
virtual void release()=0
agora::rtc::MccYSDExtension::version
virtual const char * version()=0
agora::rtc::IMccHttp::~IMccHttp
virtual ~IMccHttp()
Definition: NGIAgoraExtensionMccYSDScore.h:22
agora::rtc::MccYSDScoreStatePause
@ MccYSDScoreStatePause
Definition: NGIAgoraExtensionMccYSDScore.h:49
agora::rtc::YSDScoreConfig
Definition: NGIAgoraExtensionMccYSDScore.h:76
agora::rtc::MccYSDExtension::process
virtual void process(const void *buffer, int size, int pts)=0
agora::rtc::MccYSDExtension::getLyric
virtual const char * getLyric()=0
agora::rtc::MccYSDScoreInfo::MccYSDScoreInfo
MccYSDScoreInfo(int32_t index, int32_t score)
Definition: NGIAgoraExtensionMccYSDScore.h:68
agora::rtc::MccYSDExtension::MediaType
MediaType
Definition: NGIAgoraExtensionMccYSDScore.h:105
rtc
Definition: video_node_i.h:28
agora::rtc::IMccHttp::post
virtual int post(const char *url, const char *header, const char *body, IMccResponseCallback *callback)=0
agora::rtc::Version_OLD
@ Version_OLD
Definition: NGIAgoraExtensionMccYSDScore.h:72
agora::rtc::MccYSDExtension::updateAverageScore
virtual int updateAverageScore(int pts)=0
agora::rtc::IMccYSDReportCallback::onReport
virtual void onReport(int errorCode)=0
agora::rtc::MccYSDPitchData::MccYSDPitchData
MccYSDPitchData(int32_t startTime, int32_t duration, int32_t pitch)
Definition: NGIAgoraExtensionMccYSDScore.h:59