ezuikit-js 7.7.3 → 7.7.5

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 (184) hide show
  1. package/ezuikit.js +114 -1848
  2. package/ezuikit_static/v65/v1/js/jsPluginV1-1.0.0.min.js +3 -3
  3. package/package.json +11 -3
  4. package/demos/EZUIKitHD/EZUIKitHD.html +0 -171
  5. package/demos/EZUIKitHD/js/jsWebControl-1.0.0.min.js +0 -80
  6. package/demos/base-demo/base.html +0 -118
  7. package/demos/base-demo/ezuikit.js +0 -1848
  8. package/demos/base-demo/ezuikit_static/v65/v1/css/component.css +0 -1257
  9. package/demos/base-demo/ezuikit_static/v65/v1/css/inspectTheme.css +0 -352
  10. package/demos/base-demo/ezuikit_static/v65/v1/css/theme.css +0 -104
  11. package/demos/base-demo/ezuikit_static/v65/v1/imgs/bg.png +0 -0
  12. package/demos/base-demo/ezuikit_static/v65/v1/imgs/bg.svg +0 -33
  13. package/demos/base-demo/ezuikit_static/v65/v1/imgs/empty.png +0 -0
  14. package/demos/base-demo/ezuikit_static/v65/v1/imgs/end.png +0 -0
  15. package/demos/base-demo/ezuikit_static/v65/v1/imgs/fallback.svg +0 -52
  16. package/demos/base-demo/ezuikit_static/v65/v1/imgs/start.png +0 -0
  17. package/demos/base-demo/ezuikit_static/v65/v1/js/AudioRenderer.js +0 -225
  18. package/demos/base-demo/ezuikit_static/v65/v1/js/SuperRender_10.js +0 -397
  19. package/demos/base-demo/ezuikit_static/v65/v1/js/SystemTransform.js +0 -22
  20. package/demos/base-demo/ezuikit_static/v65/v1/js/SystemTransform.js.mem +0 -0
  21. package/demos/base-demo/ezuikit_static/v65/v1/js/jsPluginV1-1.0.0.min.js +0 -12
  22. package/demos/base-demo/ezuikit_static/v65/v1/js/playctrl/AudioRenderer.js +0 -225
  23. package/demos/base-demo/ezuikit_static/v65/v1/js/playctrl/DecodeWorker.js +0 -616
  24. package/demos/base-demo/ezuikit_static/v65/v1/js/playctrl/DecodeWorkerString.js +0 -616
  25. package/demos/base-demo/ezuikit_static/v65/v1/js/playctrl/Decoder.js +0 -1
  26. package/demos/base-demo/ezuikit_static/v65/v1/js/playctrl/JSPlaySDKInterface.js +0 -2139
  27. package/demos/base-demo/ezuikit_static/v65/v1/js/playctrl/SuperRender_10.js +0 -397
  28. package/demos/base-demo/ezuikit_static/v65/v1/js/playctrl/SuperRender_20.js +0 -1
  29. package/demos/base-demo/ezuikit_static/v65/v1/js/transform/SystemTransform.js +0 -22
  30. package/demos/base-demo/ezuikit_static/v65/v1/js/transform/SystemTransform.js.mem +0 -0
  31. package/demos/base-demo/ezuikit_static/v65/v1/js/transform/systemTransform-worker.min.js +0 -1
  32. package/demos/base-demo/ezuikit_static/v65/v1/js/tts-v4.js +0 -346
  33. package/demos/base-demo/ezuikit_static/v65/v1/rec/datepicker.js +0 -1522
  34. package/demos/base-demo/ezuikit_static/v65/v1/rec/datepicker.min.css +0 -36
  35. package/demos/base-demo/ezuikit_static/v65/v1/rec/datepicker.zh-CN.js +0 -19
  36. package/demos/base-demo/ezuikit_static/v65/v1/rec/jquery.min.js +0 -2
  37. package/demos/base-demo/ezuikit_static/v65/v1/speed/speed.css +0 -145
  38. package/demos/base-demo/ezuikit_static/v65/v1/talk/adapeter.js +0 -5497
  39. package/demos/base-demo/ezuikit_static/v65/v1/talk/janus.js +0 -3507
  40. package/demos/base-demo/ezuikit_static/v65/v1/talk/tts-v4.js +0 -346
  41. package/demos/base-demo/ezuikit_static/v65/v3/css/component.css +0 -1257
  42. package/demos/base-demo/ezuikit_static/v65/v3/css/inspectTheme.css +0 -352
  43. package/demos/base-demo/ezuikit_static/v65/v3/css/theme.css +0 -105
  44. package/demos/base-demo/ezuikit_static/v65/v3/imgs/bg.png +0 -0
  45. package/demos/base-demo/ezuikit_static/v65/v3/imgs/bg.svg +0 -33
  46. package/demos/base-demo/ezuikit_static/v65/v3/imgs/empty.png +0 -0
  47. package/demos/base-demo/ezuikit_static/v65/v3/imgs/end.png +0 -0
  48. package/demos/base-demo/ezuikit_static/v65/v3/imgs/fallback.svg +0 -52
  49. package/demos/base-demo/ezuikit_static/v65/v3/imgs/start.png +0 -0
  50. package/demos/base-demo/ezuikit_static/v65/v3/js/PlayCtrlWasm/hasWorker/Decoder.js +0 -21
  51. package/demos/base-demo/ezuikit_static/v65/v3/js/PlayCtrlWasm/hasWorker/Decoder.wasm +0 -0
  52. package/demos/base-demo/ezuikit_static/v65/v3/js/PlayCtrlWasm/hasWorker/Decoder.worker.js +0 -1
  53. package/demos/base-demo/ezuikit_static/v65/v3/js/PlayCtrlWasm/hasWorker/HasSIMD/Decoder.js +0 -21
  54. package/demos/base-demo/ezuikit_static/v65/v3/js/PlayCtrlWasm/hasWorker/HasSIMD/Decoder.wasm +0 -0
  55. package/demos/base-demo/ezuikit_static/v65/v3/js/PlayCtrlWasm/hasWorker/HasSIMD/Decoder.worker.js +0 -1
  56. package/demos/base-demo/ezuikit_static/v65/v3/js/PlayCtrlWasm/hasWorker/NoSIMD/Decoder.js +0 -21
  57. package/demos/base-demo/ezuikit_static/v65/v3/js/PlayCtrlWasm/hasWorker/NoSIMD/Decoder.wasm +0 -0
  58. package/demos/base-demo/ezuikit_static/v65/v3/js/PlayCtrlWasm/hasWorker/NoSIMD/Decoder.worker.js +0 -1
  59. package/demos/base-demo/ezuikit_static/v65/v3/js/PlayCtrlWasm/noWorker/Decoder.js +0 -21
  60. package/demos/base-demo/ezuikit_static/v65/v3/js/PlayCtrlWasm/noWorker/Decoder.wasm +0 -0
  61. package/demos/base-demo/ezuikit_static/v65/v3/js/PlayCtrlWasm/noWorker/Decoder.worker.js +0 -1
  62. package/demos/base-demo/ezuikit_static/v65/v3/js/jsPluginV3-1.0.0.min.js +0 -16543
  63. package/demos/base-demo/ezuikit_static/v65/v3/js/wasmplayer.min.js +0 -1
  64. package/demos/base-demo/ezuikit_static/v65/v3/rec/datepicker.js +0 -1522
  65. package/demos/base-demo/ezuikit_static/v65/v3/rec/datepicker.min.css +0 -36
  66. package/demos/base-demo/ezuikit_static/v65/v3/rec/datepicker.zh-CN.js +0 -19
  67. package/demos/base-demo/ezuikit_static/v65/v3/rec/jquery.min.js +0 -2
  68. package/demos/base-demo/ezuikit_static/v65/v3/speed/speed.css +0 -145
  69. package/demos/base-demo/ezuikit_static/v65/v3/talk/adapeter.js +0 -5497
  70. package/demos/base-demo/ezuikit_static/v65/v3/talk/janus.js +0 -3507
  71. package/demos/base-demo/ezuikit_static/v65/v3/talk/tts-v4.js +0 -343
  72. package/demos/base-demo/hls.html +0 -24
  73. package/demos/base-demo/index.html +0 -117
  74. package/demos/base-demo/localDecoder.html +0 -118
  75. package/demos/base-demo/mobileLive.html +0 -117
  76. package/demos/base-demo/mobileRec.html +0 -116
  77. package/demos/base-demo/multi.html +0 -129
  78. package/demos/base-demo/pcLive.html +0 -117
  79. package/demos/base-demo/pcRec.html +0 -116
  80. package/demos/base-demo/template.html +0 -124
  81. package/demos/base-demo/themeData.html +0 -232
  82. package/demos/nginx-demo/conf/fastcgi.conf +0 -26
  83. package/demos/nginx-demo/conf/fastcgi_params +0 -25
  84. package/demos/nginx-demo/conf/koi-utf +0 -109
  85. package/demos/nginx-demo/conf/koi-win +0 -103
  86. package/demos/nginx-demo/conf/mime.types +0 -95
  87. package/demos/nginx-demo/conf/nginx.conf +0 -121
  88. package/demos/nginx-demo/conf/scgi_params +0 -17
  89. package/demos/nginx-demo/conf/uwsgi_params +0 -17
  90. package/demos/nginx-demo/conf/win-utf +0 -126
  91. package/demos/nginx-demo/contrib/README +0 -21
  92. package/demos/nginx-demo/contrib/geo2nginx.pl +0 -58
  93. package/demos/nginx-demo/contrib/unicode2nginx/koi-utf +0 -131
  94. package/demos/nginx-demo/contrib/unicode2nginx/unicode-to-nginx.pl +0 -48
  95. package/demos/nginx-demo/contrib/unicode2nginx/win-utf +0 -130
  96. package/demos/nginx-demo/contrib/vim/ftdetect/nginx.vim +0 -4
  97. package/demos/nginx-demo/contrib/vim/ftplugin/nginx.vim +0 -1
  98. package/demos/nginx-demo/contrib/vim/indent/nginx.vim +0 -11
  99. package/demos/nginx-demo/contrib/vim/syntax/nginx.vim +0 -2268
  100. package/demos/nginx-demo/docs/CHANGES +0 -8115
  101. package/demos/nginx-demo/docs/CHANGES.ru +0 -8252
  102. package/demos/nginx-demo/docs/LICENSE +0 -26
  103. package/demos/nginx-demo/docs/OpenSSL.LICENSE +0 -127
  104. package/demos/nginx-demo/docs/PCRE.LICENCE +0 -93
  105. package/demos/nginx-demo/docs/README +0 -3
  106. package/demos/nginx-demo/docs/zlib.LICENSE +0 -20
  107. package/demos/nginx-demo/html/50x.html +0 -21
  108. package/demos/nginx-demo/html/ezuikit5/ezuikit.js +0 -36107
  109. package/demos/nginx-demo/html/ezuikit5/index.html +0 -117
  110. package/demos/nginx-demo/html/ezuikit5/server.js +0 -67
  111. package/demos/nginx-demo/html/index.html +0 -16
  112. package/demos/nginx-demo/html/js/adapeter.js +0 -5497
  113. package/demos/nginx-demo/html/js/janus.js +0 -3507
  114. package/demos/nginx-demo/html/js/jquery.min.js +0 -2
  115. package/demos/nginx-demo/html/js/sts.js +0 -340
  116. package/demos/nginx-demo/logs/access.log +0 -109
  117. package/demos/nginx-demo/logs/error.log +0 -15
  118. package/demos/nginx-demo/logs/nginx.pid +0 -1
  119. package/demos/nginx-demo/nginx.exe +0 -0
  120. package/demos/react-demo/README.md +0 -68
  121. package/demos/react-demo/package.json +0 -36
  122. package/demos/react-demo/public/favicon.ico +0 -0
  123. package/demos/react-demo/public/index.html +0 -43
  124. package/demos/react-demo/public/logo192.png +0 -0
  125. package/demos/react-demo/public/logo512.png +0 -0
  126. package/demos/react-demo/public/manifest.json +0 -25
  127. package/demos/react-demo/public/robots.txt +0 -3
  128. package/demos/react-demo/src/App.css +0 -38
  129. package/demos/react-demo/src/App.js +0 -114
  130. package/demos/react-demo/src/App.test.js +0 -9
  131. package/demos/react-demo/src/index.css +0 -13
  132. package/demos/react-demo/src/index.js +0 -17
  133. package/demos/react-demo/src/logo.svg +0 -7
  134. package/demos/react-demo/src/serviceWorker.js +0 -141
  135. package/demos/react-demo/src/setupTests.js +0 -5
  136. package/demos/vue-demo/README.md +0 -24
  137. package/demos/vue-demo/babel.config.js +0 -5
  138. package/demos/vue-demo/package.json +0 -43
  139. package/demos/vue-demo/public/favicon.ico +0 -0
  140. package/demos/vue-demo/public/index.html +0 -17
  141. package/demos/vue-demo/src/App.vue +0 -27
  142. package/demos/vue-demo/src/assets/logo.png +0 -0
  143. package/demos/vue-demo/src/components/EZUIKitJs.vue +0 -115
  144. package/demos/vue-demo/src/main.js +0 -8
  145. package/ezuikit_static/v65/v1/css/component.css +0 -1257
  146. package/ezuikit_static/v65/v1/css/inspectTheme.css +0 -352
  147. package/ezuikit_static/v65/v1/imgs/bg.png +0 -0
  148. package/ezuikit_static/v65/v1/imgs/bg.svg +0 -33
  149. package/ezuikit_static/v65/v1/imgs/empty.png +0 -0
  150. package/ezuikit_static/v65/v1/imgs/end.png +0 -0
  151. package/ezuikit_static/v65/v1/imgs/fallback.svg +0 -52
  152. package/ezuikit_static/v65/v1/imgs/start.png +0 -0
  153. package/ezuikit_static/v65/v1/js/playctrl/DecodeWorkerString.js +0 -616
  154. package/ezuikit_static/v65/v3/css/component.css +0 -1257
  155. package/ezuikit_static/v65/v3/css/inspectTheme.css +0 -352
  156. package/ezuikit_static/v65/v3/css/theme.css +0 -105
  157. package/ezuikit_static/v65/v3/imgs/bg.png +0 -0
  158. package/ezuikit_static/v65/v3/imgs/bg.svg +0 -33
  159. package/ezuikit_static/v65/v3/imgs/empty.png +0 -0
  160. package/ezuikit_static/v65/v3/imgs/end.png +0 -0
  161. package/ezuikit_static/v65/v3/imgs/fallback.svg +0 -52
  162. package/ezuikit_static/v65/v3/imgs/start.png +0 -0
  163. package/ezuikit_static/v65/v3/js/PlayCtrlWasm/hasWorker/Decoder.js +0 -21
  164. package/ezuikit_static/v65/v3/js/PlayCtrlWasm/hasWorker/Decoder.wasm +0 -0
  165. package/ezuikit_static/v65/v3/js/PlayCtrlWasm/hasWorker/Decoder.worker.js +0 -1
  166. package/ezuikit_static/v65/v3/js/PlayCtrlWasm/hasWorker/HasSIMD/Decoder.js +0 -21
  167. package/ezuikit_static/v65/v3/js/PlayCtrlWasm/hasWorker/HasSIMD/Decoder.wasm +0 -0
  168. package/ezuikit_static/v65/v3/js/PlayCtrlWasm/hasWorker/HasSIMD/Decoder.worker.js +0 -1
  169. package/ezuikit_static/v65/v3/js/PlayCtrlWasm/hasWorker/NoSIMD/Decoder.js +0 -21
  170. package/ezuikit_static/v65/v3/js/PlayCtrlWasm/hasWorker/NoSIMD/Decoder.wasm +0 -0
  171. package/ezuikit_static/v65/v3/js/PlayCtrlWasm/hasWorker/NoSIMD/Decoder.worker.js +0 -1
  172. package/ezuikit_static/v65/v3/js/PlayCtrlWasm/noWorker/Decoder.js +0 -21
  173. package/ezuikit_static/v65/v3/js/PlayCtrlWasm/noWorker/Decoder.wasm +0 -0
  174. package/ezuikit_static/v65/v3/js/PlayCtrlWasm/noWorker/Decoder.worker.js +0 -1
  175. package/ezuikit_static/v65/v3/js/jsPluginV3-1.0.0.min.js +0 -16543
  176. package/ezuikit_static/v65/v3/js/wasmplayer.min.js +0 -1
  177. package/ezuikit_static/v65/v3/rec/datepicker.js +0 -1522
  178. package/ezuikit_static/v65/v3/rec/datepicker.min.css +0 -36
  179. package/ezuikit_static/v65/v3/rec/datepicker.zh-CN.js +0 -19
  180. package/ezuikit_static/v65/v3/rec/jquery.min.js +0 -2
  181. package/ezuikit_static/v65/v3/speed/speed.css +0 -145
  182. package/ezuikit_static/v65/v3/talk/adapeter.js +0 -5497
  183. package/ezuikit_static/v65/v3/talk/janus.js +0 -3507
  184. package/ezuikit_static/v65/v3/talk/tts-v4.js +0 -343
@@ -1,225 +0,0 @@
1
- /**
2
- * Created by wangweijie5 on 2016/12/16.
3
- */
4
-
5
- "use strict";
6
-
7
- var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
8
-
9
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
10
-
11
- var __instance = function () {
12
- var instance = void 0;
13
- return function (newInstance) {
14
- if (newInstance) instance = newInstance;
15
- return instance;
16
- };
17
- }();
18
-
19
- var AudioRenderer = function () {
20
- function AudioRenderer() {
21
- _classCallCheck(this, AudioRenderer);
22
-
23
- if (__instance()) return __instance();
24
-
25
- // 确保只有单例
26
- if (AudioRenderer.unique !== undefined) {
27
- return AudioRenderer.unique;
28
- }
29
-
30
- AudioRenderer.unique = this;
31
-
32
- this.oAudioContext = null;
33
- this.currentVolume = 80; // 初始音量
34
- this.bSetVolume = false;
35
- this.gainNode = null;
36
- this.iWndNum = -1; // 窗口号
37
- this.mVolumes = new Map(); // 用于存储所有音量
38
-
39
- // Init AudioContext
40
- var AudioContext = window.AudioContext || window.webkitAudioContext;
41
- this.oAudioContext = new AudioContext();
42
-
43
- this.writeString = function (view, offset, string) {
44
- for (var i = 0; i < string.length; i++) {
45
- view.setUint8(offset + i, string.charCodeAt(i));
46
- }
47
- };
48
-
49
- this.setBufferToDataview = function (output, offset, input) {
50
- for (var i = 0; i < input.length; i++, offset++) {
51
- output.setUint8(offset, input[i]);
52
- }
53
- };
54
-
55
- __instance(this);
56
- }
57
-
58
- /**
59
- * @synopsis 音频播放
60
- *
61
- * @param dataBuf [IN] 音频缓存
62
- * @param dataLen [IN] 缓存长度
63
- * @param audioInfo [IN] 音频参数
64
- *
65
- * @returns 状态码
66
- */
67
-
68
-
69
- _createClass(AudioRenderer, [{
70
- key: 'Play',
71
- value: function Play(dataBuf, dataLen, audioInfo) {
72
- var bufferData = new ArrayBuffer(44 + dataLen);
73
- var viewTalk = new DataView(bufferData);
74
- var sampleRates = audioInfo.samplesPerSec;
75
- var channels = audioInfo.channels;
76
- var bitsPerSample = audioInfo.bitsPerSample;
77
-
78
- //console.log("audiorender sampleRates"+sampleRates+"channels:"+channels+"bitsPerSample:"+bitsPerSample);
79
-
80
- /* RIFF identifier */
81
- this.writeString(viewTalk, 0, 'RIFF');
82
- /* file length */
83
- viewTalk.setUint32(4, 32 + dataLen * 2, true);
84
- /* RIFF type */
85
- this.writeString(viewTalk, 8, 'WAVE');
86
- /* format chunk identifier */
87
- this.writeString(viewTalk, 12, 'fmt ');
88
- /* format chunk length */
89
- viewTalk.setUint32(16, 16, true);
90
- /* sample format (raw) */
91
- viewTalk.setUint16(20, 1, true);
92
- /* channel count */
93
- viewTalk.setUint16(22, channels, true);
94
- /* sample rate */
95
- viewTalk.setUint32(24, sampleRates, true);
96
- /* byte rate (sample rate * block align) */
97
- viewTalk.setUint32(28, sampleRates * 2, true);
98
- /* block align (channel count * bytes per sample)/8 */
99
- viewTalk.setUint16(32, channels * bitsPerSample / 8, true);
100
- /* bits per sample */
101
- viewTalk.setUint16(34, bitsPerSample, true);
102
- /* data chunk identifier */
103
- this.writeString(viewTalk, 36, 'data');
104
- /* data chunk length */
105
- viewTalk.setUint32(40, dataLen, true);
106
- this.setBufferToDataview(viewTalk, 44, dataBuf);
107
-
108
- var self = this;
109
- this.oAudioContext.decodeAudioData(viewTalk.buffer, function (buffer) {
110
-
111
- var bufferSource = self.oAudioContext.createBufferSource();
112
- if (bufferSource == null) {
113
- return -1;
114
- }
115
-
116
- bufferSource.buffer = buffer;
117
- bufferSource.start(0);
118
-
119
- if (self.gainNode == null || self.bSetVolume) {
120
- self.gainNode = self.oAudioContext.createGain();
121
- // self.gainNode.gain.value = self.currentVolume;
122
- // // self.currentVolume = self.gainNode.gain.value;
123
- // self.gainNode.connect(self.oAudioContext.destination);
124
-
125
- self.bSetVolume = false;
126
- }
127
-
128
- self.gainNode.gain.value = self.currentVolume/100;
129
- // self.currentVolume = self.gainNode.gain.value;
130
- self.gainNode.connect(self.oAudioContext.destination);
131
-
132
- bufferSource.connect(self.gainNode);
133
- }, function (e) {
134
- console.log("decode error");
135
- return -1;
136
- });
137
-
138
- return 0;
139
- }
140
-
141
- /**
142
- * @synopsis 停止播放
143
- *
144
- * @returns 返回音量
145
- */
146
-
147
- }, {
148
- key: 'Stop',
149
- value: function Stop() {
150
- if (this.gainNode != null) {
151
- this.gainNode.disconnect();
152
- this.gainNode = null;
153
- }
154
-
155
- // this.oAudioContext.close();
156
-
157
- // AudioRenderer.unique = undefined;
158
- // __instance() = null;
159
- return true;
160
- }
161
-
162
- /**
163
- * @synopsis 设置音量
164
- *
165
- * @param iVolume [IN] 音量
166
- *
167
- * @returns 状态码
168
- */
169
-
170
- }, {
171
- key: 'SetVolume',
172
- value: function SetVolume(iVolume) {
173
- this.bSetVolume = true;
174
- this.currentVolume = iVolume;
175
-
176
- // 储存当前窗口设置音量值
177
- this.mVolumes.set(this.iWndNum, this.currentVolume);
178
- return true;
179
- }
180
-
181
- /**
182
- * @synopsis 设置窗口号
183
- *
184
- * @param iWndNum [IN] 窗口号
185
- *
186
- * @returns 状态码
187
- */
188
-
189
- }, {
190
- key: 'SetWndNum',
191
- value: function SetWndNum(iWndNum) {
192
- this.iWndNum = iWndNum;
193
-
194
- // 获取当前窗口设置音量值
195
- var iVolume = this.mVolumes.get(iWndNum);
196
- if (iVolume == undefined) {
197
- iVolume = 80; // 默认音量
198
- }
199
- this.currentVolume = iVolume;
200
-
201
- return true;
202
- }
203
-
204
- /**
205
- * @synopsis 获取音量
206
- *
207
- * @returns 返回音量
208
- */
209
-
210
- }, {
211
- key: 'GetVolume',
212
- value: function GetVolume() {
213
- // 获取当前窗口设置音量值
214
- var iVolume = this.mVolumes.get(this.iWndNum);
215
- if (iVolume == undefined) {
216
- iVolume = 80; // 默认音量
217
- }
218
-
219
- return iVolume;
220
- }
221
- }]);
222
- window.AudioRenderer = AudioRenderer;
223
- return AudioRenderer;
224
- }();
225
- //# sourceMappingURL=AudioRenderer.js.map
@@ -1,397 +0,0 @@
1
- "use strict";
2
- //顶点着色器
3
- //attribute修饰符用于声明由浏览器(javascript)传输给顶点着色器的变量值;
4
- // vertexPos即我们定义的顶点坐标;
5
- // gl_Position是一个内建的传出变量。
6
- var vertexYUVShader = [
7
- 'attribute vec4 vertexPos;',
8
- 'attribute vec2 texturePos;',
9
- 'varying vec2 textureCoord;',
10
-
11
- 'void main()',
12
- '{',
13
- 'gl_Position = vertexPos;',
14
- 'textureCoord = texturePos;',
15
- '}'
16
- ].join('\n');
17
- //像素着色器(yuv->rgb)
18
- var fragmentYUVShader = [
19
- 'precision highp float;',
20
- 'varying highp vec2 textureCoord;',
21
- 'uniform sampler2D ySampler;',
22
- 'uniform sampler2D uSampler;',
23
- 'uniform sampler2D vSampler;',
24
- 'const mat4 YUV2RGB = mat4',
25
- '(',
26
- '1.1643828125, 0, 1.59602734375, -.87078515625,',
27
- '1.1643828125, -.39176171875, -.81296875, .52959375,',
28
- '1.1643828125, 2.017234375, 0, -1.081390625,',
29
- '0, 0, 0, 1',
30
- ');',
31
-
32
- 'void main(void) {',
33
- 'highp float y = texture2D(ySampler, textureCoord).r;',
34
- 'highp float u = texture2D(uSampler, textureCoord).r;',
35
- 'highp float v = texture2D(vSampler, textureCoord).r;',
36
- 'gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;',
37
- '}'
38
- ].join('\n');
39
-
40
- (function (root, factory) {
41
- // root.SuperRender = factory();
42
- window.SuperRender = factory();
43
- }(this, function () {
44
-
45
- function RenderManager(canvas) {
46
-
47
- this.canvasElement = document.getElementById(canvas);
48
-
49
- this.initContextGL();
50
-
51
- if(this.contextGL) {
52
- this.YUVProgram = this.initProgram(vertexYUVShader, fragmentYUVShader);
53
- this.initBuffers();
54
- this.initTextures();
55
- }
56
- };
57
-
58
- /**
59
- * 初始化WebGL上下文
60
- */
61
- RenderManager.prototype.initContextGL = function() {
62
-
63
- var canvas = this.canvasElement;
64
-
65
- var gl = null;
66
-
67
- try {
68
- gl = canvas.getContext("webgl") || canvas.getContext("experimental-webgl");
69
- } catch (e) {
70
- gl = null;
71
- }
72
-
73
- if(!gl || typeof gl.getParameter !== "function") {
74
- gl = null;
75
- }
76
-
77
- this.contextGL = gl;
78
-
79
- console.log("WebGL1.0");
80
- };
81
-
82
- /**
83
- * 初始化着色器程序
84
- * @param vertexShaderScript 顶点着色器脚本
85
- * @param fragmentShaderScript 片段着色器脚本
86
- */
87
- RenderManager.prototype.initProgram = function(vertexShaderScript, fragmentShaderScript) {
88
-
89
- var gl = this.contextGL;
90
-
91
- var vertexShader = gl.createShader(gl.VERTEX_SHADER); //创建定点着色器
92
- gl.shaderSource(vertexShader, vertexShaderScript);
93
- gl.compileShader(vertexShader);
94
- if(!gl.getShaderParameter(vertexShader, gl.COMPILE_STATUS)) {
95
- console.log('Vertex shader failed to compile: ' + gl.getShaderInfoLog(vertexShader));
96
- }
97
-
98
- var fragmentShader = gl.createShader(gl.FRAGMENT_SHADER);
99
- gl.shaderSource(fragmentShader, fragmentShaderScript);
100
- gl.compileShader(fragmentShader);
101
- if(!gl.getShaderParameter(fragmentShader, gl.COMPILE_STATUS)) {
102
- console.log('Fragment shader failed to compile: ' + gl.getShaderInfoLog(fragmentShader));
103
- }
104
-
105
- var program = gl.createProgram();
106
- gl.attachShader(program, vertexShader);
107
- gl.attachShader(program, fragmentShader);
108
- gl.linkProgram(program);
109
- if(!gl.getProgramParameter(program, gl.LINK_STATUS)) {
110
- console.log('Program failed to compile: ' + gl.getProgramInfoLog(program));
111
- }
112
-
113
- gl.deleteShader(vertexShader);
114
- gl.deleteShader(fragmentShader);
115
-
116
- return program;
117
- };
118
-
119
- /**
120
- * 初始化数据缓存
121
- */
122
- RenderManager.prototype.initBuffers = function() {
123
-
124
- var gl = this.contextGL;
125
-
126
- var vertexPosBuffer = gl.createBuffer();
127
- gl.bindBuffer(gl.ARRAY_BUFFER, vertexPosBuffer);
128
- gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([1, 1, -1, 1, 1, -1, -1, -1]), gl.STATIC_DRAW);
129
- gl.bindBuffer(gl.ARRAY_BUFFER, null);
130
-
131
- var texturePosBuffer = gl.createBuffer();
132
- gl.bindBuffer(gl.ARRAY_BUFFER, texturePosBuffer);
133
- gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([1, 0, 0, 0, 1, 1, 0, 1]), gl.DYNAMIC_DRAW);
134
- gl.bindBuffer(gl.ARRAY_BUFFER, null);
135
-
136
- this.vertexPosBuffer = vertexPosBuffer;
137
- this.texturePosBuffer = texturePosBuffer;
138
- };
139
-
140
- /**
141
- * 创建纹理
142
- */
143
- RenderManager.prototype.initTexture = function() {
144
-
145
- var gl = this.contextGL;
146
-
147
- var textureRef = gl.createTexture();
148
- gl.bindTexture(gl.TEXTURE_2D, textureRef);
149
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
150
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
151
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
152
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
153
- gl.bindTexture(gl.TEXTURE_2D, null);
154
-
155
- return textureRef;
156
- };
157
-
158
- /**
159
- * 初始化YUV纹理
160
- */
161
- RenderManager.prototype.initTextures = function() {
162
-
163
- var gl = this.contextGL;
164
-
165
- var program = this.YUVProgram;
166
- gl.useProgram(program);
167
-
168
- var yTextureRef = this.initTexture();
169
- var ySamplerRef = gl.getUniformLocation(program, 'ySampler');
170
- gl.uniform1i(ySamplerRef, 0);
171
- this.yTextureRef = yTextureRef;
172
-
173
- var uTextureRef = this.initTexture();
174
- var uSamplerRef = gl.getUniformLocation(program, 'uSampler');
175
- gl.uniform1i(uSamplerRef, 1);
176
- this.uTextureRef = uTextureRef;
177
-
178
- var vTextureRef = this.initTexture();
179
- var vSamplerRef = gl.getUniformLocation(program, 'vSampler');
180
- gl.uniform1i(vSamplerRef, 2);
181
- this.vTextureRef = vTextureRef;
182
-
183
- gl.useProgram(null);
184
- };
185
-
186
- /**
187
- * 显示帧数据
188
- * @param nWidth 宽度
189
- * @param nHeight 高度
190
- * @param nHeight 帧数据
191
- */
192
- RenderManager.prototype.SR_DisplayFrameData = function(nWidth, nHeight, pData,dWidth,dHeight) {
193
-
194
- if(nWidth <= 0 || nHeight <= 0)
195
- {
196
- return;
197
- }
198
-
199
- var gl = this.contextGL;
200
-
201
- if(null == pData)
202
- {
203
- gl.clearColor(0.0, 0.0, 0.0, 0.0);
204
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
205
- return;
206
- }
207
-
208
- var canvas = this.canvasElement;
209
-
210
- this.nWindowWidth = canvas.width;
211
- this.nWindowHeight = canvas.height;
212
-
213
- var nWindowWidth = this.nWindowWidth;
214
- var nWindowHeight = this.nWindowHeight;
215
-
216
- gl.clearColor(0.8, 0.8, 1.0, 1.0);
217
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
218
-
219
- gl.viewport(0, 0, nWindowWidth, nWindowHeight);
220
-
221
- this.updateFrameData(nWidth, nHeight, pData,dWidth,dHeight);
222
-
223
- var program = this.YUVProgram;
224
- gl.useProgram(program);
225
-
226
- var vertexPosBuffer = this.vertexPosBuffer;
227
- gl.bindBuffer(gl.ARRAY_BUFFER, vertexPosBuffer);
228
- var vertexPosRef = gl.getAttribLocation(program, 'vertexPos');
229
- gl.enableVertexAttribArray(vertexPosRef);
230
- gl.vertexAttribPointer(vertexPosRef, 2, gl.FLOAT, false, 0, 0);
231
- gl.bindBuffer(gl.ARRAY_BUFFER, null);
232
-
233
- var texturePosBuffer = this.texturePosBuffer;
234
- gl.bindBuffer(gl.ARRAY_BUFFER, texturePosBuffer);
235
- var texturePosRef = gl.getAttribLocation(program, 'texturePos');
236
- gl.enableVertexAttribArray(texturePosRef);
237
- gl.vertexAttribPointer(texturePosRef, 2, gl.FLOAT, false, 0, 0);
238
- gl.bindBuffer(gl.ARRAY_BUFFER, null);
239
-
240
- gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
241
-
242
- gl.disableVertexAttribArray(vertexPosRef);
243
- gl.disableVertexAttribArray(texturePosRef);
244
-
245
- gl.useProgram(null);
246
- };
247
-
248
- /**
249
- * 上传YUV数据到纹理
250
- * @param nWidth 宽度
251
- * @param nHeight 高度
252
- * @param nHeight 帧数据
253
- */
254
- RenderManager.prototype.updateFrameData = function(width, height, data,dWidth,dHeight) {
255
-
256
- var gl = this.contextGL;
257
-
258
- var yTextureRef = this.yTextureRef;
259
- var uTextureRef = this.uTextureRef;
260
- var vTextureRef = this.vTextureRef;
261
-
262
- var i420Data = data;
263
- // debugger;
264
- if(width == dWidth && height == dHeight)
265
- {
266
- var yDataLength = width * height;
267
- var yData = i420Data.subarray(0, yDataLength);
268
- gl.activeTexture(gl.TEXTURE0);
269
- gl.bindTexture(gl.TEXTURE_2D, yTextureRef);
270
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, width, height, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, yData);
271
-
272
- var cbDataLength = width/2 * height/2;
273
- var cbData = i420Data.subarray(width*height, width*height + cbDataLength);
274
- gl.activeTexture(gl.TEXTURE2);
275
- gl.bindTexture(gl.TEXTURE_2D, vTextureRef);
276
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, width/2, height/2, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, cbData);
277
-
278
- var crDataLength = cbDataLength;
279
- var crData = i420Data.subarray(width*height + width*height/4, width*height + width*height/4 + crDataLength);
280
- gl.activeTexture(gl.TEXTURE1);
281
- gl.bindTexture(gl.TEXTURE_2D, uTextureRef);
282
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, width/2, height/2, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, crData);
283
-
284
- }
285
- else
286
- {
287
- // //裁剪宽
288
- var yDataLength = dWidth * dHeight;
289
- var yData=new Uint8Array(yDataLength) ;
290
- for(var i=0;i<dHeight;i++)
291
- {
292
- //var ySonData=new Uint8Array(dWidth) ;
293
- var ySonData = i420Data.subarray(i*width, i*width+dWidth);
294
- for (var j = 0; j < dWidth; j++) {
295
- yData[i*dWidth + j] = ySonData[j];
296
- }
297
- }
298
- gl.activeTexture(gl.TEXTURE0);
299
- gl.bindTexture(gl.TEXTURE_2D, yTextureRef);
300
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, dWidth, dHeight, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, yData);
301
- yData=null;
302
- ySonData=null;
303
-
304
- var cbDataLength = dWidth/2 * dHeight/2;
305
- var cbData =new Uint8Array(cbDataLength);
306
- //var cbSonData=new Uint8Array(dWidth/2) ;
307
- for(var i=0;i<dHeight/2;i++)
308
- {
309
- var cbSonData = i420Data.subarray(width*height+i*width/2, width*height+i*width/2+dWidth/2);
310
- for (var j = 0; j < dWidth/2; j++) {
311
- cbData[i*dWidth/2 + j] = cbSonData[j];
312
- }
313
- }
314
- gl.activeTexture(gl.TEXTURE2);
315
- gl.bindTexture(gl.TEXTURE_2D, vTextureRef);
316
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, dWidth/2, dHeight/2, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, cbData);
317
- cbData=null;
318
- cbSonData=null;
319
-
320
- var crDataLength = cbDataLength;
321
- var crData = new Uint8Array(crDataLength);
322
- for(var i=0;i<dHeight/2;i++)
323
- {
324
- var crSonData = i420Data.subarray(width*height*5/4+i*width/2, width*height*5/4+i*width/2+dWidth/2);
325
- for (var j = 0; j < dWidth/2; j++) {
326
- crData[i*dWidth/2 + j] = crSonData[j];
327
- }
328
- }
329
- gl.activeTexture(gl.TEXTURE1);
330
- gl.bindTexture(gl.TEXTURE_2D, uTextureRef);
331
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.LUMINANCE, dWidth/2, dHeight/2, 0, gl.LUMINANCE, gl.UNSIGNED_BYTE, crData);
332
- crData=null;
333
- crSonData=null;
334
- }
335
-
336
- };
337
-
338
- /**
339
- * 设置显示区域
340
- * @param stDisplayRect 显示区域
341
- */
342
- RenderManager.prototype.SR_SetDisplayRect = function(stDisplayRect) {
343
-
344
- var gl = this.contextGL;
345
-
346
- var nWindowWidth = this.nWindowWidth;
347
- var nWindowHeight = this.nWindowHeight;
348
-
349
- var texturePosValues = null;
350
-
351
- if(stDisplayRect && nWindowWidth > 0 && nWindowHeight > 0) {
352
- var fLeft = stDisplayRect.left / nWindowWidth;
353
- var fTop = stDisplayRect.top / nWindowHeight;
354
- var fRight = stDisplayRect.right / nWindowWidth;
355
- var fBottom = stDisplayRect.bottom / nWindowHeight;
356
-
357
- texturePosValues = new Float32Array([fRight, fTop, fLeft, fTop, fRight, fBottom, fLeft, fBottom]);
358
- }
359
- else {
360
- texturePosValues = new Float32Array([1, 0, 0, 0, 1, 1, 0, 1]);
361
- }
362
-
363
- var texturePosBuffer = this.texturePosBuffer;
364
-
365
- gl.bindBuffer(gl.ARRAY_BUFFER, texturePosBuffer);
366
- gl.bufferSubData(gl.ARRAY_BUFFER, 0, texturePosValues);
367
- gl.bindBuffer(gl.ARRAY_BUFFER, null);
368
- };
369
-
370
- /**
371
- * 释放显示资源
372
- */
373
- RenderManager.prototype.SR_Destroy = function() {
374
-
375
- var gl = this.contextGL;
376
-
377
- var YUVProgram = this.YUVProgram;
378
- gl.deleteProgram(YUVProgram);
379
-
380
- var vertexPosBuffer = this.vertexPosBuffer;
381
- var texturePosBuffer = this.texturePosBuffer;
382
-
383
- gl.deleteBuffer(vertexPosBuffer);
384
- gl.deleteBuffer(texturePosBuffer);
385
-
386
- var yTextureRef = this.yTextureRef;
387
- var uTextureRef = this.uTextureRef;
388
- var vTextureRef = this.vTextureRef;
389
- gl.deleteTexture(yTextureRef);
390
- gl.deleteTexture(uTextureRef);
391
- gl.deleteTexture(vTextureRef);
392
- //gl.getExtension('WEBGL_lose_context').loseContext();
393
- };
394
-
395
- return RenderManager;
396
-
397
- }));