如何解决将媒体对象从视图发布到控制器
我需要将mediaStreamObj从View发布到Controller,并将其存储在VarBinary的sql Server中。后来,varBinary数据被传递到其他应用程序以进行流传输。在当前核心中,流数据为空。请帮助我在流中传递实际数据以将其保存在数据库中,并在其他应用中使用它进行流处理
JavaScript代码
let startRecord = document.getElementById("startrecord");
let stopRecord = document.getElementById("stoprecord");
let liveVideo = document.getElementById("livevideo");
let constraintObj = {
audio: true,video: true
};
navigator.mediaDevices
.getUserMedia(constraintObj)
.then(function (mediaStreamObj) {
liveVideo.srcObject = mediaStreamObj;
liveVideo.play();
let mediaRecorder = new MediaRecorder(mediaStreamObj);
let chunks = [];
startRecord.addEventListener("click",ev => {
mediaRecorder.start();
});
stopRecord.addEventListener("click",ev => {
mediaRecorder.stop();
});
mediaRecorder.ondataavailable = function (ev) {
chunks.push(ev.data);
}
mediaRecorder.onstop = function () {
let blob = new Blob(chunks,{ 'type': 'video/mp4' });
HttpPost(blob);
chunks = [];
}
})
.catch(function () {
console.log("Error");
})
function HttpPost(blob) {
let params = {
VideoStream: blob,VideoType: 'video/mp4'
};
//var formData = new FormData()
//formData.append('VideoStream',blob)
//formData.append('VideoType','video/mp4')
$.ajax({
type: "POST",url: "/Home/Load/",data: params,success: function (msg) {
},error: function (err) {
alert(err);
}
});
}
MVC-C#
[HttpPost]
public string Load(VideoModel video)
{
return View();
}
public class VideoModel
{
public string VideoType { get; set; }
public Stream VideoStream { get; set; }
}
HTML
<button id="startrecord"
class="btn btn-outline-danger btn-lg btn-block" >Record</button>
<button id="stoprecord"
class="btn btn-outline-info btn-lg btn-block" >Stop</button>
<video id="livevideo" controls></video>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。