agora-electron-sdk 4.1.1-rc.1 → 4.2.0-dev.13

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 (358) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +143 -143
  3. package/gulpfile.js +5 -4
  4. package/js/AgoraSdk.js +62 -60
  5. package/js/Private/AgoraBase.js +4575 -3269
  6. package/js/Private/AgoraMediaBase.js +968 -564
  7. package/js/Private/AgoraMediaPlayerTypes.js +422 -310
  8. package/js/Private/IAgoraLog.js +86 -74
  9. package/js/Private/IAgoraMediaEngine.js +32 -32
  10. package/js/Private/IAgoraMediaPlayer.js +16 -16
  11. package/js/Private/IAgoraMediaPlayerSource.js +3 -3
  12. package/js/Private/IAgoraMediaRecorder.js +12 -12
  13. package/js/Private/IAgoraMediaStreamingSource.js +84 -0
  14. package/js/Private/IAgoraMusicContentCenter.js +239 -81
  15. package/js/Private/IAgoraRhythmPlayer.js +70 -62
  16. package/js/Private/IAgoraRtcEngine.js +1807 -948
  17. package/js/Private/IAgoraRtcEngineEx.js +26 -18
  18. package/js/Private/IAgoraSpatialAudio.js +74 -30
  19. package/js/Private/IAudioDeviceManager.js +20 -20
  20. package/js/Private/extension/AgoraBaseExtension.js +2 -2
  21. package/js/Private/extension/AgoraMediaBaseExtension.js +2 -2
  22. package/js/Private/extension/AgoraMediaPlayerTypesExtension.js +2 -2
  23. package/js/Private/extension/IAgoraLogExtension.js +2 -2
  24. package/js/Private/extension/IAgoraMediaEngineExtension.js +2 -2
  25. package/js/Private/extension/IAgoraMediaPlayerExtension.js +2 -2
  26. package/js/Private/extension/IAgoraMediaPlayerSourceExtension.js +2 -2
  27. package/js/Private/extension/IAgoraMediaRecorderExtension.js +2 -2
  28. package/js/Private/extension/IAgoraMusicContentCenterExtension.js +2 -2
  29. package/js/Private/extension/IAgoraRhythmPlayerExtension.js +2 -2
  30. package/js/Private/extension/IAgoraRtcEngineExExtension.js +2 -2
  31. package/js/Private/extension/IAgoraRtcEngineExtension.js +2 -2
  32. package/js/Private/extension/IAgoraSpatialAudioExtension.js +2 -2
  33. package/js/Private/extension/IAudioDeviceManagerExtension.js +2 -2
  34. package/js/Private/impl/AgoraBaseImpl.js +23 -23
  35. package/js/Private/impl/AgoraMediaBaseImpl.js +118 -138
  36. package/js/Private/impl/IAgoraMediaEngineImpl.js +287 -325
  37. package/js/Private/impl/IAgoraMediaPlayerImpl.js +932 -938
  38. package/js/Private/impl/IAgoraMediaPlayerSourceImpl.js +63 -63
  39. package/js/Private/impl/IAgoraMediaRecorderImpl.js +47 -67
  40. package/js/Private/impl/IAgoraMusicContentCenterImpl.js +353 -323
  41. package/js/Private/impl/IAgoraRtcEngineExImpl.js +945 -907
  42. package/js/Private/impl/IAgoraRtcEngineImpl.js +4742 -4702
  43. package/js/Private/impl/IAgoraSpatialAudioImpl.js +362 -362
  44. package/js/Private/impl/IAudioDeviceManagerImpl.js +375 -375
  45. package/js/Private/internal/AudioDeviceManagerInternal.js +44 -44
  46. package/js/Private/internal/IrisApiEngine.js +391 -382
  47. package/js/Private/internal/LocalSpatialAudioEngineInternal.js +46 -46
  48. package/js/Private/internal/MediaEngineInternal.js +119 -123
  49. package/js/Private/internal/MediaPlayerInternal.js +215 -213
  50. package/js/Private/internal/MediaRecorderInternal.js +82 -81
  51. package/js/Private/internal/MusicContentCenterInternal.js +128 -130
  52. package/js/Private/internal/RtcEngineExInternal.js +422 -363
  53. package/js/Private/internal/emitter/EventEmitter.js +111 -111
  54. package/js/Private/ti/AgoraBase-ti.js +40 -40
  55. package/js/Private/ti/AgoraMediaBase-ti.js +71 -73
  56. package/js/Private/ti/AgoraMediaPlayerTypes-ti.js +5 -5
  57. package/js/Private/ti/IAgoraLog-ti.js +5 -5
  58. package/js/Private/ti/IAgoraMediaEngine-ti.js +5 -5
  59. package/js/Private/ti/IAgoraMediaPlayer-ti.js +38 -42
  60. package/js/Private/ti/IAgoraMediaPlayerSource-ti.js +48 -48
  61. package/js/Private/ti/IAgoraMediaRecorder-ti.js +5 -5
  62. package/js/Private/ti/IAgoraMediaStreamingSource-ti.js +5 -0
  63. package/js/Private/ti/IAgoraMusicContentCenter-ti.js +41 -41
  64. package/js/Private/ti/IAgoraRhythmPlayer-ti.js +5 -5
  65. package/js/Private/ti/IAgoraRtcEngine-ti.js +139 -139
  66. package/js/Private/ti/IAgoraRtcEngineEx-ti.js +5 -5
  67. package/js/Private/ti/IAgoraSpatialAudio-ti.js +5 -5
  68. package/js/Private/ti/IAudioDeviceManager-ti.js +5 -5
  69. package/js/Renderer/AgoraView.js +128 -131
  70. package/js/Renderer/IRenderer.js +40 -48
  71. package/js/Renderer/IRendererManager.js +9 -0
  72. package/js/Renderer/RendererManager.js +479 -392
  73. package/js/Renderer/{GlRenderer → WebGLRenderer}/index.js +469 -473
  74. package/js/Renderer/{GlRenderer → WebGLRenderer}/webgl-utils.js +1337 -1337
  75. package/js/Renderer/YUVCanvasRenderer/index.js +195 -185
  76. package/js/Renderer/index.js +18 -0
  77. package/js/Types.js +17 -29
  78. package/js/Utils.js +168 -173
  79. package/package.json +61 -103
  80. package/scripts/bootstrap.js +1 -1
  81. package/scripts/build.js +1 -0
  82. package/scripts/buildJS.js +3 -3
  83. package/scripts/clean.js +2 -1
  84. package/scripts/downloadPrebuild.js +5 -5
  85. package/scripts/getConfig.js +3 -2
  86. package/scripts/synclib.js +8 -5
  87. package/scripts/util.js +3 -2
  88. package/scripts/zipBuild.js +2 -1
  89. package/ts/AgoraSdk.ts +9 -6
  90. package/ts/Private/AgoraBase.ts +278 -173
  91. package/ts/Private/AgoraMediaBase.ts +167 -100
  92. package/ts/Private/AgoraMediaPlayerTypes.ts +1 -1
  93. package/ts/Private/IAgoraMediaEngine.ts +43 -56
  94. package/ts/Private/IAgoraMediaPlayer.ts +90 -104
  95. package/ts/Private/IAgoraMediaPlayerSource.ts +3 -8
  96. package/ts/Private/IAgoraMediaRecorder.ts +8 -35
  97. package/ts/Private/IAgoraMediaStreamingSource.ts +80 -0
  98. package/ts/Private/IAgoraMusicContentCenter.ts +93 -12
  99. package/ts/Private/IAgoraRtcEngine.ts +807 -910
  100. package/ts/Private/IAgoraRtcEngineEx.ts +187 -191
  101. package/ts/Private/IAgoraSpatialAudio.ts +40 -22
  102. package/ts/Private/IAudioDeviceManager.ts +35 -13
  103. package/ts/Private/extension/IAgoraMediaEngineExtension.ts +1 -1
  104. package/ts/Private/extension/IAgoraMediaPlayerExtension.ts +4 -7
  105. package/ts/Private/extension/IAgoraMediaRecorderExtension.ts +6 -1
  106. package/ts/Private/extension/IAgoraMusicContentCenterExtension.ts +1 -1
  107. package/ts/Private/extension/IAgoraRtcEngineExtension.ts +4 -4
  108. package/ts/Private/impl/AgoraBaseImpl.ts +3 -3
  109. package/ts/Private/impl/AgoraMediaBaseImpl.ts +36 -42
  110. package/ts/Private/impl/IAgoraMediaEngineImpl.ts +79 -127
  111. package/ts/Private/impl/IAgoraMediaPlayerImpl.ts +106 -106
  112. package/ts/Private/impl/IAgoraMediaRecorderImpl.ts +13 -45
  113. package/ts/Private/impl/IAgoraMusicContentCenterImpl.ts +61 -16
  114. package/ts/Private/impl/IAgoraRtcEngineExImpl.ts +129 -59
  115. package/ts/Private/impl/IAgoraRtcEngineImpl.ts +490 -416
  116. package/ts/Private/impl/IAgoraSpatialAudioImpl.ts +5 -3
  117. package/ts/Private/impl/IAudioDeviceManagerImpl.ts +4 -2
  118. package/ts/Private/internal/AudioDeviceManagerInternal.ts +6 -5
  119. package/ts/Private/internal/IrisApiEngine.ts +41 -32
  120. package/ts/Private/internal/LocalSpatialAudioEngineInternal.ts +17 -13
  121. package/ts/Private/internal/MediaEngineInternal.ts +9 -11
  122. package/ts/Private/internal/MediaPlayerInternal.ts +42 -31
  123. package/ts/Private/internal/MediaRecorderInternal.ts +24 -22
  124. package/ts/Private/internal/MusicContentCenterInternal.ts +16 -18
  125. package/ts/Private/internal/RtcEngineExInternal.ts +189 -66
  126. package/ts/Private/ti/AgoraMediaBase-ti.ts +9 -10
  127. package/ts/Private/ti/IAgoraMediaPlayer-ti.ts +0 -5
  128. package/{js/Private/ti/AgoraMediaPlayerTypes-ti.d.ts → ts/Private/ti/IAgoraMediaStreamingSource-ti.ts} +11 -6
  129. package/ts/Private/ti/IAgoraMusicContentCenter-ti.ts +4 -4
  130. package/ts/Private/ti/IAgoraRtcEngine-ti.ts +4 -4
  131. package/ts/Renderer/AgoraView.ts +12 -7
  132. package/ts/Renderer/IRenderer.ts +11 -16
  133. package/ts/Renderer/IRendererManager.ts +35 -0
  134. package/ts/Renderer/RendererManager.ts +146 -82
  135. package/ts/Renderer/{GlRenderer → WebGLRenderer}/index.ts +36 -51
  136. package/ts/Renderer/YUVCanvasRenderer/index.ts +41 -25
  137. package/ts/Renderer/index.ts +2 -0
  138. package/ts/Types.ts +43 -23
  139. package/ts/Utils.ts +7 -12
  140. package/types/AgoraSdk.d.ts +38 -36
  141. package/types/AgoraSdk.d.ts.map +1 -0
  142. package/types/Private/AgoraBase.d.ts +4455 -4358
  143. package/types/Private/AgoraBase.d.ts.map +1 -0
  144. package/types/Private/AgoraMediaBase.d.ts +1125 -1070
  145. package/types/Private/AgoraMediaBase.d.ts.map +1 -0
  146. package/types/Private/AgoraMediaPlayerTypes.d.ts +409 -408
  147. package/types/Private/AgoraMediaPlayerTypes.d.ts.map +1 -0
  148. package/types/Private/IAgoraLog.d.ts +81 -80
  149. package/types/Private/IAgoraLog.d.ts.map +1 -0
  150. package/types/Private/IAgoraMediaEngine.d.ts +184 -193
  151. package/types/Private/IAgoraMediaEngine.d.ts.map +1 -0
  152. package/types/Private/IAgoraMediaPlayer.d.ts +533 -546
  153. package/types/Private/IAgoraMediaPlayer.d.ts.map +1 -0
  154. package/types/Private/IAgoraMediaPlayerSource.d.ts +83 -88
  155. package/types/Private/IAgoraMediaPlayerSource.d.ts.map +1 -0
  156. package/types/Private/IAgoraMediaRecorder.d.ts +29 -49
  157. package/types/Private/IAgoraMediaRecorder.d.ts.map +1 -0
  158. package/types/Private/IAgoraMediaStreamingSource.d.ts +42 -0
  159. package/types/Private/IAgoraMediaStreamingSource.d.ts.map +1 -0
  160. package/types/Private/IAgoraMusicContentCenter.d.ts +336 -255
  161. package/types/Private/IAgoraMusicContentCenter.d.ts.map +1 -0
  162. package/types/Private/IAgoraRhythmPlayer.d.ts +65 -64
  163. package/types/Private/IAgoraRhythmPlayer.d.ts.map +1 -0
  164. package/types/Private/IAgoraRtcEngine.d.ts +4948 -5058
  165. package/types/Private/IAgoraRtcEngine.d.ts.map +1 -0
  166. package/types/Private/IAgoraRtcEngineEx.d.ts +554 -570
  167. package/types/Private/IAgoraRtcEngineEx.d.ts.map +1 -0
  168. package/types/Private/IAgoraSpatialAudio.d.ts +266 -248
  169. package/types/Private/IAgoraSpatialAudio.d.ts.map +1 -0
  170. package/types/Private/IAudioDeviceManager.d.ts +255 -233
  171. package/types/Private/IAudioDeviceManager.d.ts.map +1 -0
  172. package/types/Private/extension/AgoraBaseExtension.d.ts +2 -1
  173. package/types/Private/extension/AgoraBaseExtension.d.ts.map +1 -0
  174. package/types/Private/extension/AgoraMediaBaseExtension.d.ts +2 -1
  175. package/types/Private/extension/AgoraMediaBaseExtension.d.ts.map +1 -0
  176. package/types/Private/extension/AgoraMediaPlayerTypesExtension.d.ts +2 -1
  177. package/types/Private/extension/AgoraMediaPlayerTypesExtension.d.ts.map +1 -0
  178. package/types/Private/extension/IAgoraLogExtension.d.ts +2 -1
  179. package/types/Private/extension/IAgoraLogExtension.d.ts.map +1 -0
  180. package/types/Private/extension/IAgoraMediaEngineExtension.d.ts +41 -40
  181. package/types/Private/extension/IAgoraMediaEngineExtension.d.ts.map +1 -0
  182. package/types/Private/extension/IAgoraMediaPlayerExtension.d.ts +47 -46
  183. package/types/Private/extension/IAgoraMediaPlayerExtension.d.ts.map +1 -0
  184. package/types/Private/extension/IAgoraMediaPlayerSourceExtension.d.ts +2 -1
  185. package/types/Private/extension/IAgoraMediaPlayerSourceExtension.d.ts.map +1 -0
  186. package/types/Private/extension/IAgoraMediaRecorderExtension.d.ts +45 -40
  187. package/types/Private/extension/IAgoraMediaRecorderExtension.d.ts.map +1 -0
  188. package/types/Private/extension/IAgoraMusicContentCenterExtension.d.ts +21 -20
  189. package/types/Private/extension/IAgoraMusicContentCenterExtension.d.ts.map +1 -0
  190. package/types/Private/extension/IAgoraRhythmPlayerExtension.d.ts +2 -1
  191. package/types/Private/extension/IAgoraRhythmPlayerExtension.d.ts.map +1 -0
  192. package/types/Private/extension/IAgoraRtcEngineExExtension.d.ts +2 -1
  193. package/types/Private/extension/IAgoraRtcEngineExExtension.d.ts.map +1 -0
  194. package/types/Private/extension/IAgoraRtcEngineExtension.d.ts +43 -42
  195. package/types/Private/extension/IAgoraRtcEngineExtension.d.ts.map +1 -0
  196. package/types/Private/extension/IAgoraSpatialAudioExtension.d.ts +2 -1
  197. package/types/Private/extension/IAgoraSpatialAudioExtension.d.ts.map +1 -0
  198. package/types/Private/extension/IAudioDeviceManagerExtension.d.ts +2 -1
  199. package/types/Private/extension/IAudioDeviceManagerExtension.d.ts.map +1 -0
  200. package/types/Private/impl/AgoraBaseImpl.d.ts +3 -2
  201. package/types/Private/impl/AgoraBaseImpl.d.ts.map +1 -0
  202. package/types/Private/impl/AgoraMediaBaseImpl.d.ts +9 -7
  203. package/types/Private/impl/AgoraMediaBaseImpl.d.ts.map +1 -0
  204. package/types/Private/impl/IAgoraMediaEngineImpl.d.ts +40 -43
  205. package/types/Private/impl/IAgoraMediaEngineImpl.d.ts.map +1 -0
  206. package/types/Private/impl/IAgoraMediaPlayerImpl.d.ts +141 -141
  207. package/types/Private/impl/IAgoraMediaPlayerImpl.d.ts.map +1 -0
  208. package/types/Private/impl/IAgoraMediaPlayerSourceImpl.d.ts +3 -2
  209. package/types/Private/impl/IAgoraMediaPlayerSourceImpl.d.ts.map +1 -0
  210. package/types/Private/impl/IAgoraMediaRecorderImpl.d.ts +11 -13
  211. package/types/Private/impl/IAgoraMediaRecorderImpl.d.ts.map +1 -0
  212. package/types/Private/impl/IAgoraMusicContentCenterImpl.d.ts +59 -51
  213. package/types/Private/impl/IAgoraMusicContentCenterImpl.d.ts.map +1 -0
  214. package/types/Private/impl/IAgoraRtcEngineExImpl.d.ts +106 -101
  215. package/types/Private/impl/IAgoraRtcEngineExImpl.d.ts.map +1 -0
  216. package/types/Private/impl/IAgoraRtcEngineImpl.d.ts +570 -566
  217. package/types/Private/impl/IAgoraRtcEngineImpl.d.ts.map +1 -0
  218. package/types/Private/impl/IAgoraSpatialAudioImpl.d.ts +49 -48
  219. package/types/Private/impl/IAgoraSpatialAudioImpl.d.ts.map +1 -0
  220. package/types/Private/impl/IAudioDeviceManagerImpl.d.ts +65 -64
  221. package/types/Private/impl/IAudioDeviceManagerImpl.d.ts.map +1 -0
  222. package/types/Private/internal/AudioDeviceManagerInternal.d.ts +9 -8
  223. package/types/Private/internal/AudioDeviceManagerInternal.d.ts.map +1 -0
  224. package/types/Private/internal/IrisApiEngine.d.ts +148 -146
  225. package/types/Private/internal/IrisApiEngine.d.ts.map +1 -0
  226. package/types/Private/internal/LocalSpatialAudioEngineInternal.d.ts +19 -18
  227. package/types/Private/internal/LocalSpatialAudioEngineInternal.d.ts.map +1 -0
  228. package/types/Private/internal/MediaEngineInternal.d.ts +22 -21
  229. package/types/Private/internal/MediaEngineInternal.d.ts.map +1 -0
  230. package/types/Private/internal/MediaPlayerInternal.d.ts +34 -33
  231. package/types/Private/internal/MediaPlayerInternal.d.ts.map +1 -0
  232. package/types/Private/internal/MediaRecorderInternal.d.ts +18 -15
  233. package/types/Private/internal/MediaRecorderInternal.d.ts.map +1 -0
  234. package/types/Private/internal/MusicContentCenterInternal.d.ts +40 -39
  235. package/types/Private/internal/MusicContentCenterInternal.d.ts.map +1 -0
  236. package/types/Private/internal/RtcEngineExInternal.d.ts +80 -73
  237. package/types/Private/internal/RtcEngineExInternal.d.ts.map +1 -0
  238. package/{js → types}/Private/internal/emitter/EventEmitter.d.ts +60 -59
  239. package/types/Private/internal/emitter/EventEmitter.d.ts.map +1 -0
  240. package/types/Private/ti/AgoraBase-ti.d.ts +8 -7
  241. package/types/Private/ti/AgoraBase-ti.d.ts.map +1 -0
  242. package/types/Private/ti/AgoraMediaBase-ti.d.ts +14 -12
  243. package/types/Private/ti/AgoraMediaBase-ti.d.ts.map +1 -0
  244. package/types/Private/ti/AgoraMediaPlayerTypes-ti.d.ts +7 -6
  245. package/types/Private/ti/AgoraMediaPlayerTypes-ti.d.ts.map +1 -0
  246. package/types/Private/ti/IAgoraLog-ti.d.ts +7 -6
  247. package/types/Private/ti/IAgoraLog-ti.d.ts.map +1 -0
  248. package/types/Private/ti/IAgoraMediaEngine-ti.d.ts +7 -6
  249. package/types/Private/ti/IAgoraMediaEngine-ti.d.ts.map +1 -0
  250. package/types/Private/ti/IAgoraMediaPlayer-ti.d.ts +8 -8
  251. package/types/Private/ti/IAgoraMediaPlayer-ti.d.ts.map +1 -0
  252. package/types/Private/ti/IAgoraMediaPlayerSource-ti.d.ts +8 -7
  253. package/types/Private/ti/IAgoraMediaPlayerSource-ti.d.ts.map +1 -0
  254. package/types/Private/ti/IAgoraMediaRecorder-ti.d.ts +7 -6
  255. package/types/Private/ti/IAgoraMediaRecorder-ti.d.ts.map +1 -0
  256. package/{js/Private/ti/IAgoraMediaRecorder-ti.d.ts → types/Private/ti/IAgoraMediaStreamingSource-ti.d.ts} +7 -6
  257. package/types/Private/ti/IAgoraMediaStreamingSource-ti.d.ts.map +1 -0
  258. package/types/Private/ti/IAgoraMusicContentCenter-ti.d.ts +8 -7
  259. package/types/Private/ti/IAgoraMusicContentCenter-ti.d.ts.map +1 -0
  260. package/types/Private/ti/IAgoraRhythmPlayer-ti.d.ts +7 -6
  261. package/types/Private/ti/IAgoraRhythmPlayer-ti.d.ts.map +1 -0
  262. package/types/Private/ti/IAgoraRtcEngine-ti.d.ts +10 -9
  263. package/types/Private/ti/IAgoraRtcEngine-ti.d.ts.map +1 -0
  264. package/types/Private/ti/IAgoraRtcEngineEx-ti.d.ts +7 -6
  265. package/types/Private/ti/IAgoraRtcEngineEx-ti.d.ts.map +1 -0
  266. package/types/Private/ti/IAgoraSpatialAudio-ti.d.ts +7 -6
  267. package/types/Private/ti/IAgoraSpatialAudio-ti.d.ts.map +1 -0
  268. package/types/Private/ti/IAudioDeviceManager-ti.d.ts +7 -6
  269. package/types/Private/ti/IAudioDeviceManager-ti.d.ts.map +1 -0
  270. package/types/Renderer/AgoraView.d.ts +70 -70
  271. package/types/Renderer/AgoraView.d.ts.map +1 -0
  272. package/types/Renderer/IRenderer.d.ts +22 -21
  273. package/types/Renderer/IRenderer.d.ts.map +1 -0
  274. package/types/Renderer/IRendererManager.d.ts +18 -0
  275. package/types/Renderer/IRendererManager.d.ts.map +1 -0
  276. package/types/Renderer/RendererManager.d.ts +154 -71
  277. package/types/Renderer/RendererManager.d.ts.map +1 -0
  278. package/types/Renderer/{GlRenderer → WebGLRenderer}/index.d.ts +49 -59
  279. package/types/Renderer/WebGLRenderer/index.d.ts.map +1 -0
  280. package/types/Renderer/WebGLRenderer/webgl-utils.d.ts +1 -0
  281. package/types/Renderer/WebGLRenderer/webgl-utils.d.ts.map +1 -0
  282. package/types/Renderer/YUVCanvasRenderer/index.d.ts +16 -16
  283. package/types/Renderer/YUVCanvasRenderer/index.d.ts.map +1 -0
  284. package/types/Renderer/index.d.ts +3 -0
  285. package/types/Renderer/index.d.ts.map +1 -0
  286. package/types/Types.d.ts +280 -260
  287. package/types/Types.d.ts.map +1 -0
  288. package/types/Utils.d.ts +59 -58
  289. package/types/Utils.d.ts.map +1 -0
  290. package/js/AgoraSdk.d.ts +0 -36
  291. package/js/Private/AgoraBase.d.ts +0 -4358
  292. package/js/Private/AgoraMediaBase.d.ts +0 -1070
  293. package/js/Private/AgoraMediaPlayerTypes.d.ts +0 -408
  294. package/js/Private/IAgoraLog.d.ts +0 -80
  295. package/js/Private/IAgoraMediaEngine.d.ts +0 -193
  296. package/js/Private/IAgoraMediaPlayer.d.ts +0 -546
  297. package/js/Private/IAgoraMediaPlayerSource.d.ts +0 -88
  298. package/js/Private/IAgoraMediaRecorder.d.ts +0 -49
  299. package/js/Private/IAgoraMusicContentCenter.d.ts +0 -255
  300. package/js/Private/IAgoraRhythmPlayer.d.ts +0 -64
  301. package/js/Private/IAgoraRtcEngine.d.ts +0 -5058
  302. package/js/Private/IAgoraRtcEngineEx.d.ts +0 -570
  303. package/js/Private/IAgoraSpatialAudio.d.ts +0 -248
  304. package/js/Private/IAudioDeviceManager.d.ts +0 -233
  305. package/js/Private/extension/AgoraBaseExtension.d.ts +0 -1
  306. package/js/Private/extension/AgoraMediaBaseExtension.d.ts +0 -1
  307. package/js/Private/extension/AgoraMediaPlayerTypesExtension.d.ts +0 -1
  308. package/js/Private/extension/IAgoraLogExtension.d.ts +0 -1
  309. package/js/Private/extension/IAgoraMediaEngineExtension.d.ts +0 -40
  310. package/js/Private/extension/IAgoraMediaPlayerExtension.d.ts +0 -46
  311. package/js/Private/extension/IAgoraMediaPlayerSourceExtension.d.ts +0 -1
  312. package/js/Private/extension/IAgoraMediaRecorderExtension.d.ts +0 -40
  313. package/js/Private/extension/IAgoraMusicContentCenterExtension.d.ts +0 -20
  314. package/js/Private/extension/IAgoraRhythmPlayerExtension.d.ts +0 -1
  315. package/js/Private/extension/IAgoraRtcEngineExExtension.d.ts +0 -1
  316. package/js/Private/extension/IAgoraRtcEngineExtension.d.ts +0 -42
  317. package/js/Private/extension/IAgoraSpatialAudioExtension.d.ts +0 -1
  318. package/js/Private/extension/IAudioDeviceManagerExtension.d.ts +0 -1
  319. package/js/Private/impl/AgoraBaseImpl.d.ts +0 -2
  320. package/js/Private/impl/AgoraMediaBaseImpl.d.ts +0 -7
  321. package/js/Private/impl/IAgoraMediaEngineImpl.d.ts +0 -43
  322. package/js/Private/impl/IAgoraMediaPlayerImpl.d.ts +0 -141
  323. package/js/Private/impl/IAgoraMediaPlayerSourceImpl.d.ts +0 -2
  324. package/js/Private/impl/IAgoraMediaRecorderImpl.d.ts +0 -13
  325. package/js/Private/impl/IAgoraMusicContentCenterImpl.d.ts +0 -51
  326. package/js/Private/impl/IAgoraRtcEngineExImpl.d.ts +0 -101
  327. package/js/Private/impl/IAgoraRtcEngineImpl.d.ts +0 -566
  328. package/js/Private/impl/IAgoraSpatialAudioImpl.d.ts +0 -48
  329. package/js/Private/impl/IAudioDeviceManagerImpl.d.ts +0 -64
  330. package/js/Private/internal/AudioDeviceManagerInternal.d.ts +0 -8
  331. package/js/Private/internal/IrisApiEngine.d.ts +0 -146
  332. package/js/Private/internal/LocalSpatialAudioEngineInternal.d.ts +0 -18
  333. package/js/Private/internal/MediaEngineInternal.d.ts +0 -21
  334. package/js/Private/internal/MediaPlayerInternal.d.ts +0 -33
  335. package/js/Private/internal/MediaRecorderInternal.d.ts +0 -15
  336. package/js/Private/internal/MusicContentCenterInternal.d.ts +0 -39
  337. package/js/Private/internal/RtcEngineExInternal.d.ts +0 -73
  338. package/js/Private/ti/AgoraBase-ti.d.ts +0 -7
  339. package/js/Private/ti/AgoraMediaBase-ti.d.ts +0 -12
  340. package/js/Private/ti/IAgoraLog-ti.d.ts +0 -6
  341. package/js/Private/ti/IAgoraMediaEngine-ti.d.ts +0 -6
  342. package/js/Private/ti/IAgoraMediaPlayer-ti.d.ts +0 -8
  343. package/js/Private/ti/IAgoraMediaPlayerSource-ti.d.ts +0 -7
  344. package/js/Private/ti/IAgoraMusicContentCenter-ti.d.ts +0 -7
  345. package/js/Private/ti/IAgoraRhythmPlayer-ti.d.ts +0 -6
  346. package/js/Private/ti/IAgoraRtcEngine-ti.d.ts +0 -9
  347. package/js/Private/ti/IAgoraRtcEngineEx-ti.d.ts +0 -6
  348. package/js/Private/ti/IAgoraSpatialAudio-ti.d.ts +0 -6
  349. package/js/Private/ti/IAudioDeviceManager-ti.d.ts +0 -6
  350. package/js/Renderer/AgoraView.d.ts +0 -70
  351. package/js/Renderer/GlRenderer/index.d.ts +0 -59
  352. package/js/Renderer/GlRenderer/webgl-utils.d.ts +0 -0
  353. package/js/Renderer/IRenderer.d.ts +0 -21
  354. package/js/Renderer/RendererManager.d.ts +0 -71
  355. package/js/Renderer/YUVCanvasRenderer/index.d.ts +0 -16
  356. package/js/Types.d.ts +0 -260
  357. package/js/Utils.d.ts +0 -58
  358. /package/ts/Renderer/{GlRenderer → WebGLRenderer}/webgl-utils.js +0 -0
@@ -1,5 +1,6 @@
1
1
  import './extension/IAgoraSpatialAudioExtension';
2
2
  import { RtcConnection } from './IAgoraRtcEngineEx';
3
+
3
4
  /**
4
5
  * The spatial position of the remote user or the media player.
5
6
  */
@@ -69,9 +70,9 @@ export abstract class IBaseSpatialAudioEngine {
69
70
 
70
71
  /**
71
72
  * Sets the maximum number of streams that a user can receive in a specified audio reception range.
72
- * If the number of receivable streams exceeds the set value, the local user receives the maxCount streams that are closest to the local user. If there are users who belong to the same team as the local user in the room, the local user receives the audio of the teammates first. For example, when maxCount is set to 3, if there are five remote users in the room, two of whom belong to the same team as the local user, and three of whom belong to different teams but are within the audio reception range of the local user, the local user can hear the two teammates and the one user from a different team closest to the local user.
73
+ * If the number of receivable streams exceeds the set value, the local user receives the maxCount streams that are closest to the local user.
73
74
  *
74
- * @param maxCount The maximum number of streams that a user can receive within a specified audio reception range.
75
+ * @param maxCount The maximum number of streams that a user can receive within a specified audio reception range. The value of this parameter should be ≤ 16, and the default value is 10.
75
76
  *
76
77
  * @returns
77
78
  * 0: Success.< 0: Failure.
@@ -82,7 +83,7 @@ export abstract class IBaseSpatialAudioEngine {
82
83
  * Sets the audio reception range of the local user.
83
84
  * After the setting is successful, the local user can only hear the remote users within the setting range or belonging to the same team. You can call this method at any time to update the audio reception range.
84
85
  *
85
- * @param range The maximum audio reception range. The unit is meters. The value must be greater than 0.
86
+ * @param range The maximum audio reception range. The unit is meters. The value of this parameter must be greater than 0, and the default value is 20.
86
87
  *
87
88
  * @returns
88
89
  * 0: Success.< 0: Failure.
@@ -93,7 +94,7 @@ export abstract class IBaseSpatialAudioEngine {
93
94
  * Sets the length (in meters) of the game engine distance per unit.
94
95
  * In a game engine, the unit of distance is customized, while in the Agora spatial audio algorithm, distance is measured in meters. By default, the SDK converts the game engine distance per unit to one meter. You can call this method to convert the game engine distance per unit to a specified number of meters.
95
96
  *
96
- * @param unit The number of meters that the game engine distance per unit is equal to. This parameter must be greater than 0.00. For example, setting unit as 2.00 means the game engine distance per unit equals 2 meters.The larger the value is, the faster the sound heard by the local user attenuates when the remote user moves far away from the local user.
97
+ * @param unit The number of meters that the game engine distance per unit is equal to. The value of this parameter must be greater than 0.00, and the default value is 1.00. For example, setting unit as 2.00 means the game engine distance per unit equals 2 meters.The larger the value is, the faster the sound heard by the local user attenuates when the remote user moves far away from the local user.
97
98
  *
98
99
  * @returns
99
100
  * 0: Success.< 0: Failure.
@@ -105,11 +106,8 @@ export abstract class IBaseSpatialAudioEngine {
105
106
  * Under the ILocalSpatialAudioEngine class, this method needs to be used with updateRemotePosition . The SDK calculates the relative position between the local and remote users according to this method and the parameter settings in updateRemotePosition, and then calculates the user's spatial audio effect parameters.
106
107
  *
107
108
  * @param position The coordinates in the world coordinate system. This parameter is an array of length 3, and the three values represent the front, right, and top coordinates in turn.
108
- *
109
109
  * @param axisForward The unit vector of the x axis in the coordinate system. This parameter is an array of length 3, and the three values represent the front, right, and top coordinates in turn.
110
- *
111
110
  * @param axisRight The unit vector of the y axis in the coordinate system. This parameter is an array of length 3, and the three values represent the front, right, and top coordinates in turn.
112
- *
113
111
  * @param axisUp The unit vector of the z axis in the coordinate system. This parameter is an array of length 3, and the three values represent the front, right, and top coordinates in turn.
114
112
  *
115
113
  * @returns
@@ -138,7 +136,6 @@ export abstract class IBaseSpatialAudioEngine {
138
136
  * After a successful update, the local user can hear the change in the spatial position of the media player.
139
137
  *
140
138
  * @param playerId The ID of the media player.
141
- *
142
139
  * @param positionInfo The spatial position of the media player. See RemoteVoicePositionInfo .
143
140
  *
144
141
  * @returns
@@ -156,9 +153,9 @@ export abstract class IBaseSpatialAudioEngine {
156
153
 
157
154
  /**
158
155
  * Stops or resumes publishing the local audio stream.
159
- * This method does not affect any ongoing audio recording, because it does not disable the audio capture device.Call this method after joinChannel [2/2] .When using the spatial audio effect, if you need to set whether to publish the local audio stream, Agora recommends calling this method instead of the muteLocalAudioStream method under IRtcEngine .
156
+ * This method does not affect any ongoing audio recording, because it does not disable the audio capture device.Call this method after joinChannel .When using the spatial audio effect, if you need to set whether to stop subscribing to the audio stream of a specified user, Agora recommends calling this method instead of the muteLocalAudioStream method in IRtcEngine .
160
157
  *
161
- * @param mute Whether to stop publishing the local audio stream.true: Stop publishing the local audio stream.false: Publish the local audio stream.
158
+ * @param mute Whether to stop publishing the local audio stream:: Stop publishing the local audio stream.true: Publish the local audio stream.false
162
159
  *
163
160
  * @returns
164
161
  * 0: Success.< 0: Failure.
@@ -167,9 +164,9 @@ export abstract class IBaseSpatialAudioEngine {
167
164
 
168
165
  /**
169
166
  * Stops or resumes subscribing to the audio streams of all remote users.
170
- * After successfully calling this method, the local user stops or resumes subscribing to the audio streams of all remote users, including all subsequent users.Call this method after joinChannel [2/2] .When using the spatial audio effect, if you need to set whether to stop subscribing to the audio streams of all remote users, Agora recommends calling this method instead of the muteAllRemoteAudioStreams method in IRtcEngine .After calling this method, you need to call updateSelfPosition and updateRemotePosition to update the spatial location of the local user and the remote user; otherwise, the settings in this method do not take effect.
167
+ * After successfully calling this method, the local user stops or resumes subscribing to the audio streams of all remote users, including all subsequent users.Call this method after joinChannel .When using the spatial audio effect, if you need to set whether to stop subscribing to the audio streams of all remote users, Agora recommends calling this method instead of the muteAllRemoteAudioStreams method in IRtcEngine .After calling this method, you need to call updateSelfPosition and updateRemotePosition to update the spatial location of the local user and the remote user; otherwise, the settings in this method do not take effect.
171
168
  *
172
- * @param mute Whether to stop subscribing to the audio streams of all remote users:true: Stops subscribing to the audio streams of all remote users.false: Subscribe to the audio streams of all remote users.
169
+ * @param mute Whether to stop subscribing to the audio streams of all remote users:true: Stop subscribing to the audio streams of all remote users.false: Subscribe to the audio streams of all remote users.
173
170
  *
174
171
  * @returns
175
172
  * 0: Success.< 0: Failure.
@@ -191,10 +188,8 @@ export abstract class IBaseSpatialAudioEngine {
191
188
  * Sets the sound attenuation properties of the media player.
192
189
  *
193
190
  * @param playerId The ID of the media player.
194
- *
195
191
  * @param attenuation The sound attenuation coefficient of the remote user or media player. The value range is [0,1]. The values are as follows:0: Broadcast mode, where the volume and timbre are not attenuated with distance, and the volume and timbre heard by local users do not change regardless of distance.(0,0.5): Weak attenuation mode, that is, the volume and timbre are only weakly attenuated during the propagation process, and the sound can travel farther than the real environment.0.5: (Default) simulates the attenuation of the volume in the real environment; the effect is equivalent to not setting the speaker_attenuation parameter.(0.5,1]: Strong attenuation mode, that is, the volume and timbre attenuate rapidly during the propagation process.
196
- *
197
- * @param forceSet Whether to force the sound attenuation effect of the media player:true: Force attenuation to set the attenuation of the user. At this time, the attenuation coefficient of the sound insulation area set in the audioAttenuation in the SpatialAudioZone does not take effect for the user.false: Do not force attenuation e to set the user's sound attenuationffect, as shown in the following two cases.If the sound source and listener are inside and outside the sound isolation area, the sound attenuation effect is determined by the audioAttenuation in SpatialAudioZone.If the sound source and the listener are in the same sound insulation area or outside the same sound insulation area, the sound attenuation effect is determined by attenuation in this method.
192
+ * @param forceSet Whether to force the sound attenuation effect of the media player:true: Force attenuation to set the attenuation of the media player. At this time, the attenuation coefficient of the sound insulation are set in the audioAttenuation in the SpatialAudioZone does not take effect for the media player.false: Do not force attenuation to set the sound attenuation effect of the media player, as shown in the following two cases.If the sound source and listener are inside and outside the sound isolation area, the sound attenuation effect is determined by the audioAttenuation in SpatialAudioZone.If the sound source and the listener are in the same sound insulation area or outside the same sound insulation area, the sound attenuation effect is determined by attenuation in this method.
198
193
  *
199
194
  * @returns
200
195
  * 0: Success.< 0: Failure.
@@ -207,10 +202,9 @@ export abstract class IBaseSpatialAudioEngine {
207
202
 
208
203
  /**
209
204
  * Stops or resumes subscribing to the audio stream of a specified user.
210
- * Call this method after joinChannel [2/2] .When using the spatial audio effect, if you need to set whether to stop subscribing to the audio stream of a specified user, Agora recommends calling this method instead of the muteRemoteAudioStream method in IRtcEngine .
205
+ * Call this method after joinChannel .When using the spatial audio effect, if you need to set whether to stop subscribing to the audio stream of a specified user, Agora recommends calling this method instead of the muteRemoteAudioStream method in IRtcEngine .
211
206
  *
212
207
  * @param uid The user ID. This parameter must be the same as the user ID passed in when the user joined the channel.
213
- *
214
208
  * @param mute Whether to subscribe to the specified remote user's audio stream.true: Stop subscribing to the audio stream of the specified user.false: (Default) Subscribe to the audio stream of the specified user. The SDK decides whether to subscribe according to the distance between the local user and the remote user.
215
209
  *
216
210
  * @returns
@@ -235,10 +229,9 @@ export abstract class ILocalSpatialAudioEngine extends IBaseSpatialAudioEngine {
235
229
 
236
230
  /**
237
231
  * Updates the spatial position of the specified remote user.
238
- * After successfully calling this method, the SDK calculates the spatial audio parameters based on the relative position of the local and remote user.Call this method after joinChannel [2/2] .
232
+ * After successfully calling this method, the SDK calculates the spatial audio parameters based on the relative position of the local and remote user.Call this method after joinChannel .
239
233
  *
240
234
  * @param uid The user ID. This parameter must be the same as the user ID passed in when the user joined the channel.
241
- *
242
235
  * @param posInfo The spatial position of the remote user. See RemoteVoicePositionInfo .
243
236
  *
244
237
  * @returns
@@ -270,7 +263,11 @@ export abstract class ILocalSpatialAudioEngine extends IBaseSpatialAudioEngine {
270
263
  abstract removeRemotePosition(uid: number): number;
271
264
 
272
265
  /**
273
- * @ignore
266
+ * Occurs when the most active remote speaker is detected.
267
+ * After a successful call of enableAudioVolumeIndication , the SDK continuously detects which remote user has the loudest volume. During the current period, the remote user, who is detected as the loudest for the most times, is the most active user.When the number of users is no less than two and an active remote speaker exists, the SDK triggers this callback and reports the uid of the most active remote speaker.If the most active remote speaker is always the same user, the SDK triggers the onActiveSpeaker callback only once.If the most active remote speaker changes to another user, the SDK triggers this callback again and reports the uid of the new active remote speaker.
268
+ *
269
+ * @param uid The user ID of the most active remote speaker.
270
+ * @param connection The connection information. See RtcConnection .
274
271
  */
275
272
  abstract removeRemotePositionEx(
276
273
  uid: number,
@@ -287,12 +284,33 @@ export abstract class ILocalSpatialAudioEngine extends IBaseSpatialAudioEngine {
287
284
  abstract clearRemotePositions(): number;
288
285
 
289
286
  /**
290
- * @ignore
287
+ * Stops recording the local audio and video.
288
+ * After calling startRecording , if you want to stop the recording, you must call this method; otherwise, the generated recording files may not be playable.
289
+ *
290
+ * @param connection The connection information. See RtcConnection .
291
+ *
292
+ * @returns
293
+ * 0: Success.< 0: Failure.-7: The method is called before IRtcEngine is initialized.
291
294
  */
292
295
  abstract clearRemotePositionsEx(connection: RtcConnection): number;
293
296
 
294
297
  /**
295
- * @ignore
298
+ * Sets the sound attenuation effect for the specified user.
299
+ *
300
+ * @param uid The user ID. This parameter must be the same as the user ID passed in when the user joined the channel.
301
+ * @param attenuation For the user's sound attenuation coefficient, the value range is [0,1]. The values are as follows:
302
+ * 0: Broadcast mode, where the volume and timbre are not attenuated with distance, and the volume and timbre heard by local users do not change regardless of distance.
303
+ * (0,0.5): Weak attenuation mode, that is, the volume and timbre are only weakly attenuated during the propagation process, and the sound can travel farther than the real environment.
304
+ * 0.5: (Default) simulates the attenuation of the volume in the real environment; the effect is equivalent to not setting the speaker_attenuation parameter.
305
+ * (0.5,1]: Strong attenuation mode, that is, the volume and timbre attenuate rapidly during the propagation process.
306
+ *
307
+ * @param forceSet Whether to force the user's sound attenuation effect:true: Force attenuation to set the sound attenuation of the user. At this time, the attenuation coefficient of the sound insulation area set in the audioAttenuation of the SpatialAudioZone does not take effect for the user.
308
+ * If the sound source and listener are inside and outside the sound isolation area, the sound attenuation effect is determined by the audioAttenuation in SpatialAudioZone.
309
+ * If the sound source and the listener are in the same sound insulation area or outside the same sound insulation area, the sound attenuation effect is determined by attenuation in this method.
310
+ * false: Do not force attenuation to set the user's sound attenuation effect, as shown in the following two cases.
311
+ *
312
+ * @returns
313
+ * 0: Success.< 0: Failure.
296
314
  */
297
315
  abstract setRemoteAudioAttenuation(
298
316
  uid: number,
@@ -1,5 +1,6 @@
1
1
  import './extension/IAudioDeviceManagerExtension';
2
2
  import { AudioDeviceInfo } from './IAgoraRtcEngine';
3
+
3
4
  /**
4
5
  * The maximum length of the device ID.
5
6
  */
@@ -32,6 +33,7 @@ export abstract class IAudioDeviceManager {
32
33
 
33
34
  /**
34
35
  * Sets the audio playback device.
36
+ * You can call this method to change the audio route currently being used, but this does not change the default audio route. For example, if the default audio route is speaker 1, you call this method to set the audio route as speaker 2 before joinging a channel and then start a device test, the SDK conducts device test on speaker 2. After the device test is completed and you join a channel, the SDK still uses speaker 1, the default audio route.
35
37
  *
36
38
  * @param deviceId The ID of the specified audio playback device. You can get the device ID by calling enumeratePlaybackDevices . Connecting or disconnecting the audio device does not change the value of deviceId.The maximum length is MaxDeviceIdLengthType .
37
39
  *
@@ -57,7 +59,13 @@ export abstract class IAudioDeviceManager {
57
59
  abstract getPlaybackDeviceInfo(): AudioDeviceInfo;
58
60
 
59
61
  /**
60
- * @ignore
62
+ * Sets the volume of the in-ear monitor.
63
+ * Users must use wired earphones to hear their own voices.You can call this method either before or after joining a channel.
64
+ *
65
+ * @param volume The volume of the in-ear monitor. The value ranges between 0 and 100. The default value is 100.
66
+ *
67
+ * @returns
68
+ * < 0: Failure.
61
69
  */
62
70
  abstract setPlaybackDeviceVolume(volume: number): number;
63
71
 
@@ -67,9 +75,10 @@ export abstract class IAudioDeviceManager {
67
75
  abstract getPlaybackDeviceVolume(): number;
68
76
 
69
77
  /**
70
- * Sets the audio recording device.
78
+ * Sets the audio capture device.
79
+ * You can call this method to change the audio route currently being used, but this does not change the default audio route. For example, if the default audio route is microphone, you call this method to set the audio route as bluetooth earphones before joinging a channel and then start a device test, the SDK conducts device test on the bluetooth earphones. After the device test is completed and you join a channel, the SDK still uses the microphone for audio capturing.
71
80
  *
72
- * @param deviceId The ID of the audio recording device. You can get the device ID by calling enumerateRecordingDevices . Plugging or unplugging the audio device does not change the value of deviceId.The maximum length is MaxDeviceIdLengthType .
81
+ * @param deviceId The ID of the audio capture device. You can get the Device ID by calling enumerateRecordingDevices . Connecting or disconnecting the audio device does not change the value of deviceId.The maximum length is MaxDeviceIdLengthType .
73
82
  *
74
83
  * @returns
75
84
  * 0: Success.< 0: Failure.
@@ -93,9 +102,10 @@ export abstract class IAudioDeviceManager {
93
102
  abstract getRecordingDeviceInfo(): AudioDeviceInfo;
94
103
 
95
104
  /**
96
- * Sets the volume of the audio recording device.
105
+ * Sets the volume of the audio capture device.
106
+ * This method applies to Windows only.
97
107
  *
98
- * @param volume The volume of the audio recording device. The value range is [0,255].
108
+ * @param volume The volume of the audio recording device. The value ranges between 0 (lowest volume) and 255 (highest volume). 0 means no sound, 255 means maximum volume.
99
109
  *
100
110
  * @returns
101
111
  * 0: Success.< 0: Failure.
@@ -109,7 +119,7 @@ export abstract class IAudioDeviceManager {
109
119
 
110
120
  /**
111
121
  * Sets the loopback device.
112
- * The SDK uses the current playback device as the loopback device by default. If you want to specify another audio device as the loopback device, call this method, and set deviceId to the loopback device you want to specify.This method applies to Windows only.The scenarios where this method is applicable are as follows:Use app A to play music through a Bluetooth headset; when using app B for a video conference, play through the speakers.If the loopback device is set as the Bluetooth headset, the SDK publishes the music in app A to the remote end.If the loopback device is set as the speaker, the SDK does not publish the music in app A to the remote end.If you set the loopback device as the Bluetooth headset, and then use a wired headset to play the music in app A, you need to call this method again, set the loopback device as the wired headset, and the SDK continues to publish the music in app A to remote end.
122
+ * The SDK uses the current playback device as the loopback device by default. If you want to specify another audio device as the loopback device, call this method, and set deviceId to the loopback device you want to specify.You can call this method to change the audio route currently being used, but this does not change the default audio route. For example, if the default audio route is microphone, you call this method to set the audio route as a sound card before joinging a channel and then start a device test, the SDK conducts device test on the sound card. After the device test is completed and you join a channel, the SDK still uses the microphone for audio capturing.This method applies to Windows only.The scenarios where this method is applicable are as follows:Use app A to play music through a Bluetooth headset; when using app B for a video conference, play through the speakers.If the loopback device is set as the Bluetooth headset, the SDK publishes the music in app A to the remote end.If the loopback device is set as the speaker, the SDK does not publish the music in app A to the remote end.If you set the loopback device as the Bluetooth headset, and then use a wired headset to play the music in app A, you need to call this method again, set the loopback device as the wired headset, and the SDK continues to publish the music in app A to remote end.
113
123
  *
114
124
  * @param deviceId Specifies the loopback device of the SDK. You can get the device ID by calling enumeratePlaybackDevices . Connecting or disconnecting the audio device does not change the value of deviceId.The maximum length is MaxDeviceIdLengthType .
115
125
  *
@@ -128,7 +138,13 @@ export abstract class IAudioDeviceManager {
128
138
  abstract getLoopbackDevice(): string;
129
139
 
130
140
  /**
131
- * @ignore
141
+ * Stops or resumes subscribing to the audio streams of all remote users.
142
+ * After successfully calling this method, the local user stops or resumes subscribing to the audio streams of all remote users, including all subsequent users.Call this method after joinChannel .When using the spatial audio effect, if you need to set whether to stop subscribing to the audio streams of all remote users, Agora recommends calling this method instead of the muteAllRemoteAudioStreams method in IRtcEngine .After calling this method, you need to call updateSelfPosition and updateRemotePosition to update the spatial location of the local user and the remote user; otherwise, the settings in this method do not take effect.
143
+ *
144
+ * @param mute Whether to stop subscribing to the audio streams of all remote users:true: Stop subscribing to the audio streams of all remote users.false: Subscribe to the audio streams of all remote users.
145
+ *
146
+ * @returns
147
+ * 0: Success.< 0: Failure.
132
148
  */
133
149
  abstract setPlaybackDeviceMute(mute: boolean): number;
134
150
 
@@ -138,7 +154,13 @@ export abstract class IAudioDeviceManager {
138
154
  abstract getPlaybackDeviceMute(): boolean;
139
155
 
140
156
  /**
141
- * @ignore
157
+ * Stops or resumes subscribing to the audio streams of all remote users.
158
+ * After successfully calling this method, the local user stops or resumes subscribing to the audio streams of all remote users, including all subsequent users.Call this method after joinChannel .When using the spatial audio effect, if you need to set whether to stop subscribing to the audio streams of all remote users, Agora recommends calling this method instead of the muteAllRemoteAudioStreams method in IRtcEngine .After calling this method, you need to call updateSelfPosition and updateRemotePosition to update the spatial location of the local user and the remote user; otherwise, the settings in this method do not take effect.
159
+ *
160
+ * @param mute Whether to stop subscribing to the audio streams of all remote users:true: Stop subscribing to the audio streams of all remote users.false: Subscribe to the audio streams of all remote users.
161
+ *
162
+ * @returns
163
+ * 0: Success.< 0: Failure.
142
164
  */
143
165
  abstract setRecordingDeviceMute(mute: boolean): number;
144
166
 
@@ -171,7 +193,7 @@ export abstract class IAudioDeviceManager {
171
193
  * Starts the audio capture device test.
172
194
  * This method tests whether the audio capture device works properly. After calling this method, the SDK triggers the onAudioVolumeIndication callback at the time interval set in this method, which reports uid = 0 and the volume information of the capturing device.Ensure that you call this method before joining a channel.
173
195
  *
174
- * @param indicationInterval The time interval (ms) at which the SDK triggers the onAudioVolumeIndication callback. Agora recommends a setting greater than 200 ms. This value must not be less than 10 ms; otherwise, you can not receive the onAudioVolumeIndication callback.
196
+ * @param indicationInterval The time interval (ms) at which the SDK triggers the onAudioVolumeIndication callback. Agora recommends setting a value greater than 200 ms. This value must not be less than 10 ms; otherwise, you can not receive the onAudioVolumeIndication callback.
175
197
  *
176
198
  * @returns
177
199
  * 0: Success.< 0: Failure.
@@ -189,7 +211,7 @@ export abstract class IAudioDeviceManager {
189
211
 
190
212
  /**
191
213
  * Starts an audio device loopback test.
192
- * This method tests whether the local audio capture device and playback device are working properly. Once the test starts, the audio recording device records the local audio, and the audio playback device plays the captured audio. The SDK triggers two independent onAudioVolumeIndication callbacks at the time interval set in this method, which reports the volume information of the capture device (uid = 0) and the volume information of the playback device (uid = 1) respectively.Ensure that you call this method before joining a channel.This method tests local audio devices and does not report the network conditions.
214
+ * This method tests whether the local audio capture device and playback device are working properly. After starting the test, the audio capture device records the local audio, and the audio playback device plays the captured audio. The SDK triggers two independent onAudioVolumeIndication callbacks at the time interval set in this method, which reports the volume information of the capture device (uid = 0) and the volume information of the playback device (uid = 1) respectively.Ensure that you call this method before joining a channel.This method tests local audio devices and does not report the network conditions.
193
215
  *
194
216
  * @param indicationInterval The time interval (ms) at which the SDK triggers the onAudioVolumeIndication callback. Agora recommends setting a value greater than 200 ms. This value must not be less than 10 ms; otherwise, you can not receive the onAudioVolumeIndication callback.
195
217
  *
@@ -210,7 +232,7 @@ export abstract class IAudioDeviceManager {
210
232
  /**
211
233
  * Sets the audio playback device used by the SDK to follow the system default audio playback device.
212
234
  *
213
- * @param enable Whether to follow the system default audio playback device:true: Follow. The SDK immediately switches the audio playback device when the system default audio playback device changes.false: Do not follow. The SDK switches the audio playback device to the system default audio playback device only when the currently used audio playback device is disconnected.
235
+ * @param enable Whether to follow the system default audio playback device:true: Follow the system default audio playback device. The SDK immediately switches the audio playback device when the system default audio playback device changes.false: Do not follow the system default audio playback device. The SDK switches the audio playback device to the system default audio playback device only when the currently used audio playback device is disconnected.
214
236
  *
215
237
  * @returns
216
238
  * 0: Success.< 0: Failure.
@@ -220,7 +242,7 @@ export abstract class IAudioDeviceManager {
220
242
  /**
221
243
  * Sets the audio recording device used by the SDK to follow the system default audio recording device.
222
244
  *
223
- * @param enable Whether to follow the system default audio recording device:true: Follow. The SDK immediately switches the audio recording device when the system default audio recording device changes.false: Do not follow. The SDK switches the audio recording device to the system default audio recording device only when the currently used audio recording device is disconnected.
245
+ * @param enable Whether to follow the system default audio recording device:true: Follow the system default audio playback device. The SDK immediately switches the audio recording device when the system default audio recording device changes.false: Do not follow the system default audio playback device. The SDK switches the audio recording device to the system default audio recording device only when the currently used audio recording device is disconnected.
224
246
  *
225
247
  * @returns
226
248
  * 0: Success.< 0: Failure.
@@ -231,7 +253,7 @@ export abstract class IAudioDeviceManager {
231
253
  * Sets whether the loopback device follows the system default playback device.
232
254
  * This method applies to Windows only.
233
255
  *
234
- * @param enable Whether to follow the system default audio playback device:true: Follow. When the default playback device of the system is changed, the SDK immediately switches to the loopback device.false: Do not follow. The SDK switches the audio loopback device to the system default audio playback device only when the current audio playback device is disconnected.
256
+ * @param enable Whether to follow the system default audio playback device:true: Follow the system default audio playback device. When the default playback device of the system is changed, the SDK immediately switches to the loopback device.false: Do not follow the system default audio playback device. The SDK switches the audio loopback device to the system default audio playback device only when the current audio playback device is disconnected.
235
257
  *
236
258
  * @returns
237
259
  * 0: Success.< 0: Failure.
@@ -3,7 +3,7 @@ import {
3
3
  IVideoEncodedFrameObserver,
4
4
  IVideoFrameObserver,
5
5
  } from '../AgoraMediaBase';
6
- import { EmitterSubscription } from '../internal/emitter/EventEmitter';
6
+ import type { EmitterSubscription } from '../internal/emitter/EventEmitter';
7
7
 
8
8
  export type IMediaEngineEvent = IAudioFrameObserver &
9
9
  IVideoFrameObserver &
@@ -1,13 +1,10 @@
1
+ import { IAudioPcmFrameSink, IAudioSpectrumObserver } from '../AgoraMediaBase';
2
+ import { IMediaPlayerVideoFrameObserver } from '../IAgoraMediaPlayer';
1
3
  import { IMediaPlayerSourceObserver } from '../IAgoraMediaPlayerSource';
2
- import {
3
- IMediaPlayerAudioFrameObserver,
4
- IMediaPlayerVideoFrameObserver,
5
- } from '../IAgoraMediaPlayer';
6
- import { IAudioSpectrumObserver } from '../AgoraMediaBase';
7
- import { EmitterSubscription } from '../internal/emitter/EventEmitter';
4
+ import type { EmitterSubscription } from '../internal/emitter/EventEmitter';
8
5
 
9
6
  export type IMediaPlayerEvent = IMediaPlayerSourceObserver &
10
- IMediaPlayerAudioFrameObserver &
7
+ IAudioPcmFrameSink &
11
8
  IMediaPlayerVideoFrameObserver &
12
9
  IAudioSpectrumObserver;
13
10
 
@@ -1,5 +1,5 @@
1
1
  import { IMediaRecorderObserver } from '../AgoraMediaBase';
2
- import { EmitterSubscription } from '../internal/emitter/EventEmitter';
2
+ import type { EmitterSubscription } from '../internal/emitter/EventEmitter';
3
3
 
4
4
  export type IMediaRecorderEvent = IMediaRecorderObserver;
5
5
 
@@ -51,5 +51,10 @@ declare module '../IAgoraMediaRecorder' {
51
51
  removeAllListeners<EventType extends keyof IMediaRecorderEvent>(
52
52
  eventType?: EventType
53
53
  ): void;
54
+
55
+ /**
56
+ * @ignore
57
+ */
58
+ release(): void;
54
59
  }
55
60
  }
@@ -1,5 +1,5 @@
1
1
  import { IMusicContentCenterEventHandler } from '../IAgoraMusicContentCenter';
2
- import { EmitterSubscription } from '../internal/emitter/EventEmitter';
2
+ import type { EmitterSubscription } from '../internal/emitter/EventEmitter';
3
3
 
4
4
  export type IMusicContentCenterEvent = IMusicContentCenterEventHandler;
5
5
 
@@ -1,11 +1,11 @@
1
+ import { IAudioEncodedFrameObserver } from '../AgoraBase';
2
+ import { IAudioSpectrumObserver } from '../AgoraMediaBase';
1
3
  import {
2
- IRtcEngineEventHandler,
3
4
  IDirectCdnStreamingEventHandler,
4
5
  IMetadataObserver,
6
+ IRtcEngineEventHandler,
5
7
  } from '../IAgoraRtcEngine';
6
- import { IAudioSpectrumObserver } from '../AgoraMediaBase';
7
- import { IAudioEncodedFrameObserver } from '../AgoraBase';
8
- import { EmitterSubscription } from '../internal/emitter/EventEmitter';
8
+ import type { EmitterSubscription } from '../internal/emitter/EventEmitter';
9
9
 
10
10
  export type IRtcEngineEvent = IRtcEngineEventHandler &
11
11
  IDirectCdnStreamingEventHandler &
@@ -6,7 +6,7 @@ export function processIAudioEncodedFrameObserver(
6
6
  jsonParams: any
7
7
  ) {
8
8
  switch (event) {
9
- case 'OnRecordAudioEncodedFrame':
9
+ case 'onRecordAudioEncodedFrame':
10
10
  if (handler.onRecordAudioEncodedFrame !== undefined) {
11
11
  handler.onRecordAudioEncodedFrame(
12
12
  jsonParams.frameBuffer,
@@ -16,7 +16,7 @@ export function processIAudioEncodedFrameObserver(
16
16
  }
17
17
  break;
18
18
 
19
- case 'OnPlaybackAudioEncodedFrame':
19
+ case 'onPlaybackAudioEncodedFrame':
20
20
  if (handler.onPlaybackAudioEncodedFrame !== undefined) {
21
21
  handler.onPlaybackAudioEncodedFrame(
22
22
  jsonParams.frameBuffer,
@@ -26,7 +26,7 @@ export function processIAudioEncodedFrameObserver(
26
26
  }
27
27
  break;
28
28
 
29
- case 'OnMixedAudioEncodedFrame':
29
+ case 'onMixedAudioEncodedFrame':
30
30
  if (handler.onMixedAudioEncodedFrame !== undefined) {
31
31
  handler.onMixedAudioEncodedFrame(
32
32
  jsonParams.frameBuffer,
@@ -1,12 +1,27 @@
1
1
  import {
2
- IAudioFrameObserverBase,
3
2
  IAudioFrameObserver,
3
+ IAudioFrameObserverBase,
4
+ IAudioPcmFrameSink,
4
5
  IAudioSpectrumObserver,
6
+ IMediaRecorderObserver,
5
7
  IVideoEncodedFrameObserver,
6
8
  IVideoFrameObserver,
7
- IMediaRecorderObserver,
8
9
  } from '../AgoraMediaBase';
9
10
 
11
+ export function processIAudioPcmFrameSink(
12
+ handler: IAudioPcmFrameSink,
13
+ event: string,
14
+ jsonParams: any
15
+ ) {
16
+ switch (event) {
17
+ case 'onFrame':
18
+ if (handler.onFrame !== undefined) {
19
+ handler.onFrame(jsonParams.frame);
20
+ }
21
+ break;
22
+ }
23
+ }
24
+
10
25
  export function processIAudioFrameObserverBase(
11
26
  handler: IAudioFrameObserverBase,
12
27
  event: string,
@@ -110,37 +125,19 @@ export function processIVideoFrameObserver(
110
125
  switch (event) {
111
126
  case 'onCaptureVideoFrame':
112
127
  if (handler.onCaptureVideoFrame !== undefined) {
113
- handler.onCaptureVideoFrame(jsonParams.videoFrame);
128
+ handler.onCaptureVideoFrame(
129
+ jsonParams.sourceType,
130
+ jsonParams.videoFrame
131
+ );
114
132
  }
115
133
  break;
116
134
 
117
135
  case 'onPreEncodeVideoFrame':
118
136
  if (handler.onPreEncodeVideoFrame !== undefined) {
119
- handler.onPreEncodeVideoFrame(jsonParams.videoFrame);
120
- }
121
- break;
122
-
123
- case 'onSecondaryCameraCaptureVideoFrame':
124
- if (handler.onSecondaryCameraCaptureVideoFrame !== undefined) {
125
- handler.onSecondaryCameraCaptureVideoFrame(jsonParams.videoFrame);
126
- }
127
- break;
128
-
129
- case 'onSecondaryPreEncodeCameraVideoFrame':
130
- if (handler.onSecondaryPreEncodeCameraVideoFrame !== undefined) {
131
- handler.onSecondaryPreEncodeCameraVideoFrame(jsonParams.videoFrame);
132
- }
133
- break;
134
-
135
- case 'onScreenCaptureVideoFrame':
136
- if (handler.onScreenCaptureVideoFrame !== undefined) {
137
- handler.onScreenCaptureVideoFrame(jsonParams.videoFrame);
138
- }
139
- break;
140
-
141
- case 'onPreEncodeScreenVideoFrame':
142
- if (handler.onPreEncodeScreenVideoFrame !== undefined) {
143
- handler.onPreEncodeScreenVideoFrame(jsonParams.videoFrame);
137
+ handler.onPreEncodeVideoFrame(
138
+ jsonParams.sourceType,
139
+ jsonParams.videoFrame
140
+ );
144
141
  }
145
142
  break;
146
143
 
@@ -153,18 +150,6 @@ export function processIVideoFrameObserver(
153
150
  }
154
151
  break;
155
152
 
156
- case 'onSecondaryScreenCaptureVideoFrame':
157
- if (handler.onSecondaryScreenCaptureVideoFrame !== undefined) {
158
- handler.onSecondaryScreenCaptureVideoFrame(jsonParams.videoFrame);
159
- }
160
- break;
161
-
162
- case 'onSecondaryPreEncodeScreenVideoFrame':
163
- if (handler.onSecondaryPreEncodeScreenVideoFrame !== undefined) {
164
- handler.onSecondaryPreEncodeScreenVideoFrame(jsonParams.videoFrame);
165
- }
166
- break;
167
-
168
153
  case 'onRenderVideoFrame':
169
154
  if (handler.onRenderVideoFrame !== undefined) {
170
155
  handler.onRenderVideoFrame(
@@ -191,13 +176,22 @@ export function processIMediaRecorderObserver(
191
176
  switch (event) {
192
177
  case 'onRecorderStateChanged':
193
178
  if (handler.onRecorderStateChanged !== undefined) {
194
- handler.onRecorderStateChanged(jsonParams.state, jsonParams.error);
179
+ handler.onRecorderStateChanged(
180
+ jsonParams.channelId,
181
+ jsonParams.uid,
182
+ jsonParams.state,
183
+ jsonParams.error
184
+ );
195
185
  }
196
186
  break;
197
187
 
198
188
  case 'onRecorderInfoUpdated':
199
189
  if (handler.onRecorderInfoUpdated !== undefined) {
200
- handler.onRecorderInfoUpdated(jsonParams.info);
190
+ handler.onRecorderInfoUpdated(
191
+ jsonParams.channelId,
192
+ jsonParams.uid,
193
+ jsonParams.info
194
+ );
201
195
  }
202
196
  break;
203
197
  }