Нет описания

cutVideo.js 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. /**
  2. * 录屏/回拨
  3. * */
  4. //来电时传输的数据
  5. var phoneNumber = helper.request.queryString("Number");
  6. var callid = helper.request.queryString("CallID");
  7. // //测试数据
  8. //if (callid == "") {
  9. // var phoneNumber = "13663801989";
  10. // var callid = "148";
  11. // }
  12. // 初始化数组
  13. let events = [];
  14. let stopFn = null;
  15. $(function(){
  16. setTimeout(startPlayers,1000);
  17. // startPlayers();
  18. })
  19. // 开始录制
  20. function startPlayers() {
  21. // let stopFn = rrweb.record({
  22. stopFn = rrweb.record({
  23. emit(event) {
  24. // 将 event 存入 events 数组中
  25. events.push(event);
  26. },
  27. });
  28. $("#playersing").text("");
  29. }
  30. var body_result = null;
  31. // 停止录屏 - 保存
  32. //typeid:callin 来电弹屏;callout 外呼
  33. // callid 呼入id 和 外呼电话id
  34. function stopPlayers() {
  35. ////点击外呼用
  36. if (callid == "") {
  37. callid = top.hidCallID
  38. }
  39. stopFn(); // 停止录屏
  40. savePlayers(callid); // 保存录屏
  41. // body_result = events;
  42. // events = [];
  43. //alert('停止录屏');
  44. }
  45. // 保存录屏
  46. function savePlayers(callid) {
  47. if (events != null && callid != "") {
  48. var eventsS = JSON.stringify(events);
  49. var eventsStr = escape(eventsS)
  50. $.post(huayi.config.callcenter_url + 'CutScreen/AddCutScreen', {
  51. callid: callid, // callid
  52. cutdata: eventsStr, // 录屏代码decodeURIComponent(
  53. token: $.cookie("token")
  54. }, function(result) {
  55. result = $.parseJSON(result);
  56. if (result.state.toLowerCase() == "success") {
  57. body_result = events;
  58. events = [];
  59. $("#playersing").text("录屏成功");
  60. //layer.msg("保存成功");
  61. //alert('保存录屏');
  62. }
  63. })
  64. } else {
  65. $("#playersing").text("录屏失败");
  66. }
  67. }
  68. // 回放录屏 - 播放器
  69. function rePlayers() {
  70. $.ajax({
  71. url: huayi.config.callcenter_url + 'CutScreen/GetCutScreenByCallId',
  72. type: 'get',
  73. data: {
  74. callid: CallID,
  75. token: $.cookie("token")
  76. },
  77. dataType: "json",
  78. async: true,
  79. success: function(res) {
  80. if (res.state.toLowerCase() === "success") {
  81. var data = res.data;
  82. if (data != null) {
  83. result = data.VideoHtml;
  84. rePlayers2(result);
  85. }
  86. }
  87. },
  88. });
  89. }
  90. // 回放录屏 - 播放器
  91. function rePlayers2(res) {
  92. const events = JSON.parse(unescape(res));
  93. //const events = body_result;
  94. if (events != null) {
  95. //const replayer = new rrweb.Replayer(events);
  96. //replayer.play();
  97. new rrwebPlayer({
  98. target: document.body, // document.getElementById('.ld-sercon')可以自定义 DOM 元素
  99. data: {
  100. events,
  101. },
  102. });
  103. // alert('回放成功');
  104. } else {
  105. var dd = "asdfasdf";
  106. }
  107. }