Commit e3bbf38a by Kim Peace

Merge branch 'bug/#44334_recoding_related_in_collaboration' into 'develop'

Fixed to wait to finish callboration for send recorded data

See merge request !252
parents 9d625253 567c9b9c
...@@ -171,7 +171,7 @@ FermiWebSocketMessageHandler.captureRequest = function (data) { ...@@ -171,7 +171,7 @@ FermiWebSocketMessageHandler.captureRequest = function (data) {
if ($("#recordBtn .record").hasClass("disable")) { if ($("#recordBtn .record").hasClass("disable")) {
screenLock(); screenLock();
recordStop(function () { recordStop().then(function () {
$("#screenLock").remove(); $("#screenLock").remove();
captureAndShareImage( captureAndShareImage(
serverInfo.cmsURL + "/chatapi/file/uploadArchive", serverInfo.cmsURL + "/chatapi/file/uploadArchive",
...@@ -222,7 +222,7 @@ FermiWebSocketMessageHandler.pipEndRequest = function () { ...@@ -222,7 +222,7 @@ FermiWebSocketMessageHandler.pipEndRequest = function () {
FermiWebSocketMessageHandler.apiSendOwnerChangeComplete = function (data) { FermiWebSocketMessageHandler.apiSendOwnerChangeComplete = function (data) {
penOff(); penOff();
if ($("#recordBtn .record").hasClass("disable")) { if ($("#recordBtn .record").hasClass("disable")) {
recordStop(function () {}); recordStop();
} }
if ($("#micBtn .voice").hasClass("disable")) { if ($("#micBtn .voice").hasClass("disable")) {
micOff(); micOff();
......
...@@ -28,7 +28,7 @@ function toggleEraser() { ...@@ -28,7 +28,7 @@ function toggleEraser() {
function toggleCapture() { function toggleCapture() {
if ($("#recordBtn").hasClass("bg_red")) { if ($("#recordBtn").hasClass("bg_red")) {
screenLock(); screenLock();
recordStop(function () { recordStop().then(function () {
$("#screenLock").remove(); $("#screenLock").remove();
coview_api.Capture(serverInfo.cmsURL + "/chatapi/file/uploadArchive"); coview_api.Capture(serverInfo.cmsURL + "/chatapi/file/uploadArchive");
}); });
...@@ -79,15 +79,16 @@ function toggleRecord() { ...@@ -79,15 +79,16 @@ function toggleRecord() {
if (!$("#recordBtn .record").hasClass("disable")) { if (!$("#recordBtn .record").hasClass("disable")) {
recordStart(); recordStart();
} else { } else {
recordStop(function () { recordStop().then(function () {
console.info("Did record stop"); console.info("Did record stop");
}); });
} }
} }
function recordStop(callback) { function recordStop() {
return new Promise(function (done) {
if (!$("#recordBtn .record").hasClass("disable")) { if (!$("#recordBtn .record").hasClass("disable")) {
callback(); done();
return; return;
} }
Common.showLoadingIndicator(); Common.showLoadingIndicator();
...@@ -95,22 +96,15 @@ function recordStop(callback) { ...@@ -95,22 +96,15 @@ function recordStop(callback) {
screenLock(); screenLock();
// アーカイブ保存処理 // アーカイブ保存処理
mainManRecordWithCollaboration( mainManRecordStopWithCollaboration().then(function () {
"stop", done();
serverInfo.cmsURL + "/chatapi/file/uploadArchive", });
callback });
);
} }
function mainManRecordWithCollaboration(action, url, callback) { async function sendRecordedData() {
try { return new Promise(function (done) {
mediaRecorder.stop(); // get lastest message id and update message from server via native
} catch (exeption) {
console.error("Record failed");
callback();
}
setTimeout(function () {
const blob = new Blob(recordedBlobs, { type: "video/webm" }); const blob = new Blob(recordedBlobs, { type: "video/webm" });
const uploadFileName = "record_" + g_webroom + "_" + g_shareCount + ".webm"; const uploadFileName = "record_" + g_webroom + "_" + g_shareCount + ".webm";
g_shareCount++; g_shareCount++;
...@@ -124,28 +118,46 @@ function mainManRecordWithCollaboration(action, url, callback) { ...@@ -124,28 +118,46 @@ function mainManRecordWithCollaboration(action, url, callback) {
: ARCHIVE_TYPE.VOICE; : ARCHIVE_TYPE.VOICE;
formData.append("archiveType", collaborationType); formData.append("archiveType", collaborationType);
postRecords(url, formData, callback); postRecords(formData).then(function () {
}, 1000); done();
});
});
}
function mainManRecordStopWithCollaboration() {
return new Promise(function (done) {
try {
mediaRecorder.stop();
} catch (exeption) {
console.error("Record stop failed");
done();
}
sendRecordedData().then(function () {
done();
});
});
} }
function postRecords(url, formData, callback) { function postRecords(formData) {
return new Promise(function (done) {
$.ajax({ $.ajax({
type: "post", type: "post",
url: url, url: serverInfo.cmsURL + "/chatapi/file/uploadArchive",
data: formData, data: formData,
contentType: false, contentType: false,
processData: false, processData: false,
success: function (res) { success: function (res) {
recordFinished(); recordFinished();
Common.dismissLoadingIndicator(); Common.dismissLoadingIndicator();
callback(); done();
}, },
error: function (err) { error: function (err) {
recordFinished(); recordFinished();
Common.dismissLoadingIndicator(); Common.dismissLoadingIndicator();
callback(); done();
}, },
}); });
});
} }
// div削除関数 // div削除関数
......
...@@ -510,7 +510,9 @@ CoviewBridge.exitCollaboration = function () { ...@@ -510,7 +510,9 @@ CoviewBridge.exitCollaboration = function () {
} }
if ($("#recordBtn .record").hasClass("disable")) { if ($("#recordBtn .record").hasClass("disable")) {
recordStop(CoviewBridge.finishCollaboration); recordStop().then(function () {
CoviewBridge.finishCollaboration();
});
} else { } else {
CoviewBridge.finishCollaboration(); CoviewBridge.finishCollaboration();
} }
......
...@@ -28,7 +28,7 @@ document.addEventListener("DOMContentLoaded", function () { ...@@ -28,7 +28,7 @@ document.addEventListener("DOMContentLoaded", function () {
// call from collaboration_overlay_menu.html and collaboration.html // call from collaboration_overlay_menu.html and collaboration.html
function changeCollaboration(collaborationType) { function changeCollaboration(collaborationType) {
recordStop(function () { recordStop().then(function () {
var newMeetingID = 0; var newMeetingID = 0;
if (globalUserInfo.collaborationType == COLLABORATION_TYPE.DOCUMENT) { if (globalUserInfo.collaborationType == COLLABORATION_TYPE.DOCUMENT) {
NativeBridgeDelegate.exitMeetingRoom(); NativeBridgeDelegate.exitMeetingRoom();
......
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