SCRtcAndroidEngine.cs 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245
  1. using LitJson;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. public class SCRtcAndroidEngine : SCRtcEngine
  5. {
  6. public void setProduce(string msg)
  7. {
  8. #if UNITY_ANDROID && !UNITY_EDITOR
  9. CurrentRtcActivity.Call("setProduce", msg);
  10. #endif
  11. }
  12. //调节他人音量
  13. public double GetaudioMe()
  14. {
  15. double d = 0.0f;
  16. #if UNITY_ANDROID && !UNITY_EDITOR
  17. d = CurrentRtcActivity.Call<double>("GetaudioMe");
  18. #endif
  19. return d;
  20. }
  21. //调节他人音量
  22. public double GetaudioPeer(string consumerId)
  23. {
  24. double d = 0.0f;
  25. #if UNITY_ANDROID && !UNITY_EDITOR
  26. d = CurrentRtcActivity.Call<double>("GetaudioPeer", consumerId);
  27. #endif
  28. return d;
  29. }
  30. SDKCallbackListener sdk;
  31. //增加监听
  32. public void addListener()
  33. {
  34. if (sdk == null)
  35. {
  36. sdk = new SDKCallbackListener();
  37. #if UNITY_ANDROID&& !UNITY_EDITOR
  38. CurrentRtcActivity.Call("initSDK", sdk);
  39. #endif
  40. }
  41. }
  42. override public void send(Queue<JsonData> jsondata)
  43. {
  44. JsonData data;
  45. if (jsondata.Count > 0)
  46. {
  47. data = jsondata.Dequeue();
  48. switch (data["action"].ToString())
  49. {
  50. case "InitRTC":
  51. #if UNITY_ANDROID && !UNITY_EDITOR
  52. addListener();
  53. CurrentRtcActivity.Call("SetConfig", data["data"]["RoomId"].ToString(), data["data"]["roomPwd"].ToString(),bool.Parse(data["data"]["isSendAudio"].ToString()), bool.Parse(data["data"]["isSendVideo"].ToString()), bool.Parse(data["data"]["isRevAllAudio"].ToString()), bool.Parse(data["data"]["isRevAllVideo"].ToString()), int.Parse(data["data"]["mWidth"].ToString()), int.Parse(data["data"]["mHight"].ToString()), int.Parse(data["data"]["FPS"].ToString()));
  54. CurrentRtcActivity.Call("InitSocket", data["data"]["Url"].ToString());
  55. #endif
  56. break;
  57. case "changeVideo":
  58. #if UNITY_ANDROID && !UNITY_EDITOR
  59. CurrentRtcActivity.Call("changeVideo",int.Parse(data["data"]["w"].ToString()),int.Parse(data["data"]["h"].ToString()),int.Parse(data["data"]["fps"].ToString()));
  60. #endif
  61. break;
  62. case "setMute":
  63. #if UNITY_ANDROID && !UNITY_EDITOR
  64. CurrentRtcActivity.Call("setMute",bool.Parse(data["data"]["boo"].ToString()));
  65. #endif
  66. break;
  67. case "sendVideo":
  68. #if UNITY_ANDROID && !UNITY_EDITOR
  69. CurrentRtcActivity.Call("sendVideo",bool.Parse(data["data"]["boo"].ToString()));
  70. #endif
  71. break;
  72. case "enableVideoOnly":
  73. #if UNITY_ANDROID && !UNITY_EDITOR
  74. CurrentRtcActivity.Call("enableVideoOnly",bool.Parse(data["data"]["boo"].ToString()));
  75. #endif
  76. break;
  77. case "enableAudioOnly":
  78. #if UNITY_ANDROID && !UNITY_EDITOR
  79. CurrentRtcActivity.Call("enableAudioOnly",bool.Parse(data["data"]["boo"].ToString()));
  80. #endif
  81. break;
  82. case "openSpeaker":
  83. #if UNITY_ANDROID && !UNITY_EDITOR
  84. CurrentRtcActivity.Call("openSpeaker",bool.Parse(data["data"]["boo"].ToString()));
  85. #endif
  86. break;
  87. case "closeSpeaker":
  88. #if UNITY_ANDROID && !UNITY_EDITOR
  89. CurrentRtcActivity.Call("closeSpeaker",bool.Parse(data["data"]["boo"].ToString()));
  90. #endif
  91. break;
  92. case "setVolume":
  93. #if UNITY_ANDROID && !UNITY_EDITOR
  94. CurrentRtcActivity.Call("setVolume",int.Parse(data["data"]["i"].ToString()));
  95. #endif
  96. break;
  97. case "sendMic":
  98. #if UNITY_ANDROID && !UNITY_EDITOR
  99. CurrentRtcActivity.Call("sendMic",bool.Parse(data["data"]["boo"].ToString()));
  100. #endif
  101. break;
  102. case "openRev":
  103. #if UNITY_ANDROID && !UNITY_EDITOR
  104. CurrentRtcActivity.Call("openRev",data["data"]["consumerId"].ToString());
  105. #endif
  106. break;
  107. case "closeRev":
  108. #if UNITY_ANDROID && !UNITY_EDITOR
  109. CurrentRtcActivity.Call("closeRev",data["data"]["consumerId"].ToString());
  110. #endif
  111. break;
  112. case "Close":
  113. #if UNITY_ANDROID && !UNITY_EDITOR
  114. CurrentRtcActivity.Call("close");
  115. #endif
  116. SCRtcFactory.Instance.isClose = true;
  117. break;
  118. case "addTextureID":
  119. #if UNITY_ANDROID && !UNITY_EDITOR
  120. CurrentRtcActivity.Call("addTextureID", data["data"]["peerId"].ToString(), int.Parse(data["data"]["textureID"].ToString()));
  121. #endif
  122. break;
  123. case "audioPeerChange":
  124. #if UNITY_ANDROID && !UNITY_EDITOR
  125. CurrentRtcActivity.Call("audioPeerChange", data["data"]["consumerId"].ToString(), double.Parse(data["data"]["d"].ToString()));
  126. #endif
  127. break;
  128. case "audioMeChange":
  129. #if UNITY_ANDROID && !UNITY_EDITOR
  130. CurrentRtcActivity.Call("audioMeChange", double.Parse(data["data"]["d"].ToString()));
  131. #endif
  132. break;
  133. case "changePeerVideo":
  134. #if UNITY_ANDROID && !UNITY_EDITOR
  135. CurrentRtcActivity.Call("changePeerVideo", data["data"]["consumerId"].ToString(), int.Parse(data["data"]["fps"].ToString()));
  136. #endif
  137. break;
  138. case "changeName":
  139. #if UNITY_ANDROID && !UNITY_EDITOR
  140. CurrentRtcActivity.Call("changeName", data["data"]["name"].ToString());
  141. #endif
  142. break;
  143. case "joinRoom":
  144. #if UNITY_ANDROID && !UNITY_EDITOR
  145. CurrentRtcActivity.Call("joinRoom", data["data"]["req"].ToString());
  146. #endif
  147. break;
  148. case "GetaudioMe":
  149. #if UNITY_ANDROID && !UNITY_EDITOR
  150. CurrentRtcActivity.Call("GetaudioMe");
  151. #endif
  152. break;
  153. case "GetaudioPeer":
  154. #if UNITY_ANDROID && !UNITY_EDITOR
  155. CurrentRtcActivity.Call("GetaudioPeer");
  156. #endif
  157. break;
  158. case "onSocketMesseage":
  159. #if UNITY_ANDROID && !UNITY_EDITOR
  160. CurrentRtcActivity.Call("onSocketMesseage", data["data"].ToString());
  161. #endif
  162. break;
  163. case "initRtpCapabilities":
  164. #if UNITY_ANDROID && !UNITY_EDITOR
  165. CurrentRtcActivity.Call("initRtpCapabilities", data["data"].ToString());
  166. #endif
  167. break;
  168. case "createRecvTransport":
  169. #if UNITY_ANDROID && !UNITY_EDITOR
  170. CurrentRtcActivity.Call("createRecvTransport", data["data"].ToString());
  171. #endif
  172. break;
  173. case "createSendTransport":
  174. #if UNITY_ANDROID && !UNITY_EDITOR
  175. CurrentRtcActivity.Call("createSendTransport", data["data"].ToString());
  176. #endif
  177. break;
  178. case "onNewConsumer":
  179. #if UNITY_ANDROID && !UNITY_EDITOR
  180. CurrentRtcActivity.Call("onNewConsumer", data["data"].ToString(),data["id"].ToString());
  181. #endif
  182. break;
  183. case "getDevice":
  184. #if UNITY_ANDROID && !UNITY_EDITOR
  185. CurrentRtcActivity.Call("getDevice");
  186. #endif
  187. break;
  188. case "setProduce":
  189. #if UNITY_ANDROID && !UNITY_EDITOR
  190. CurrentRtcActivity.Call("setProduce", data["data"].ToString());
  191. #endif
  192. break;
  193. case "startCamera":
  194. if (DeviceInfo.MODEL == "JIMO"|| DeviceInfo.MODEL == "V01"|| DeviceInfo.MODEL == "A01"|| DeviceInfo.MODEL == "A01_PRO")
  195. {
  196. #if UNITY_ANDROID && !UNITY_EDITOR
  197. CurrentRtcActivity.Call("startCamera");
  198. #endif
  199. }
  200. else
  201. {
  202. #if UNITY_ANDROID && !UNITY_EDITOR
  203. CurrentRtcActivity.Call("openUsbDevice");
  204. #endif
  205. }
  206. break;
  207. case "stopCamera":
  208. if (DeviceInfo.MODEL == "JIMO" || DeviceInfo.MODEL == "V01" || DeviceInfo.MODEL == "A01" || DeviceInfo.MODEL == "A01_PRO")
  209. {
  210. #if UNITY_ANDROID && !UNITY_EDITOR
  211. CurrentRtcActivity.Call("stopCamera");
  212. #endif
  213. }
  214. else
  215. {
  216. #if UNITY_ANDROID && !UNITY_EDITOR
  217. // CurrentRtcActivity.Call("startCamera");
  218. #endif
  219. }
  220. break;
  221. case "addCameraLocal":
  222. #if UNITY_ANDROID && !UNITY_EDITOR
  223. CurrentRtcActivity.Call("addCameraLocal", int.Parse(data["L"].ToString()));
  224. #endif
  225. break;
  226. }
  227. }
  228. }
  229. }