Commit 95e6d2e1 by Takatoshi Miura

Merge branch 'communication/#42990#43004_saveArchive' into 'develop'

#42990#43004_レコード中の協業終了時、長時間レコード時にアーカイブに保存されないバグを修正

See merge request !153
parents 15ff2894 0e1d21de
...@@ -4,10 +4,80 @@ function recordStart() { ...@@ -4,10 +4,80 @@ function recordStart() {
$('#recordBtn').addClass('bg_red'); $('#recordBtn').addClass('bg_red');
} }
function recordStop() { function recordStop(callback) {
MainManRecord('stop', CMS_SERVER_URL + '/chatapi/file/uploadArchive'); // アーカイブ保存中は画面操作不可(協業終了,協業切り替え防止)
screenLock();
// アーカイブ保存処理
MainManRecordWithCollaboration('stop', CMS_SERVER_URL + '/chatapi/file/uploadArchive', callback);
}
function MainManRecordWithCollaboration(action, url, callback) {
mediaRecorder.stop();
console.log('Recorded Blobs: ', recordedBlobs);
setTimeout(function() {
console.log("Recoding File upload..");
const blob = new Blob(recordedBlobs, {type: 'video/webm'});
console.log(blob)
var uploadFileName = "record_" + g_webroom + "_" + g_shareCount + ".webm";
g_shareCount++;
var formData = new FormData();
formData.append("fileData",blob,uploadFileName);
formData.append('sid', globalUserInfo.sid);
formData.append('roomId', globalUserInfo.roomId);
formData.append('archiveType', 1);
console.log(uploadFileName)
$.ajax({
type :'post',
url,
data : formData,
contentType: false,
processData: false,
success : function(res) {
recordFinished();
callback();
console.log(res)
}
,error : function(err){
recordFinished();
callback();
console.log(err);
}
});
}, 1000);
}
function screenLock(){
// ロック用のdivを生成
var element = document.createElement('div');
element.id = "screenLock";
// ロック用のスタイル
element.style.height = '100%';
element.style.left = '0px';
element.style.position = 'fixed';
element.style.top = '0px';
element.style.width = '100%';
element.style.zIndex = '9999';
element.style.opacity = '0';
var objBody = document.getElementsByTagName("body").item(0);
objBody.appendChild(element);
}
// div削除関数
function delete_dom_obj(id_name) {
var dom_obj = document.getElementById(id_name);
var dom_obj_parent = dom_obj.parentNode;
dom_obj_parent.removeChild(dom_obj);
}
function recordFinished() {
$('#recordBtn').addClass('bg_gray'); $('#recordBtn').addClass('bg_gray');
$('#recordBtn').removeClass('bg_red'); $('#recordBtn').removeClass('bg_red');
// ロック画面の削除
delete_dom_obj('screenLock');
} }
$(function () { $(function () {
...@@ -138,7 +208,7 @@ $(function () { ...@@ -138,7 +208,7 @@ $(function () {
if ($('#recordBtn').hasClass('bg_gray')) { if ($('#recordBtn').hasClass('bg_gray')) {
recordStart(); recordStart();
} else { } else {
recordStop(); recordStop(null);
} }
}) })
}); });
......
...@@ -178,9 +178,10 @@ $(function () { ...@@ -178,9 +178,10 @@ $(function () {
} }
} else if (data.type === "API_SEND_OWNER_CHANGE_COMPLETE") { } else if (data.type === "API_SEND_OWNER_CHANGE_COMPLETE") {
if ($('#recordBtn').hasClass('bg_red')) { if ($('#recordBtn').hasClass('bg_red')) {
recordStop(); recordStop(penOff);
} } else {
penOff(); penOff();
}
} else if (data.type === "CHANGE_HOST_APPLY") { } else if (data.type === "CHANGE_HOST_APPLY") {
if (CHAT_UTIL.isAndroid()) { if (CHAT_UTIL.isAndroid()) {
android.setHostRequestFlg(HOST_REQUEST_FLG.DOING); android.setHostRequestFlg(HOST_REQUEST_FLG.DOING);
...@@ -412,7 +413,7 @@ function changeCollaboration(changeCollaborationType) { ...@@ -412,7 +413,7 @@ function changeCollaboration(changeCollaborationType) {
} }
joinCollaborationType = changeCollaborationType; joinCollaborationType = changeCollaborationType;
if ($('#recordBtn').hasClass('bg_red')) { if ($('#recordBtn').hasClass('bg_red')) {
recordStop(); recordStop(null);
} }
initCollaborationUI(changeCollaborationType); initCollaborationUI(changeCollaborationType);
switch (changeCollaborationType) { switch (changeCollaborationType) {
...@@ -523,8 +524,13 @@ function Coview_exitCollaboration(isDocument = false) { ...@@ -523,8 +524,13 @@ function Coview_exitCollaboration(isDocument = false) {
} }
} }
if ($('#recordBtn').hasClass('bg_red')) { if ($('#recordBtn').hasClass('bg_red')) {
recordStop(); recordStop(Coview_finishCollaboration);
} else {
Coview_finishCollaboration();
} }
}
function Coview_finishCollaboration() {
clearInterval(timeInterval); clearInterval(timeInterval);
coview_api.LeaveRoom(); coview_api.LeaveRoom();
if (coview_api.getRoomUsers()) { if (coview_api.getRoomUsers()) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment