Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 865cbf5

Browse files
committed
[CHG]多线程版本新增base64格式数据回调;单线程版本断网保留最后一帧
1 parent 457f047 commit 865cbf5

File tree

10 files changed

+719
-101
lines changed

10 files changed

+719
-101
lines changed

demos/base-demo/ezuikit.js

Lines changed: 219 additions & 31 deletions
Large diffs are not rendered by default.

demos/base-demo/ezuikit_static/v6/v1/js/jsPluginV1-1.0.0.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

demos/base-demo/ezuikit_static/v6/v1/rec/datepicker.min.css

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,15 @@
1818
.datepicker-panel>ul>li.picked, .datepicker-panel>ul>li.picked:hover {
1919
color: #39f;
2020
}
21+
.datepicker-inline {
22+
position: absolute;
23+
z-index: 999999;
24+
bottom: 48px;
25+
right: 24px;
26+
height: 250px;
27+
top: auto;
28+
left: auto;
29+
}
2130
.datepicker-panel>ul>li.picked {
2231
background: #1890ff;
2332
color: #fff;

demos/base-demo/ezuikit_static/v6/v2/js/jsPluginV2-2.0.1.min.js

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4726,6 +4726,10 @@ class JSPluginV2 {
47264726
_this.playURL = oParams.playURL;
47274727
_this.szUrl = szUrl; // 创建canvas
47284728

4729+
if (document.getElementById(this.szId + '-player-tmp')) {
4730+
document.getElementById(this.szId + '-player-tmp').parentNode.removeChild(document.getElementById(this.szId + '-player-tmp'));
4731+
}
4732+
47294733
if (!document.getElementById(_this.szId + '-player')) {
47304734
let canvasList = document.getElementById(_this.szId);
47314735
let canvas = document.createElement('canvas');
@@ -4844,6 +4848,17 @@ class JSPluginV2 {
48444848

48454849
Module.writeArrayToMemory(aBuffer, pInputData1); // 解密-end
48464850
//console.log("resSetSecretKey:"+resS);
4851+
// 监听数据错误
4852+
4853+
if (data.statusString) {
4854+
if (_this.EventCallback && _this.EventCallback.pluginErrorHandler) {
4855+
_this.EventCallback.pluginErrorHandler(_this.g_port, 1001, data);
4856+
}
4857+
} else if (data.type && data.type === "exception") {
4858+
if (_this.EventCallback && _this.EventCallback.pluginErrorHandler) {
4859+
_this.EventCallback.pluginErrorHandler(_this.g_port, 1002, data);
4860+
}
4861+
}
48474862

48484863
Module._JSPlayM4_InputData(_this.g_port, pInputData1, aBuffer.length); // if(this.iRate == 2) {
48494864
} // 录制
@@ -4854,6 +4869,12 @@ class JSPluginV2 {
48544869
} // data = null;
48554870

48564871
}, function () {
4872+
if (_this.bPlay) {
4873+
if (_this.EventCallback && _this.EventCallback.pluginErrorHandler) {
4874+
_this.EventCallback.pluginErrorHandler(iWndNum, 1003);
4875+
}
4876+
}
4877+
48574878
_this.bPlayIng = false;
48584879
reject();
48594880
}).then(id => {
@@ -5034,7 +5055,7 @@ class JSPluginV2 {
50345055
console.log("resFCB:" + resFCB);
50355056
}
50365057

5037-
JS_CapturePicture(iWind, fileName = `${new Date().getTime()}.jpg`, type, callback, isDownload) {
5058+
JS_CapturePicture(iWind, fileName = `${new Date().getTime()}.jpeg`, type, callback, isDownload) {
50385059
const {
50395060
Module,
50405061
g_port
@@ -5070,14 +5091,29 @@ class JSPluginV2 {
50705091
let aJpegData = new Uint8Array(nJpegDataSize);
50715092
aJpegData.set(Module.HEAPU8.subarray(pJpegData, pJpegData + nJpegDataSize));
50725093

5073-
if (fileName.indexOf(".jpg") === -1) {
5074-
fileName += '.jpg';
5094+
if (fileName.indexOf(".jpeg") === -1) {
5095+
fileName += '.jpeg';
50755096
}
50765097

50775098
if (!callback) {
50785099
downloadFile(aJpegData, fileName);
50795100
} else {
5080-
callback(aJpegData);
5101+
const arrayBufferToBase64Img = buffer => {
5102+
const arr = new Uint8Array(buffer);
5103+
var str = "";
5104+
5105+
for (let i = 0; i < arr.length; i++) {
5106+
str += String.fromCharCode(arr[i]);
5107+
}
5108+
5109+
return `data:image/jpeg;base64,${window.btoa(str)}`;
5110+
};
5111+
5112+
callback({
5113+
fileName: fileName,
5114+
fileUint8Array: aJpegData,
5115+
base64: arrayBufferToBase64Img(aJpegData)
5116+
});
50815117
}
50825118

50835119
aJpegData = null;

demos/base-demo/ezuikit_static/v6/v2/rec/datepicker.min.css

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,15 @@
1818
.datepicker-panel>ul>li.picked, .datepicker-panel>ul>li.picked:hover {
1919
color: #39f;
2020
}
21+
.datepicker-inline {
22+
position: absolute;
23+
z-index: 999999;
24+
bottom: 48px;
25+
right: 24px;
26+
height: 250px;
27+
top: auto;
28+
left: auto;
29+
}
2130
.datepicker-panel>ul>li.picked {
2231
background: #1890ff;
2332
color: #fff;

demos/nginx-demo/html/ezuikit5/ezuikit.js

Lines changed: 219 additions & 31 deletions
Large diffs are not rendered by default.

demos/react-demo/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
"@testing-library/react": "^9.5.0",
88
"@testing-library/user-event": "^7.2.1",
99
"axios": "^0.19.2",
10-
"ezuikit-js": "^0.6.2",
10+
"ezuikit-js": "^0.6.3",
1111
"react": "^16.13.1",
1212
"react-dom": "^16.13.1",
1313
"react-scripts": "3.4.1"

demos/vue-demo/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
},
1010
"dependencies": {
1111
"core-js": "^3.6.4",
12-
"ezuikit-js": "^0.6.2",
12+
"ezuikit-js": "^0.6.3",
1313
"vue": "^2.6.11"
1414
},
1515
"devDependencies": {

0 commit comments

Comments
 (0)