@oxiaom/adoremix-linux-arm 1.0.0

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 (262) hide show
  1. package/index.js +24 -0
  2. package/native/.adoremix-native.json +1 -0
  3. package/native/AdoreMixV8.0.17_console_linuxarm +0 -0
  4. package/native/README.md +20 -0
  5. package/native/audio/libqtaudio_alsa.so +0 -0
  6. package/native/audio/libqtmedia_pulse.so +0 -0
  7. package/native/bearer/libqconnmanbearer.so +0 -0
  8. package/native/bearer/libqgenericbearer.so +0 -0
  9. package/native/bearer/libqnmbearer.so +0 -0
  10. package/native/etc/Demo1.ini +49 -0
  11. package/native/etc/docroot/bangzhu/.project +22 -0
  12. package/native/etc/docroot/bangzhu/css/app.css +21 -0
  13. package/native/etc/docroot/bangzhu/css/feedback.css +131 -0
  14. package/native/etc/docroot/bangzhu/css/icons-extra.css +63 -0
  15. package/native/etc/docroot/bangzhu/css/mui.dtpicker.css +136 -0
  16. package/native/etc/docroot/bangzhu/css/mui.imageviewer.css +123 -0
  17. package/native/etc/docroot/bangzhu/css/mui.indexedlist.css +112 -0
  18. package/native/etc/docroot/bangzhu/css/mui.listpicker.css +95 -0
  19. package/native/etc/docroot/bangzhu/css/mui.min.css +5 -0
  20. package/native/etc/docroot/bangzhu/css/mui.picker.all.css +285 -0
  21. package/native/etc/docroot/bangzhu/css/mui.picker.css +85 -0
  22. package/native/etc/docroot/bangzhu/css/mui.picker.min.css +7 -0
  23. package/native/etc/docroot/bangzhu/css/mui.poppicker.css +64 -0
  24. package/native/etc/docroot/bangzhu/examples/accordion.html +125 -0
  25. package/native/etc/docroot/bangzhu/examples/actionsheet-plus.html +128 -0
  26. package/native/etc/docroot/bangzhu/examples/actionsheet.html +153 -0
  27. package/native/etc/docroot/bangzhu/examples/ad.html +47 -0
  28. package/native/etc/docroot/bangzhu/examples/ajax.html +155 -0
  29. package/native/etc/docroot/bangzhu/examples/badges.html +54 -0
  30. package/native/etc/docroot/bangzhu/examples/beecloud.html +150 -0
  31. package/native/etc/docroot/bangzhu/examples/best-practices/list-to-detail/detail.html +104 -0
  32. package/native/etc/docroot/bangzhu/examples/best-practices/list-to-detail/list-to-detail.css +160 -0
  33. package/native/etc/docroot/bangzhu/examples/best-practices/list-to-detail/listview.html +326 -0
  34. package/native/etc/docroot/bangzhu/examples/best-practices/list-to-detail/vue.min.js +8 -0
  35. package/native/etc/docroot/bangzhu/examples/buttons-with-badges.html +48 -0
  36. package/native/etc/docroot/bangzhu/examples/buttons-with-block.html +50 -0
  37. package/native/etc/docroot/bangzhu/examples/buttons-with-icons.html +68 -0
  38. package/native/etc/docroot/bangzhu/examples/buttons-with-loading.html +86 -0
  39. package/native/etc/docroot/bangzhu/examples/buttons.html +89 -0
  40. package/native/etc/docroot/bangzhu/examples/card.html +97 -0
  41. package/native/etc/docroot/bangzhu/examples/checkbox.html +68 -0
  42. package/native/etc/docroot/bangzhu/examples/clouddb_wilddog.html +268 -0
  43. package/native/etc/docroot/bangzhu/examples/date.html +88 -0
  44. package/native/etc/docroot/bangzhu/examples/dialog.html +82 -0
  45. package/native/etc/docroot/bangzhu/examples/dtpicker.html +129 -0
  46. package/native/etc/docroot/bangzhu/examples/echarts.html +150 -0
  47. package/native/etc/docroot/bangzhu/examples/feedback.html +72 -0
  48. package/native/etc/docroot/bangzhu/examples/grid-default.html +61 -0
  49. package/native/etc/docroot/bangzhu/examples/grid-pagination.html +266 -0
  50. package/native/etc/docroot/bangzhu/examples/guide.html +269 -0
  51. package/native/etc/docroot/bangzhu/examples/icons-extra.html +161 -0
  52. package/native/etc/docroot/bangzhu/examples/icons.html +182 -0
  53. package/native/etc/docroot/bangzhu/examples/im-chat.html +711 -0
  54. package/native/etc/docroot/bangzhu/examples/imageviewer-native.html +90 -0
  55. package/native/etc/docroot/bangzhu/examples/imageviewer.html +197 -0
  56. package/native/etc/docroot/bangzhu/examples/indexed-list-select.html +459 -0
  57. package/native/etc/docroot/bangzhu/examples/indexed-list.html +265 -0
  58. package/native/etc/docroot/bangzhu/examples/info.html +119 -0
  59. package/native/etc/docroot/bangzhu/examples/input.html +108 -0
  60. package/native/etc/docroot/bangzhu/examples/lazyload-image.html +73 -0
  61. package/native/etc/docroot/bangzhu/examples/list-triplex-row.html +115 -0
  62. package/native/etc/docroot/bangzhu/examples/list-with-input.html +91 -0
  63. package/native/etc/docroot/bangzhu/examples/locker-dom.html +85 -0
  64. package/native/etc/docroot/bangzhu/examples/login.html +83 -0
  65. package/native/etc/docroot/bangzhu/examples/media-list.html +220 -0
  66. package/native/etc/docroot/bangzhu/examples/message-bottom.html +87 -0
  67. package/native/etc/docroot/bangzhu/examples/modals.html +45 -0
  68. package/native/etc/docroot/bangzhu/examples/nav-nativeObj.html +45 -0
  69. package/native/etc/docroot/bangzhu/examples/nav.html +135 -0
  70. package/native/etc/docroot/bangzhu/examples/nav_transparent.html +127 -0
  71. package/native/etc/docroot/bangzhu/examples/nav_transparent_native.html +121 -0
  72. package/native/etc/docroot/bangzhu/examples/numbox.html +114 -0
  73. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-down.html +384 -0
  74. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-left-plus-main.html +293 -0
  75. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-left-plus-menu.html +102 -0
  76. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-left.html +228 -0
  77. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-right-plus-main.html +292 -0
  78. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-right-plus-menu.html +111 -0
  79. package/native/etc/docroot/bangzhu/examples/offcanvas-drag-right.html +220 -0
  80. package/native/etc/docroot/bangzhu/examples/pagination.html +236 -0
  81. package/native/etc/docroot/bangzhu/examples/picker.html +159 -0
  82. package/native/etc/docroot/bangzhu/examples/popovers.html +200 -0
  83. package/native/etc/docroot/bangzhu/examples/progressbar.html +171 -0
  84. package/native/etc/docroot/bangzhu/examples/pullrefresh.html +86 -0
  85. package/native/etc/docroot/bangzhu/examples/pullrefresh_main.html +46 -0
  86. package/native/etc/docroot/bangzhu/examples/pullrefresh_sub.html +101 -0
  87. package/native/etc/docroot/bangzhu/examples/pullrefresh_with_tab.html +586 -0
  88. package/native/etc/docroot/bangzhu/examples/radio.html +93 -0
  89. package/native/etc/docroot/bangzhu/examples/range.html +89 -0
  90. package/native/etc/docroot/bangzhu/examples/setting.html +910 -0
  91. package/native/etc/docroot/bangzhu/examples/slider-default.html +98 -0
  92. package/native/etc/docroot/bangzhu/examples/slider-native.html +43 -0
  93. package/native/etc/docroot/bangzhu/examples/slider-table-default.html +62 -0
  94. package/native/etc/docroot/bangzhu/examples/slider-table-pagination.html +74 -0
  95. package/native/etc/docroot/bangzhu/examples/slider-with-title.html +99 -0
  96. package/native/etc/docroot/bangzhu/examples/switches.html +92 -0
  97. package/native/etc/docroot/bangzhu/examples/tab-top-subpage-1.html +131 -0
  98. package/native/etc/docroot/bangzhu/examples/tab-top-subpage-2.html +131 -0
  99. package/native/etc/docroot/bangzhu/examples/tab-top-subpage-3.html +56 -0
  100. package/native/etc/docroot/bangzhu/examples/tab-top-subpage-4.html +110 -0
  101. package/native/etc/docroot/bangzhu/examples/tab-top-subpage-5.html +131 -0
  102. package/native/etc/docroot/bangzhu/examples/tab-top-webview-main.html +183 -0
  103. package/native/etc/docroot/bangzhu/examples/tab-vertical-scroll.html +170 -0
  104. package/native/etc/docroot/bangzhu/examples/tab-webview-main.html +112 -0
  105. package/native/etc/docroot/bangzhu/examples/tab-webview-subpage-about.html +38 -0
  106. package/native/etc/docroot/bangzhu/examples/tab-webview-subpage-chat.html +127 -0
  107. package/native/etc/docroot/bangzhu/examples/tab-webview-subpage-contact.html +155 -0
  108. package/native/etc/docroot/bangzhu/examples/tab-webview-subpage-setting.html +79 -0
  109. package/native/etc/docroot/bangzhu/examples/tab-with-segmented-control-vertical.html +85 -0
  110. package/native/etc/docroot/bangzhu/examples/tab-with-segmented-control.html +195 -0
  111. package/native/etc/docroot/bangzhu/examples/tab-with-viewpagerindicator.html +203 -0
  112. package/native/etc/docroot/bangzhu/examples/tabbar-labels-only.html +44 -0
  113. package/native/etc/docroot/bangzhu/examples/tabbar-with-submenus.html +75 -0
  114. package/native/etc/docroot/bangzhu/examples/tabbar.html +247 -0
  115. package/native/etc/docroot/bangzhu/examples/tableviews-with-badges.html +78 -0
  116. package/native/etc/docroot/bangzhu/examples/tableviews-with-collapses.html +83 -0
  117. package/native/etc/docroot/bangzhu/examples/tableviews-with-swipe.html +184 -0
  118. package/native/etc/docroot/bangzhu/examples/tableviews.html +87 -0
  119. package/native/etc/docroot/bangzhu/examples/typography.html +41 -0
  120. package/native/etc/docroot/bangzhu/fonts/mui-icons-extra.ttf +0 -0
  121. package/native/etc/docroot/bangzhu/fonts/mui.ttf +0 -0
  122. package/native/etc/docroot/bangzhu/images/60x60.gif +0 -0
  123. package/native/etc/docroot/bangzhu/images/cbd.jpg +0 -0
  124. package/native/etc/docroot/bangzhu/images/login-1.png +0 -0
  125. package/native/etc/docroot/bangzhu/images/logo.png +0 -0
  126. package/native/etc/docroot/bangzhu/images/muwu.jpg +0 -0
  127. package/native/etc/docroot/bangzhu/images/qrcode.png +0 -0
  128. package/native/etc/docroot/bangzhu/images/shuijiao.jpg +0 -0
  129. package/native/etc/docroot/bangzhu/images/yuantiao.jpg +0 -0
  130. package/native/etc/docroot/bangzhu/index-menu.html +196 -0
  131. package/native/etc/docroot/bangzhu/index.html +414 -0
  132. package/native/etc/docroot/bangzhu/js/95516.js +32 -0
  133. package/native/etc/docroot/bangzhu/js/arttmpl.js +2 -0
  134. package/native/etc/docroot/bangzhu/js/beecloud.js +141 -0
  135. package/native/etc/docroot/bangzhu/js/city.data-3.js +11548 -0
  136. package/native/etc/docroot/bangzhu/js/city.data.js +1605 -0
  137. package/native/etc/docroot/bangzhu/js/feedback.js +234 -0
  138. package/native/etc/docroot/bangzhu/js/mui.dtpicker.js +471 -0
  139. package/native/etc/docroot/bangzhu/js/mui.imageViewer.js +268 -0
  140. package/native/etc/docroot/bangzhu/js/mui.indexedlist.js +187 -0
  141. package/native/etc/docroot/bangzhu/js/mui.js +8390 -0
  142. package/native/etc/docroot/bangzhu/js/mui.lazyload.img.js +116 -0
  143. package/native/etc/docroot/bangzhu/js/mui.lazyload.js +327 -0
  144. package/native/etc/docroot/bangzhu/js/mui.listpicker.js +399 -0
  145. package/native/etc/docroot/bangzhu/js/mui.locker.js +303 -0
  146. package/native/etc/docroot/bangzhu/js/mui.min.js +6 -0
  147. package/native/etc/docroot/bangzhu/js/mui.picker.all.js +1018 -0
  148. package/native/etc/docroot/bangzhu/js/mui.picker.js +389 -0
  149. package/native/etc/docroot/bangzhu/js/mui.picker.min.js +7 -0
  150. package/native/etc/docroot/bangzhu/js/mui.poppicker.js +160 -0
  151. package/native/etc/docroot/bangzhu/js/mui.previewimage.js +382 -0
  152. package/native/etc/docroot/bangzhu/js/mui.pullToRefresh.js +407 -0
  153. package/native/etc/docroot/bangzhu/js/mui.pullToRefresh.material.js +352 -0
  154. package/native/etc/docroot/bangzhu/js/mui.view.js +628 -0
  155. package/native/etc/docroot/bangzhu/js/mui.zoom.js +322 -0
  156. package/native/etc/docroot/bangzhu/js/update.js +45 -0
  157. package/native/etc/docroot/bangzhu/js/webviewGroup.js +286 -0
  158. package/native/etc/docroot/bangzhu/libs/echarts-all.js +35 -0
  159. package/native/etc/docroot/bangzhu/manifest.json +994 -0
  160. package/native/etc/docroot/index.html +1 -0
  161. package/native/etc/docroot/luyin2/index.html +145 -0
  162. package/native/etc/docroot/luyin2/js/jquery-1.10.1.min.js +6 -0
  163. package/native/etc/docroot/luyin2/js/jquery-1.5.min.js +16 -0
  164. package/native/etc/docroot/luyin2/js/jquery.js +18 -0
  165. package/native/etc/docroot/luyin2/js/jquery.multiselect.js +104 -0
  166. package/native/etc/docroot/luyin2/js/lame.min.js +308 -0
  167. package/native/etc/docroot/luyin2/js/recordmp3.js +239 -0
  168. package/native/etc/docroot/luyin2/js/worker-realtime.js +106 -0
  169. package/native/etc/docroot/luyin2//346/223/215/344/275/234/346/214/207/345/215/227.txt +3 -0
  170. package/native/etc/docroot/static/css/app.8421a6d597ba48619941ccd4e386fbb2.css +675 -0
  171. package/native/etc/docroot/static/css/app.8421a6d597ba48619941ccd4e386fbb2.css.map +1 -0
  172. package/native/etc/docroot/static/fonts/element-icons.535877f.woff +0 -0
  173. package/native/etc/docroot/static/fonts/element-icons.732389d.ttf +0 -0
  174. package/native/etc/docroot/static/img/login_bg.ad6b482.jpg +0 -0
  175. package/native/etc/docroot/static/js/app.eff1c2200a448936b027.js +2 -0
  176. package/native/etc/docroot/static/js/app.eff1c2200a448936b027.js.map +1 -0
  177. package/native/etc/docroot/static/js/manifest.400eada2d24447a4fc30.js +2 -0
  178. package/native/etc/docroot/static/js/manifest.400eada2d24447a4fc30.js.map +1 -0
  179. package/native/etc/docroot/static/js/vendor.ca4f735ec1dfe336a804.js +45 -0
  180. package/native/etc/docroot/static/js/vendor.ca4f735ec1dfe336a804.js.map +1 -0
  181. package/native/etc/docroot/tts.js +151 -0
  182. package/native/etc/docroot/xcx/Discover.html +156 -0
  183. package/native/etc/docroot/xcx/css/mui.css +5649 -0
  184. package/native/etc/docroot/xcx/css/mui.min.css +5 -0
  185. package/native/etc/docroot/xcx/devicelist.html +659 -0
  186. package/native/etc/docroot/xcx/fonts/mui.ttf +0 -0
  187. package/native/etc/docroot/xcx/index.html +75 -0
  188. package/native/etc/docroot/xcx/index.js +1 -0
  189. package/native/etc/docroot/xcx/js/axios.min.js +3 -0
  190. package/native/etc/docroot/xcx/js/axios.min.map +1 -0
  191. package/native/etc/docroot/xcx/js/js.cookie.js +8 -0
  192. package/native/etc/docroot/xcx/js/mui.js +8390 -0
  193. package/native/etc/docroot/xcx/js/mui.min.js +6 -0
  194. package/native/etc/docroot/xcx/main.html +85 -0
  195. package/native/etc/ssl/README.txt +5 -0
  196. package/native/etc/ssl/ca.crt +21 -0
  197. package/native/etc/ssl/ca.key +27 -0
  198. package/native/etc/ssl/client.crt +20 -0
  199. package/native/etc/ssl/client.key +28 -0
  200. package/native/etc/ssl/client.p12 +0 -0
  201. package/native/etc/ssl/server.crt +20 -0
  202. package/native/etc/ssl/server.key +28 -0
  203. package/native/etc/templates/demo-de.tpl +12 -0
  204. package/native/etc/templates/demo.tpl +12 -0
  205. package/native/etc/ttys/adore03.sql +426 -0
  206. package/native/etc/ttys/adore04.sql +426 -0
  207. package/native/etc/ttys/adore1.sql +859 -0
  208. package/native/etc/ttys/adore_mix22.sql +806 -0
  209. package/native/etc/ttys/sqlite.sql +1140 -0
  210. package/native/etc/ttys/sqlite3main.sql +434 -0
  211. package/native/etc/ttys/sqltest.sql +279 -0
  212. package/native/etc/ttys/tp3sql.sql +1412 -0
  213. package/native/find.js +529 -0
  214. package/native/findsc.js +701 -0
  215. package/native/iconengines/libqsvgicon.so +0 -0
  216. package/native/imageformats/libqgif.so +0 -0
  217. package/native/imageformats/libqico.so +0 -0
  218. package/native/imageformats/libqjpeg.so +0 -0
  219. package/native/imageformats/libqsvg.so +0 -0
  220. package/native/lib/libQt5Concurrent.so.5 +0 -0
  221. package/native/lib/libQt5Core.so.5 +0 -0
  222. package/native/lib/libQt5DBus.so.5 +0 -0
  223. package/native/lib/libQt5Multimedia.so.5 +0 -0
  224. package/native/lib/libQt5MultimediaGstTools.so.5 +0 -0
  225. package/native/lib/libQt5Network.so.5 +0 -0
  226. package/native/lib/libQt5Sql.so.5 +0 -0
  227. package/native/lib/libQt5Svg.so.5 +0 -0
  228. package/native/lib/libQt5WebSockets.so.5 +0 -0
  229. package/native/lib/libQt5Xml.so.5 +0 -0
  230. package/native/lib/libcrypto.so.3 +0 -0
  231. package/native/lib/libgcc_s.so.1 +0 -0
  232. package/native/lib/libmariadb.so.3 +0 -0
  233. package/native/lib/libmp3lame.so.0 +0 -0
  234. package/native/lib/libmp3lame.so.0.0.0 +0 -0
  235. package/native/lib/libopus.so.0 +0 -0
  236. package/native/lib/libopus.so.0.8.0 +0 -0
  237. package/native/lib/libopusfile.so.0 +0 -0
  238. package/native/lib/libopusfile.so.0.4.2 +0 -0
  239. package/native/lib/libopusurl.so.0 +0 -0
  240. package/native/lib/libopusurl.so.0.4.2 +0 -0
  241. package/native/lib/libsqlite3.so.0 +0 -0
  242. package/native/lib/libsqlite3.so.0.8.6 +0 -0
  243. package/native/lib/libssl.so.3 +0 -0
  244. package/native/lib/libstdc++.so.6 +0 -0
  245. package/native/lib/libstdc++.so.6.0.30 +0 -0
  246. package/native/mediaservice/libgstaudiodecoder.so +0 -0
  247. package/native/mediaservice/libgstcamerabin.so +0 -0
  248. package/native/mediaservice/libgstmediacapture.so +0 -0
  249. package/native/mediaservice/libgstmediaplayer.so +0 -0
  250. package/native/platforms/libqeglfs.so +0 -0
  251. package/native/platforms/libqlinuxfb.so +0 -0
  252. package/native/platforms/libqminimal.so +0 -0
  253. package/native/platforms/libqminimalegl.so +0 -0
  254. package/native/platforms/libqoffscreen.so +0 -0
  255. package/native/platforms/libqvnc.so +0 -0
  256. package/native/platforms/libqxcb.so +0 -0
  257. package/native/qt.conf +3 -0
  258. package/native/sqldrivers/libqsqlite.so +0 -0
  259. package/native/sqldrivers/libqsqlmysql.so +0 -0
  260. package/native/sqldrivers/libsqlitecipher.so +0 -0
  261. package/native/tts.js +151 -0
  262. package/package.json +23 -0
@@ -0,0 +1,239 @@
1
+ (function (exports) {
2
+
3
+ var MP3Recorder = function (config) {
4
+
5
+ var recorder = this;
6
+ config = config || {};
7
+ config.sampleRate = config.sampleRate || 44100;
8
+ config.bitRate = config.bitRate || 64;
9
+ config.broadcasttype = config.broadcasttype || 1;//1:为录制,2:为广播
10
+
11
+ navigator.getUserMedia = navigator.getUserMedia ||
12
+ navigator.webkitGetUserMedia ||
13
+ navigator.mozGetUserMedia ||
14
+ navigator.msGetUserMedia;
15
+
16
+ if (navigator.getUserMedia) {
17
+ navigator.getUserMedia({
18
+ audio: true
19
+ },
20
+ function (stream) {
21
+ var context = new AudioContext(),
22
+ microphone = context.createMediaStreamSource(stream),
23
+ processor = context.createScriptProcessor(16384, 2, 2),//bufferSize大小,输入channel数,输出channel数
24
+ mp3ReceiveSuccess, currentErrorCallback;
25
+
26
+ config.sampleRate = context.sampleRate;
27
+ processor.onaudioprocess = function (event) {
28
+ //边录音边转换
29
+ var array = event.inputBuffer.getChannelData(0);
30
+ if(config.broadcasttype == 1){
31
+ realTimeWorker.postMessage({ cmd: 'encode', buf: array });
32
+ }else{
33
+ realTimeWorker.postMessage({ cmd: 'open', buf: array });
34
+ }
35
+ };
36
+
37
+ var realTimeWorker = new Worker('js/worker-realtime.js');
38
+ realTimeWorker.onmessage = function (e) {
39
+ switch (e.data.cmd) {
40
+ case 'init':
41
+ log('初始化成功');
42
+ if (config.funOk) {
43
+ config.funOk();
44
+ }
45
+ break;
46
+ case 'end':
47
+ log('MP3大小:', e.data.buf.length);
48
+ if (mp3ReceiveSuccess) {
49
+ mp3ReceiveSuccess(new Blob(e.data.buf, { type: 'audio/mp3' }));
50
+ }
51
+ break;
52
+ case 'error':
53
+ log('错误信息:' + e.data.error);
54
+ if (currentErrorCallback) {
55
+ currentErrorCallback(e.data.error);
56
+ }
57
+ break;
58
+ case 'close':
59
+
60
+ if( e.data.buf.length > 0 ){
61
+ var i = 0 ;
62
+ var senddata = "";
63
+ var dataforsend = e.data.buf[i] ;
64
+ for( i = 1 ; i <e.data.buf.length ; i++ ){
65
+ if(e.data.buf[i].length >0 ){
66
+ dataforsend = dataforsend + ","+ e.data.buf[i];
67
+ console.log("=============================" + e.data.buf[i].toString("hex")) ;
68
+ senddata =uintbase64(e.data.buf[i]);
69
+ ws.send(senddata);
70
+ //senddata = senddata + uintbase64(e.data.buf[i]) + "|"
71
+ }
72
+ }
73
+
74
+ }
75
+ break;
76
+ default:
77
+ log('未知信息:', e.data);
78
+ }
79
+ };
80
+
81
+ recorder.getMp3Blob = function (onSuccess, onError) {
82
+ currentErrorCallback = onError;
83
+ mp3ReceiveSuccess = onSuccess;
84
+ realTimeWorker.postMessage({ cmd: 'finish' });
85
+ };
86
+
87
+ recorder.start = function () {
88
+ if (processor && microphone) {
89
+ microphone.connect(processor);
90
+ processor.connect(context.destination);
91
+ log('开始录音');
92
+ }
93
+ }
94
+
95
+ recorder.stop = function () {
96
+ if (processor && microphone) {
97
+ microphone.disconnect();
98
+ processor.disconnect();
99
+ log('录音结束');
100
+ }
101
+ }
102
+
103
+ recorder.Ontime = function (broadcasttype) {
104
+ config.broadcasttype = broadcasttype || 1;
105
+ if (processor && microphone) {
106
+ microphone.connect(processor);
107
+ processor.connect(context.destination);
108
+ log('开启广播');
109
+ }
110
+ }
111
+
112
+ recorder.Onstop = function (broadcasttype) {
113
+ config.broadcasttype = broadcasttype || 1;
114
+ if (processor && microphone) {
115
+ microphone.disconnect();
116
+ processor.disconnect();
117
+ log('关闭广播');
118
+ }
119
+ }
120
+
121
+ realTimeWorker.postMessage({
122
+ cmd: 'init',
123
+ config: {
124
+ sampleRate: config.sampleRate,
125
+ bitRate: config.bitRate
126
+ }
127
+ });
128
+ },
129
+ function (error) {
130
+ var msg;
131
+ switch (error.code || error.name) {
132
+ case 'PERMISSION_DENIED':
133
+ case 'PermissionDeniedError':
134
+ msg = '用户拒绝访问麦客风';
135
+ break;
136
+ case 'NOT_SUPPORTED_ERROR':
137
+ case 'NotSupportedError':
138
+ msg = '浏览器不支持麦客风';
139
+ break;
140
+ case 'MANDATORY_UNSATISFIED_ERROR':
141
+ case 'MandatoryUnsatisfiedError':
142
+ msg = '找不到麦客风设备';
143
+ break;
144
+ default:
145
+ msg = '无法打开麦克风,异常信息:' + (error.code || error.name);
146
+ break;
147
+ }
148
+ if (config.funCancel) {
149
+ config.funCancel(msg);
150
+ }
151
+ });
152
+ } else {
153
+ if (config.funCancel) {
154
+ config.funCancel('当前浏览器不支持录音功能');
155
+ }
156
+ }
157
+
158
+ function log(str) {
159
+ if (config.debug) {
160
+ console.log(str);
161
+ }
162
+ }
163
+ }
164
+
165
+ exports.MP3Recorder = MP3Recorder;
166
+ })(window);
167
+
168
+
169
+ var toBase64 = [
170
+ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
171
+ 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
172
+ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
173
+ 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
174
+ '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '+', '/'
175
+ ];
176
+
177
+ function uintbase64(src) {
178
+ let dstLen = Math.ceil(src.length * 4 / 3);
179
+ let dst = new Array(dstLen);
180
+ let pos = 0;
181
+ let dstIndex = 0;
182
+ let nextLeft = 0;
183
+ src.forEach( b => {
184
+ let r = 0;
185
+ if (pos == 0) {
186
+ r = b >> 2;
187
+ dst[dstIndex++] = toBase64[nextLeft + r];
188
+ nextLeft = (b & 0x03) << 4;
189
+ } else if (pos == 1) {
190
+ r = b >> 4;
191
+ dst[dstIndex++] = toBase64[nextLeft + r];
192
+ nextLeft = (b & 0x0F) << 2;
193
+ } else if (pos == 2) {
194
+ r = b >> 6;
195
+ dst[dstIndex++] = toBase64[nextLeft + r];
196
+ dst[dstIndex++] = toBase64[b & 0x3F];
197
+ nextLeft = 0;
198
+ }
199
+
200
+ pos++;
201
+ if (pos == 3) {
202
+ pos = 0;
203
+ }
204
+ });
205
+
206
+ if (pos != 0) {
207
+ dst[dstIndex] = toBase64[nextLeft];
208
+ }
209
+
210
+ return dst.join('');
211
+ }
212
+ function uint8arrayToBase64(u8Arr) {
213
+ let CHUNK_SIZE = 0x8000; //arbitrary number
214
+ let index = 0;
215
+ let length = u8Arr.length;
216
+ let result = '';
217
+ let slice;
218
+ while (index < length) {
219
+ slice = u8Arr.subarray(index, Math.min(index + CHUNK_SIZE, length));
220
+ result += String.fromCharCode.apply(null, slice);
221
+ index += CHUNK_SIZE;
222
+ }
223
+ return btoa(result);
224
+ }
225
+
226
+ function base64ToUint8Array(base64String) {
227
+ let padding = '='.repeat((4 - base64String.length % 4) % 4);
228
+ let base64 = (base64String + padding)
229
+ .replace(/\-/g, '+')
230
+ .replace(/_/g, '/');
231
+
232
+ let rawData = window.atob(base64);
233
+ let outputArray = new Uint8Array(rawData.length);
234
+
235
+ for (var i = 0; i < rawData.length; ++i) {
236
+ outputArray[i] = rawData.charCodeAt(i);
237
+ }
238
+ return outputArray;
239
+ }
@@ -0,0 +1,106 @@
1
+ (function () {
2
+ 'use strict';
3
+
4
+ importScripts('lame.min.js');
5
+
6
+ var mp3Encoder, maxSamples = 1152, samplesMono, lame, config, dataBuffer ;
7
+ var clearBuffer = function () {
8
+ dataBuffer = [];
9
+ };
10
+
11
+ var appendToBuffer = function (mp3Buf) {
12
+ console.log("appendToBuffer=>" + mp3Buf.length)
13
+ dataBuffer.push(new Uint8Array(mp3Buf));
14
+ };
15
+
16
+ var init = function (prefConfig) {
17
+ //console.log(prefConfig)
18
+ config = prefConfig || {};
19
+ lame = new lamejs();
20
+ mp3Encoder = new lame.Mp3Encoder(1, config.sampleRate || 44100, config.bitRate || 320);
21
+ clearBuffer();
22
+ self.postMessage({
23
+ cmd: 'init'
24
+ });
25
+ };
26
+
27
+ var floatTo16BitPCM = function floatTo16BitPCM(input, output) {
28
+ for (var i = 0; i < input.length; i++) {
29
+ var s = Math.max(-1, Math.min(1, input[i]));
30
+ output[i] = (s < 0 ? s * 0x8000 : s * 0x7FFF);
31
+ }
32
+ };
33
+
34
+ var convertBuffer = function (arrayBuffer) {
35
+ var data = new Float32Array(arrayBuffer);
36
+ var out = new Int16Array(arrayBuffer.length);
37
+ floatTo16BitPCM(data, out)
38
+ return out;
39
+ };
40
+
41
+ var encode = function (arrayBuffer) {
42
+ samplesMono = convertBuffer(arrayBuffer);
43
+ var remaining = samplesMono.length;
44
+ for (var i = 0; remaining >= 0; i += maxSamples) {
45
+ var left = samplesMono.subarray(i, i + maxSamples);
46
+ var mp3buf = mp3Encoder.encodeBuffer(left);
47
+ appendToBuffer(mp3buf);
48
+ remaining -= maxSamples;
49
+ }
50
+
51
+ };
52
+
53
+ var finish = function () {
54
+ appendToBuffer(mp3Encoder.flush());
55
+ self.postMessage({
56
+ cmd: 'end',
57
+ buf: dataBuffer
58
+ });
59
+ clearBuffer();
60
+ };
61
+
62
+ var open = function (arrayBuffer) {
63
+ samplesMono = convertBuffer(arrayBuffer);
64
+ var remaining = samplesMono.length;
65
+ for (var i = 0; remaining >= 0; i += maxSamples) {
66
+ var left = samplesMono.subarray(i, i + maxSamples);
67
+ var mp3buf = mp3Encoder.encodeBuffer(left);
68
+
69
+ appendToBuffer(mp3buf);
70
+ remaining -= maxSamples;
71
+ }
72
+ if(dataBuffer.length >2){
73
+ close();
74
+ }
75
+ }
76
+
77
+ var close = function () {
78
+ appendToBuffer(mp3Encoder.flush());
79
+ self.postMessage({
80
+ cmd: 'close',
81
+ buf: dataBuffer
82
+ });
83
+ clearBuffer();
84
+ }
85
+
86
+ self.onmessage = function (e) {
87
+ switch (e.data.cmd) {
88
+ case 'init':
89
+ init(e.data.config);
90
+ break;
91
+ case 'encode':
92
+ encode(e.data.buf);
93
+ break;
94
+ case 'finish':
95
+ finish();
96
+ break;
97
+ case 'open':
98
+ open(e.data.buf);
99
+ break;
100
+ case 'close':
101
+ close();
102
+ break;
103
+ }
104
+ };
105
+
106
+ })();
@@ -0,0 +1,3 @@
1
+ 1.火狐浏览器访问可以避开https,开启MediaCore.exe监听3333,6002,6003
2
+ 2.通过node.js开启ws.js监听10086端口
3
+ 3.访问index.html,点击开启广播 new Websocket(ws:IP:10086) 连接那条广播命令就下发了,然后开始推流