@@ -5,48 +5,27 @@ import (
5
5
"log"
6
6
"time"
7
7
8
- "github.com/AgoraIO-Community/agora-rest-client-go/agora"
9
- "github.com/AgoraIO-Community/agora-rest-client-go/agora/domain"
10
- agoraLogger "github.com/AgoraIO-Community/agora-rest-client-go/agora/log"
11
8
"github.com/AgoraIO-Community/agora-rest-client-go/examples/cloudrecording/base"
12
- "github.com/AgoraIO-Community/agora-rest-client-go/services/cloudrecording"
13
9
cloudRecordingAPI "github.com/AgoraIO-Community/agora-rest-client-go/services/cloudrecording/api"
14
- "github.com/AgoraIO-Community/agora-rest-client-go/services/cloudrecording/scenario/mixrecording "
10
+ "github.com/AgoraIO-Community/agora-rest-client-go/services/cloudrecording/req "
15
11
)
16
12
17
- type Service struct {
18
- base.Service
13
+ type Scenario struct {
14
+ * base.Service
19
15
}
20
16
21
- func NewService (region domain.Area , appId , cname , uid string ) * Service {
22
- return & Service {
23
- base.Service {
24
- DomainArea : region ,
25
- AppId : appId ,
26
- Cname : cname ,
27
- Uid : uid ,
28
- Credential : nil ,
29
- },
17
+ func NewScenario (s * base.Service ) * Scenario {
18
+ return & Scenario {
19
+ Service : s ,
30
20
}
31
21
}
32
22
33
- func (s * Service ) RunHLS (token string , storageConfig * cloudRecordingAPI.StorageConfig ) {
23
+ func (s * Scenario ) RunHLS (token string , storageConfig * cloudRecordingAPI.StorageConfig ) {
34
24
ctx := context .Background ()
35
- config := & agora.Config {
36
- AppID : s .AppId ,
37
- Credential : s .Credential ,
38
- DomainArea : s .DomainArea ,
39
- Logger : agoraLogger .NewDefaultLogger (agoraLogger .DebugLevel ),
40
- }
41
-
42
- cloudRecordingClient , err := cloudrecording .NewClient (config )
43
- if err != nil {
44
- log .Fatalln (err )
45
- }
46
25
47
26
// acquire
48
- acquireResp , err := cloudRecordingClient .MixRecording ().
49
- Acquire (ctx , s .Cname , s .Uid , & mixrecording .AcquireMixRecodingClientRequest {})
27
+ acquireResp , err := s . CloudRecordingClient .MixRecording ().
28
+ Acquire (ctx , s .Cname , s .Uid , & req .AcquireMixRecodingClientRequest {})
50
29
if err != nil {
51
30
log .Println (err )
52
31
return
@@ -60,7 +39,7 @@ func (s *Service) RunHLS(token string, storageConfig *cloudRecordingAPI.StorageC
60
39
61
40
resourceId := acquireResp .SuccessRes .ResourceId
62
41
// start
63
- startResp , err := cloudRecordingClient . MixRecording ().Start (ctx , resourceId , s .Cname , s .Uid , & mixrecording .StartMixRecordingClientRequest {
42
+ startResp , err := s . CloudRecordingClient . MixRecording ().Start (ctx , resourceId , s .Cname , s .Uid , & req .StartMixRecordingClientRequest {
64
43
Token : token ,
65
44
RecordingConfig : & cloudRecordingAPI.RecordingConfig {
66
45
ChannelType : 1 ,
@@ -103,7 +82,7 @@ func (s *Service) RunHLS(token string, storageConfig *cloudRecordingAPI.StorageC
103
82
sid := startResp .SuccessResponse .Sid
104
83
// stop
105
84
defer func () {
106
- stopResp , err := cloudRecordingClient .MixRecording ().Stop (ctx , resourceId , sid , s .Cname , s .Uid , false )
85
+ stopResp , err := s . CloudRecordingClient .MixRecording ().Stop (ctx , resourceId , sid , s .Cname , s .Uid , false )
107
86
if err != nil {
108
87
log .Println (err )
109
88
return
@@ -118,7 +97,7 @@ func (s *Service) RunHLS(token string, storageConfig *cloudRecordingAPI.StorageC
118
97
119
98
// query
120
99
for i := 0 ; i < 3 ; i ++ {
121
- queryResp , err := cloudRecordingClient .MixRecording ().QueryHLS (ctx , resourceId , sid )
100
+ queryResp , err := s . CloudRecordingClient .MixRecording ().QueryHLS (ctx , resourceId , sid )
122
101
if err != nil {
123
102
log .Println (err )
124
103
return
@@ -133,7 +112,7 @@ func (s *Service) RunHLS(token string, storageConfig *cloudRecordingAPI.StorageC
133
112
}
134
113
135
114
// update
136
- updateResp , err := cloudRecordingClient . MixRecording ().Update (ctx , resourceId , sid , s .Cname , s .Uid , & mixrecording .UpdateMixRecordingClientRequest {
115
+ updateResp , err := s . CloudRecordingClient . MixRecording ().Update (ctx , resourceId , sid , s .Cname , s .Uid , & req .UpdateMixRecordingClientRequest {
137
116
StreamSubscribe : & cloudRecordingAPI.UpdateStreamSubscribe {
138
117
AudioUidList : & cloudRecordingAPI.UpdateAudioUIDList {
139
118
SubscribeAudioUIDs : []string {
@@ -159,7 +138,7 @@ func (s *Service) RunHLS(token string, storageConfig *cloudRecordingAPI.StorageC
159
138
}
160
139
161
140
// updateLayout
162
- updateLayoutResp , err := cloudRecordingClient . MixRecording ().UpdateLayout (ctx , resourceId , sid , s .Cname , s .Uid , & mixrecording .UpdateLayoutUpdateMixRecordingClientRequest {
141
+ updateLayoutResp , err := s . CloudRecordingClient . MixRecording ().UpdateLayout (ctx , resourceId , sid , s .Cname , s .Uid , & req .UpdateLayoutUpdateMixRecordingClientRequest {
163
142
MixedVideoLayout : 1 ,
164
143
BackgroundColor : "#FF0000" ,
165
144
},
@@ -177,7 +156,7 @@ func (s *Service) RunHLS(token string, storageConfig *cloudRecordingAPI.StorageC
177
156
178
157
// query
179
158
for i := 0 ; i < 3 ; i ++ {
180
- queryResp , err := cloudRecordingClient .MixRecording ().QueryHLS (ctx , resourceId , sid )
159
+ queryResp , err := s . CloudRecordingClient .MixRecording ().QueryHLS (ctx , resourceId , sid )
181
160
if err != nil {
182
161
log .Println (err )
183
162
return
@@ -192,22 +171,11 @@ func (s *Service) RunHLS(token string, storageConfig *cloudRecordingAPI.StorageC
192
171
}
193
172
}
194
173
195
- func (s * Service ) RunHLSAndMP4 (token string , storageConfig * cloudRecordingAPI.StorageConfig ) {
174
+ func (s * Scenario ) RunHLSAndMP4 (token string , storageConfig * cloudRecordingAPI.StorageConfig ) {
196
175
ctx := context .Background ()
197
176
198
- config := & agora.Config {
199
- AppID : s .AppId ,
200
- Credential : s .Credential ,
201
- DomainArea : s .DomainArea ,
202
- Logger : agoraLogger .NewDefaultLogger (agoraLogger .DebugLevel ),
203
- }
204
- cloudRecordingClient , err := cloudrecording .NewClient (config )
205
- if err != nil {
206
- log .Fatalln (err )
207
- }
208
-
209
177
// acquire
210
- acquireResp , err := cloudRecordingClient . MixRecording ().Acquire (ctx , s .Cname , s .Uid , & mixrecording .AcquireMixRecodingClientRequest {})
178
+ acquireResp , err := s . CloudRecordingClient . MixRecording ().Acquire (ctx , s .Cname , s .Uid , & req .AcquireMixRecodingClientRequest {})
211
179
if err != nil {
212
180
log .Println (err )
213
181
return
@@ -221,7 +189,7 @@ func (s *Service) RunHLSAndMP4(token string, storageConfig *cloudRecordingAPI.St
221
189
222
190
resourceId := acquireResp .SuccessRes .ResourceId
223
191
// start
224
- startResp , err := cloudRecordingClient . MixRecording ().Start (ctx , resourceId , s .Cname , s .Uid , & mixrecording .StartMixRecordingClientRequest {
192
+ startResp , err := s . CloudRecordingClient . MixRecording ().Start (ctx , resourceId , s .Cname , s .Uid , & req .StartMixRecordingClientRequest {
225
193
Token : token ,
226
194
RecordingConfig : & cloudRecordingAPI.RecordingConfig {
227
195
ChannelType : 1 ,
@@ -265,7 +233,7 @@ func (s *Service) RunHLSAndMP4(token string, storageConfig *cloudRecordingAPI.St
265
233
sid := startResp .SuccessResponse .Sid
266
234
// stop
267
235
defer func () {
268
- stopResp , err := cloudRecordingClient .MixRecording ().Stop (ctx , resourceId , sid , s .Cname , s .Uid , false )
236
+ stopResp , err := s . CloudRecordingClient .MixRecording ().Stop (ctx , resourceId , sid , s .Cname , s .Uid , false )
269
237
if err != nil {
270
238
log .Println (err )
271
239
return
@@ -280,7 +248,7 @@ func (s *Service) RunHLSAndMP4(token string, storageConfig *cloudRecordingAPI.St
280
248
281
249
// query
282
250
for i := 0 ; i < 3 ; i ++ {
283
- queryResp , err := cloudRecordingClient .MixRecording ().QueryHLSAndMP4 (ctx , resourceId , sid )
251
+ queryResp , err := s . CloudRecordingClient .MixRecording ().QueryHLSAndMP4 (ctx , resourceId , sid )
284
252
if err != nil {
285
253
log .Println (err )
286
254
return
@@ -295,7 +263,7 @@ func (s *Service) RunHLSAndMP4(token string, storageConfig *cloudRecordingAPI.St
295
263
}
296
264
297
265
// update
298
- updateResp , err := cloudRecordingClient . MixRecording ().Update (ctx , resourceId , sid , s .Cname , s .Uid , & mixrecording .UpdateMixRecordingClientRequest {
266
+ updateResp , err := s . CloudRecordingClient . MixRecording ().Update (ctx , resourceId , sid , s .Cname , s .Uid , & req .UpdateMixRecordingClientRequest {
299
267
StreamSubscribe : & cloudRecordingAPI.UpdateStreamSubscribe {
300
268
AudioUidList : & cloudRecordingAPI.UpdateAudioUIDList {
301
269
SubscribeAudioUIDs : []string {
@@ -321,7 +289,7 @@ func (s *Service) RunHLSAndMP4(token string, storageConfig *cloudRecordingAPI.St
321
289
}
322
290
323
291
// updateLayout
324
- updateLayoutResp , err := cloudRecordingClient . MixRecording ().UpdateLayout (ctx , resourceId , sid , s .Cname , s .Uid , & mixrecording .UpdateLayoutUpdateMixRecordingClientRequest {
292
+ updateLayoutResp , err := s . CloudRecordingClient . MixRecording ().UpdateLayout (ctx , resourceId , sid , s .Cname , s .Uid , & req .UpdateLayoutUpdateMixRecordingClientRequest {
325
293
MixedVideoLayout : 1 ,
326
294
BackgroundColor : "#FF0000" ,
327
295
},
@@ -339,7 +307,7 @@ func (s *Service) RunHLSAndMP4(token string, storageConfig *cloudRecordingAPI.St
339
307
340
308
// query
341
309
for i := 0 ; i < 3 ; i ++ {
342
- queryResp , err := cloudRecordingClient .MixRecording ().QueryHLSAndMP4 (ctx , resourceId , sid )
310
+ queryResp , err := s . CloudRecordingClient .MixRecording ().QueryHLSAndMP4 (ctx , resourceId , sid )
343
311
if err != nil {
344
312
log .Println (err )
345
313
return
0 commit comments