@tencent-rtc/mcp 1.2.7 → 1.2.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/package.json +1 -1
  2. package/resource/doc/native_live/android/V2TXLiveCode_api_android.md +312 -0
  3. package/resource/doc/native_live/android/V2TXLiveDef_api_android.md +430 -0
  4. package/resource/doc/native_live/android/V2TXLivePlayerObserver_api_android.md +679 -0
  5. package/resource/doc/native_live/android/V2TXLivePlayer_api_android.md +671 -0
  6. package/resource/doc/native_live/android/V2TXLivePremier_api_android.md +271 -0
  7. package/resource/doc/native_live/android/V2TXLivePusherObserver_api_android.md +849 -0
  8. package/resource/doc/native_live/android/V2TXLivePusher_api_android.md +1046 -0
  9. package/resource/doc/native_live/flutter/V2TXLiveCode_api_flutter.md +460 -0
  10. package/resource/doc/native_live/flutter/V2TXLiveDef_api_flutter.md +558 -0
  11. package/resource/doc/native_live/flutter/V2TXLivePlayerObserver_api_flutter.md +865 -0
  12. package/resource/doc/native_live/flutter/V2TXLivePlayer_api_flutter.md +657 -0
  13. package/resource/doc/native_live/flutter/V2TXLivePremier_api_flutter.md +437 -0
  14. package/resource/doc/native_live/flutter/V2TXLivePusherObserver_api_flutter.md +335 -0
  15. package/resource/doc/native_live/flutter/V2TXLivePusher_api_flutter.md +748 -0
  16. package/resource/doc/native_live/iOS/V2TXLiveCode_api_iOS.md +327 -0
  17. package/resource/doc/native_live/iOS/V2TXLiveDef_api_iOS.md +507 -0
  18. package/resource/doc/native_live/iOS/V2TXLivePlayerObserver_api_iOS.md +507 -0
  19. package/resource/doc/native_live/iOS/V2TXLivePlayer_api_iOS.md +659 -0
  20. package/resource/doc/native_live/iOS/V2TXLivePremier_api_iOS.md +284 -0
  21. package/resource/doc/native_live/iOS/V2TXLivePusherObserver_api_iOS.md +814 -0
  22. package/resource/doc/native_live/iOS/V2TXLivePusher_api_iOS.md +1000 -0
  23. package/tools/common/get-faq.js +1 -1
  24. package/tools/common/get-faq.js.map +1 -1
  25. package/tools/definitions/get_native_live_api_def.js +23 -0
  26. package/tools/definitions/get_native_live_api_def.js.map +1 -0
  27. package/tools/index.js +4 -0
  28. package/tools/index.js.map +1 -1
  29. package/tools/native_live/get-native-live-api.js +31 -0
  30. package/tools/native_live/get-native-live-api.js.map +1 -0
  31. package/utils/report-cls-client.js +1 -1
  32. package/utils/report-es-client.js +1 -1
@@ -0,0 +1,558 @@
1
+ # Tencent Cloud Live Streaming SDK V2TXLiveDef Type Definition Documentation
2
+
3
+ ## Feature Overview
4
+
5
+ `V2TXLiveDef` is the primary type definition file for the Tencent Cloud Live Streaming SDK. It includes all enumerations, constants, and data structures required for live stream publishing and playback.
6
+
7
+ **File Path**: `v2_tx_live_def.dart`
8
+
9
+ **Core Features**:
10
+ - Defines video and audio enumerations and constants
11
+ - Provides data structures for statistics and configuration parameters
12
+ - Supports configuration for cloud stream mixing and local recording
13
+
14
+ ## 1. Supported Protocols
15
+
16
+ ### V2TXLiveMode - Supported Protocols for Live Stream Publishing
17
+ ```dart
18
+ enum V2TXLiveMode {
19
+ /// Supported protocol: RTMP
20
+ v2TXLiveModeRTMP,
21
+
22
+ /// Supported protocol: RTC
23
+ v2TXLiveModeRTC,
24
+ }
25
+ ```
26
+
27
+ ## Render View Definition
28
+
29
+ ### V2TXLiveRenderView
30
+
31
+ Defines the video rendering view type.
32
+
33
+ ```dart
34
+ class V2TXLiveRenderView {
35
+ static const String renderViewType = 'v2_live_view_factory';
36
+ }
37
+ ```
38
+
39
+ ## Protocol Support
40
+
41
+ ### V2TXLiveMode
42
+
43
+ Enumerates the supported live streaming protocols:
44
+
45
+ | Enum Value | Description |
46
+ |------------|-------------|
47
+ | `v2TXLiveModeRTMP` | RTMP protocol |
48
+ | `v2TXLiveModeRTC` | TRTC protocol |
49
+
50
+ ## 2. Video Type Definitions
51
+
52
+ ### V2TXLiveVideoResolution - Video Resolution Enumeration
53
+ ```dart
54
+ enum V2TXLiveVideoResolution {
55
+ /// 160x160, bitrate: 100Kbps ~ 150Kbps, frame rate: 15fps.
56
+ v2TXLiveVideoResolution160x160,
57
+
58
+ /// 270x270, bitrate: 200Kbps ~ 300Kbps, frame rate: 15fps.
59
+ v2TXLiveVideoResolution270x270,
60
+
61
+ /// 480x480, bitrate: 350Kbps ~ 525Kbps, frame rate: 15fps.
62
+ v2TXLiveVideoResolution480x480,
63
+
64
+ /// 320x240, bitrate: 250Kbps ~ 375Kbps, frame rate: 15fps.
65
+ v2TXLiveVideoResolution320x240,
66
+
67
+ /// 480x360, bitrate: 400Kbps ~ 600Kbps, frame rate: 15fps.
68
+ v2TXLiveVideoResolution480x360,
69
+
70
+ /// 640x480, bitrate: 600Kbps ~ 900Kbps, frame rate: 15fps.
71
+ v2TXLiveVideoResolution640x480,
72
+
73
+ /// 320x180, bitrate: 250Kbps ~ 400Kbps, frame rate: 15fps.
74
+ v2TXLiveVideoResolution320x180,
75
+
76
+ /// 480x270, bitrate: 350Kbps ~ 550Kbps, frame rate: 15fps.
77
+ v2TXLiveVideoResolution480x270,
78
+
79
+ /// 640x360, bitrate: 500Kbps ~ 900Kbps, frame rate: 15fps.
80
+ v2TXLiveVideoResolution640x360,
81
+
82
+ /// 960x540, bitrate: 800Kbps ~ 1500Kbps, frame rate: 15fps.
83
+ v2TXLiveVideoResolution960x540,
84
+
85
+ /// 1280x720, bitrate: 1000Kbps ~ 1800Kbps, frame rate: 15fps.
86
+ v2TXLiveVideoResolution1280x720,
87
+
88
+ /// 1920x1080, bitrate: 2500Kbps ~ 3000Kbps, frame rate: 15fps.
89
+ v2TXLiveVideoResolution1920x1080,
90
+ }
91
+ ```
92
+
93
+ | Resolution | Bitrate Range | Frame Rate | Description |
94
+ |------------|--------------|------------|-------------|
95
+ | 160×160 | 100-150Kbps | 15fps | Ultra-low resolution, ideal for voice calls |
96
+ | 270×270 | 200-300Kbps | 15fps | Low resolution |
97
+ | 480×480 | 350-525Kbps | 15fps | Standard square resolution |
98
+ | 320×240 | 250-375Kbps | 15fps | Standard 4:3 aspect ratio |
99
+ | 480×360 | 400-600Kbps | 15fps | Medium 4:3 aspect ratio |
100
+ | 640×480 | 600-900Kbps | 15fps | SD resolution |
101
+ | 320×180 | 250-400Kbps | 15fps | Low 16:9 aspect ratio |
102
+ | 480×270 | 350-550Kbps | 15fps | Standard 16:9 aspect ratio |
103
+ | 640×360 | 500-900Kbps | 15fps | Medium 16:9 aspect ratio |
104
+ | 960×540 | 800-1500Kbps | 15fps | HD resolution |
105
+ | 1280×720 | 1000-1800Kbps | 15fps | 720p HD |
106
+ | 1920×1080 | 2500-3000Kbps | 15fps | 1080p Full HD |
107
+
108
+ ### V2TXLiveVideoResolutionMode
109
+
110
+ Video resolution orientation:
111
+
112
+ | Enum Value | Description |
113
+ |------------|-------------|
114
+ | `v2TXLiveVideoResolutionModeLandscape` | Landscape orientation |
115
+ | `v2TXLiveVideoResolutionModePortrait` | Portrait orientation |
116
+
117
+ **Note**: The orientation affects the actual resolution dimensions. For example:
118
+ - Landscape: 640×360 = 640×360
119
+ - Portrait: 640×360 = 360×640
120
+
121
+ ## Video Encoder Parameters
122
+
123
+ ### V2TXLiveVideoResolutionMode - Video Orientation Mode
124
+ ```dart
125
+ enum V2TXLiveVideoResolutionMode {
126
+ /// Landscape orientation
127
+ v2TXLiveVideoResolutionModeLandscape,
128
+
129
+ /// Portrait orientation
130
+ v2TXLiveVideoResolutionModePortrait,
131
+ }
132
+ ```
133
+
134
+ ### V2TXLiveVideoEncoderParam - Video Encoder Parameter Configuration
135
+ ```dart
136
+ class V2TXLiveVideoEncoderParam {
137
+ V2TXLiveVideoResolution videoResolution; // Video resolution
138
+ V2TXLiveVideoResolutionMode videoResolutionMode; // Resolution orientation
139
+ int videoFps; // Capture frame rate
140
+ int videoBitrate; // Target video bitrate
141
+ int minVideoBitrate; // Minimum video bitrate
142
+ }
143
+ ```
144
+
145
+ **Recommended Settings**:
146
+ - **Frame Rate**: 15fps or 20fps. Using less than 5fps can cause severe playback stuttering; above 20fps may result in unnecessary bandwidth usage.
147
+ - **Adaptive Bitrate**: Set both `videoBitrate` and `minVideoBitrate` to define the range for bitrate adaptation.
148
+
149
+ ## Video Preview and Fill Modes
150
+
151
+ ### V2TXLiveMirrorType - Camera Mirror Mode
152
+ ```dart
153
+ enum V2TXLiveMirrorType {
154
+ /// System default: front camera mirrored, rear camera not mirrored
155
+ v2TXLiveMirrorTypeAuto,
156
+
157
+ /// Mirror mode for both front and rear cameras
158
+ v2TXLiveMirrorTypeEnable,
159
+
160
+ /// No mirror mode for either camera
161
+ v2TXLiveMirrorTypeDisable,
162
+ }
163
+ ```
164
+
165
+ ### V2TXLiveFillMode - Video Fill Mode
166
+ ```dart
167
+ enum V2TXLiveFillMode {
168
+ /// Image fills the screen; excess is cropped, some content may be lost
169
+ v2TXLiveFillModeFill,
170
+
171
+ /// Long edge fills the screen; short edge is padded with black, full content retained
172
+ v2TXLiveFillModeFit,
173
+
174
+ /// Image is stretched to fill; aspect ratio may not be preserved
175
+ v2TXLiveFillModeScaleFill
176
+ }
177
+ ```
178
+
179
+ ### V2TXLiveRotation - Video Rotation Angle
180
+ ```dart
181
+ enum V2TXLiveRotation {
182
+ /// No rotation
183
+ v2TXLiveRotation0,
184
+
185
+ /// Rotate 90 degrees clockwise
186
+ v2TXLiveRotation90,
187
+
188
+ /// Rotate 180 degrees clockwise
189
+ v2TXLiveRotation180,
190
+
191
+ /// Rotate 270 degrees clockwise
192
+ v2TXLiveRotation270,
193
+ }
194
+ ```
195
+
196
+ ### V2TXLivePixelFormat - Video Frame Pixel Format
197
+ ```dart
198
+ enum V2TXLivePixelFormat {
199
+ /// Unknown
200
+ v2TXLivePixelFormatUnknown,
201
+
202
+ /// YUV420P I420 format
203
+ v2TXLivePixelFormatI420,
204
+
205
+ /// YUV420SP NV12 format
206
+ v2TXLivePixelFormatNV12,
207
+
208
+ /// BGRA8888 format
209
+ v2TXLivePixelFormatBGRA32,
210
+
211
+ /// OpenGL 2D texture format
212
+ v2TXLivePixelFormatTexture2D,
213
+ }
214
+ ```
215
+ ### V2TXLiveBufferType - Video Data Buffer Format
216
+ ```dart
217
+ enum V2TXLiveBufferType {
218
+ /// Unknown
219
+ v2TXLiveBufferTypeUnknown,
220
+
221
+ /// DirectBuffer for I420 and similar buffers, used in native layer
222
+ v2TXLiveBufferTypeByteBuffer,
223
+
224
+ /// byte[] for I420 and similar buffers, used in Java layer
225
+ v2TXLiveBufferTypeByteArray,
226
+
227
+ /// Operates directly on texture ID, optimal performance, minimal quality loss
228
+ v2TXLiveBufferTypeTexture,
229
+ }
230
+ ```
231
+
232
+ ### V2TXLiveVideoFrame - Video Frame Information
233
+ ```dart
234
+ class V2TXLiveVideoFrame {
235
+ V2TXLivePixelFormat pixelFormat; // Video frame pixel format
236
+ V2TXLiveBufferType bufferType; // Video data buffer format
237
+ Uint8List? data; // Video data
238
+ int width; // Video width
239
+ int height; // Video height
240
+ V2TXLiveRotation rotation; // Video frame rotation angle
241
+ int? textureId; // Video texture ID
242
+ }
243
+ ```
244
+
245
+ ## 3. Audio Type Definitions
246
+
247
+ ### V2TXLiveAudioQuality - Audio Quality Settings
248
+ ```dart
249
+ enum V2TXLiveAudioQuality {
250
+ /// Speech quality: 16k sample rate, mono, 16kbps bitrate, ideal for voice calls
251
+ v2TXLiveAudioQualitySpeech,
252
+
253
+ /// Default quality: 48k sample rate, mono, 50kbps bitrate (SDK default)
254
+ v2TXLiveAudioQualityDefault,
255
+
256
+ /// Music quality: 48k sample rate, stereo/full band, 128kbps bitrate, suitable for high-fidelity music
257
+ v2TXLiveAudioQualityMusic,
258
+ }
259
+ ```
260
+
261
+ ### V2TXLiveAudioFrame - Audio Frame Data
262
+ ```dart
263
+ class V2TXLiveAudioFrame {
264
+ Uint8List data; // Audio data
265
+ int sampleRate; // Sample rate (default 48000Hz)
266
+ int channel; // Audio channel count (default 1, mono)
267
+ int timestamp; // Timestamp in ms
268
+ }
269
+ ```
270
+
271
+ ## 4. Statistics Data Definitions
272
+
273
+ ### V2TXLivePusherStatistics - Stream Publisher Statistics
274
+ ```dart
275
+ class V2TXLivePusherStatistics {
276
+ int appCpu; // App CPU usage (%)
277
+ int systemCpu; // System CPU usage (%)
278
+ int width; // Video width
279
+ int height; // Video height
280
+ int fps; // Frame rate (fps)
281
+ int videoBitrate; // Video bitrate (Kbps)
282
+ int audioBitrate; // Audio bitrate (Kbps)
283
+ int rtt; // SDK to cloud Round-Trip Time (RTT) (ms)
284
+ int netSpeed; // Upload speed (kbps)
285
+ }
286
+ ```
287
+
288
+ ### V2TXLivePlayerStatistics - Player Statistics
289
+ ```dart
290
+ class V2TXLivePlayerStatistics {
291
+ int appCpu; // App CPU usage (%)
292
+ int systemCpu; // System CPU usage (%)
293
+ int width; // Video width
294
+ int height; // Video height
295
+ int fps; // Frame rate (fps)
296
+ int videoBitrate; // Video bitrate (Kbps)
297
+ int audioBitrate; // Audio bitrate (Kbps)
298
+ int audioPacketLoss; // Audio packet loss rate (%)
299
+ int videoPacketLoss; // Video packet loss rate (%)
300
+ int jitterBufferDelay; // Playback delay (ms)
301
+ int audioTotalBlockTime; // Total audio playback stuttering duration (ms)
302
+ int audioBlockRate; // Audio playback stuttering rate (%)
303
+ int videoTotalBlockTime; // Total video playback stuttering duration (ms)
304
+ int videoBlockRate; // Video playback stuttering rate (%)
305
+ int rtt; // Round-Trip Time (RTT) (ms)
306
+ int netSpeed; // Download speed (kbps)
307
+ }
308
+ ```
309
+
310
+ ## 5. Connection Status Enumerations
311
+
312
+ ### V2TXLivePushStatus - Live Stream Connection Status
313
+ ```dart
314
+ enum V2TXLivePushStatus {
315
+ /// Disconnected from server
316
+ v2TXLivePushStatusDisconnected,
317
+
318
+ /// Connecting to server
319
+ v2TXLivePushStatusConnecting,
320
+
321
+ /// Connected to server
322
+ v2TXLivePushStatusConnectSuccess,
323
+
324
+ /// Reconnecting to server
325
+ v2TXLivePushStatusReconnecting,
326
+ }
327
+ ```
328
+
329
+ ## 6. Cloud Stream Mixing Configuration
330
+
331
+ ### V2TXLiveMixInputType - Cloud Stream Mixing Input Type
332
+ ```dart
333
+ enum V2TXLiveMixInputType {
334
+ /// Mix audio and video
335
+ v2TXLiveMixInputTypeAudioVideo,
336
+
337
+ /// Mix video only
338
+ v2TXLiveMixInputTypePureVideo,
339
+
340
+ /// Mix audio only
341
+ v2TXLiveMixInputTypePureAudio,
342
+ }
343
+ ```
344
+
345
+ ### V2TXLiveMixStream - Cloud Stream Mixing Sub-Screen Position
346
+ ```dart
347
+ class V2TXLiveMixStream {
348
+ String userId; // User ID for stream mixing
349
+ String? streamId; // Stream publishing streamId
350
+ int x; // Layer X coordinate (pixels)
351
+ int y; // Layer Y coordinate (pixels)
352
+ int width; // Layer width (pixels)
353
+ int height; // Layer height (pixels)
354
+ int zOrder; // Layer z-order (1-15, unique)
355
+ V2TXLiveMixInputType inputType; // Stream input type
356
+ }
357
+ ```
358
+
359
+ ### V2TXLiveTranscodingConfig - Cloud Stream Mixing MixTranscoding Configuration
360
+ ```dart
361
+ class V2TXLiveTranscodingConfig {
362
+ int videoWidth; // Output video width after transcoding
363
+ int videoHeight; // Output video height after transcoding
364
+ int videoBitrate; // Output video bitrate after transcoding (kbps)
365
+ int videoFramerate; // Output video frame rate after transcoding (FPS)
366
+ int videoGOP; // Keyframe interval (seconds)
367
+ int backgroundColor; // Mixed output background color
368
+ String? backgroundImage; // Mixed output background image
369
+ int audioSampleRate; // Output audio sample rate after transcoding
370
+ int audioBitrate; // Output audio bitrate after transcoding (kbps)
371
+ int audioChannels; // Output audio channel count after transcoding
372
+ List<V2TXLiveMixStream> mixStreams; // Sub-screen position info
373
+ String? outputStreamId; // Output stream ID for CDN
374
+ }
375
+ ```
376
+
377
+ ## 7. Local Recording Configuration
378
+
379
+ ### V2TXLiveRecordMode - Local Recording Mode
380
+ ```dart
381
+ enum V2TXLiveRecordMode {
382
+ /// Record both audio and video
383
+ v2TXLiveRecordModeBoth,
384
+ }
385
+ ```
386
+
387
+ ### V2TXLiveLocalRecordingParams - Local Recording Configuration
388
+ ```dart
389
+ class V2TXLiveLocalRecordingParams {
390
+ String filePath; // Recording file path (required)
391
+ V2TXLiveRecordMode recordMode; // Recording mode
392
+ int interval; // Recording info update interval (ms)
393
+ }
394
+ ```
395
+
396
+ ## Stream Mixing Configuration
397
+
398
+ ### V2TXLiveMixInputType
399
+
400
+ Cloud stream mixing input type:
401
+
402
+ | Enum Value | Description |
403
+ |------------|-------------|
404
+ | `v2TXLiveMixInputTypeAudioVideo` | Mix audio and video |
405
+ | `v2TXLiveMixInputTypePureVideo` | Mix video only |
406
+ | `v2TXLiveMixInputTypePureAudio` | Mix audio only |
407
+
408
+ ### V2TXLiveMixStream
409
+
410
+ Cloud stream mixing screen position configuration:
411
+
412
+ ```dart
413
+ class V2TXLiveMixStream {
414
+ String userId;
415
+ String? streamId;
416
+ int x;
417
+ int y;
418
+ int width;
419
+ int height;
420
+ int zOrder;
421
+ V2TXLiveMixInputType inputType;
422
+ }
423
+ ```
424
+
425
+ ### V2TXLiveTranscodingConfig
426
+
427
+ Cloud stream mixing (MixTranscoding) configuration:
428
+
429
+ ```dart
430
+ class V2TXLiveTranscodingConfig {
431
+ int videoWidth;
432
+ int videoHeight;
433
+ int videoBitrate;
434
+ int videoFramerate;
435
+ int videoGOP;
436
+ int backgroundColor;
437
+ String? backgroundImage;
438
+ int audioSampleRate;
439
+ int audioBitrate;
440
+ int audioChannels;
441
+ List<V2TXLiveMixStream> mixStreams;
442
+ String? outputStreamId;
443
+ }
444
+ ```
445
+
446
+ **Parameter Notes**:
447
+
448
+ - **Audio-only streaming**: Set `videoWidth × videoHeight = 0px × 0px`
449
+ - **Background image**: Upload the image in the Tencent Cloud Console to obtain the Image ID
450
+ - **Output stream ID**: If not set, the mixed stream defaults to the API caller's video stream
451
+
452
+ ## 8. Log Configuration
453
+
454
+ ### V2TXLiveLogLevel - Log Level Enumeration
455
+ ```dart
456
+ class V2TXLiveLogLevel {
457
+ static const int v2TXLiveLogLevelAll = 0; // Output all log levels
458
+ static const int v2TXLiveLogLevelDebug = 1; // Output DEBUG and above
459
+ static const int v2TXLiveLogLevelInfo = 2; // Output INFO and above
460
+ static const int v2TXLiveLogLevelWarning = 3; // Output WARNING and above
461
+ static const int v2TXLiveLogLevelError = 4; // Output ERROR and above
462
+ static const int v2TXLiveLogLevelFatal = 5; // Output FATAL only
463
+ static const int v2TXLiveLogLevelNULL = 6; // Disable all SDK logs
464
+ }
465
+ ```
466
+
467
+ ### V2TXLiveLogConfig - Log Configuration
468
+ ```dart
469
+ class V2TXLiveLogConfig {
470
+ int logLevel; // Log level
471
+ bool enableObserver; // Receive logs via Observer
472
+ bool enableConsole; // Print logs to editor console
473
+ bool enableLogFile; // Enable local log file
474
+ String? logPath; // Local log storage directory
475
+ }
476
+ ```
477
+
478
+ **Default Log Storage Paths**:
479
+ - iOS & Mac: Sandbox Documents/log
480
+ - Android 6.7 and below: /sdcard/log/liteav
481
+ - Android 6.8 and above: /sdcard/Android/data/package_name/files/log/liteav/
482
+
483
+ ## 9. Other Configurations
484
+
485
+ ### V2TXLiveSocks5ProxyConfig - SOCKS5 Proxy Configuration
486
+ ```dart
487
+ class V2TXLiveSocks5ProxyConfig {
488
+ bool supportHttps = true; // Enable HTTPS
489
+ bool supportTcp = true; // Enable TCP
490
+ bool supportUdp = true; // Enable UDP
491
+ }
492
+ ```
493
+
494
+ ### V2TXLiveStreamInfo - Adaptive Bitrate Stream Information
495
+ ```dart
496
+ class V2TXLiveStreamInfo {
497
+ int width; // Video width
498
+ int height; // Video height
499
+ int bitrate; // Bitrate (bps)
500
+ double framerate; // Frame rate
501
+ String url; // Stream URL
502
+ }
503
+ ```
504
+
505
+ ### TXSystemVolumeType - System Volume Control Type
506
+ ```dart
507
+ class TXSystemVolumeType {
508
+ static const int TXSystemVolumeTypeAuto = 0; // Auto mode switching
509
+ static const int TXSystemVolumeTypeMedia = 1; // Media volume
510
+ static const int TXSystemVolumeTypeVOIP = 2; // Call volume
511
+ }
512
+ ```
513
+
514
+ ### TXAudioRoute - Audio Routing Type
515
+ ```dart
516
+ class TXAudioRoute {
517
+ static const int TXAudioRouteSpeakerphone = 0; // Play via the speaker
518
+ static const int TXAudioRouteEarpiece = 1; // Play via the receiver
519
+ }
520
+ ```
521
+
522
+ ## 10. Audio Effects Processing
523
+
524
+ ### TXVoiceReverbType - Reverb Effect Types
525
+ ```dart
526
+ class TXVoiceReverbType {
527
+ static const int TXVoiceReverbTypeOff = 0; // Disable reverb
528
+ static const int TXVoiceReverbTypeKTV = 1; // KTV
529
+ static const int TXVoiceReverbTypeSmallRoom = 2; // Small room
530
+ static const int TXVoiceReverbTypeGreatHall = 3; // Great hall
531
+ static const int TXVoiceReverbTypeDeep = 4; // Deep
532
+ static const int TXVoiceReverbTypeLoud = 5; // Loud
533
+ static const int TXVoiceReverbTypeMetallic = 6; // Metallic
534
+ static const int TXVoiceReverbTypeMagnetic = 7; // Magnetic
535
+ static const int TXVoiceReverbTypeEthereal = 8; // Ethereal
536
+ static const int TXVoiceReverbTypeStudio = 9; // Studio
537
+ static const int TXVoiceReverbTypeMelodious = 10;// Melodious
538
+ static const int TXVoiceReverbTypeStudio2 = 11; // Studio 2
539
+ }
540
+ ```
541
+
542
+ ### TXVoiceChangerType - Voice Changer Effect Types
543
+ ```dart
544
+ class TXVoiceChangerType {
545
+ static const int TXVoiceChangerTypeOff = 0; // Disable voice changer
546
+ static const int TXVoiceChangerTypeChild = 1; // Naughty boy
547
+ static const int TXVoiceChangerTypeLittleGirl = 2; // Girl
548
+ static const int TXVoiceChangerTypeUncle = 3; // Middle-aged man
549
+ static const int TXVoiceChangerTypeHeavyMetal = 4; // Heavy metal
550
+ static const int TXVoiceChangerTypeCold = 5; // Cold
551
+ static const int TXVoiceChangerTypePunk = 6; // Punk
552
+ static const int TXVoiceChangerTypeBeast = 7; // Beast
553
+ static const int TXVoiceChangerTypeFatty = 8; // Fatty
554
+ static const int TXVoiceChangerTypeStrongCurrent = 9; // Strong current
555
+ static const int TXVoiceChangerTypeRobot = 10; // Robot
556
+ static const int TXVoiceChangerTypeEthereal = 11; // Ethereal
557
+ }
558
+ ```