我有一個工作正常的視頻(webm)捕獲腳本。它記錄視頻,然後將其作爲下載提供。代碼的相關部分是這樣的:從視頻流中獲取數據網址?
stopBtn.addEventListener('click', function() {
recorder.ondataavailable = e => {
ul.style.display = 'block';
var a = document.createElement('a'),
li = document.createElement('li');
a.download = ['video_', (new Date() + '').slice(4, 28), '.'+vid_format].join('');
a.textContent = a.download;
a.href = URL.createObjectURL(stream); //<-- deprecated usage?
li.appendChild(a);
ul.appendChild(li);
};
recorder.stop();
startBtn.removeAttribute('disabled');
stopBtn.disabled = true;
}, false);
這個工作正如我所說的。但是,控制檯說,將媒體流傳遞到URL.createObjectURL
已被棄用,我應該使用HTMLMediaElement srcObject
。
所以我把它改爲:
a.href = URL.createObjectURL(video.srcObject);
......雖然一切仍然有效,我得到了同樣的警告。
有沒有人知道如何才能得到一個URL或blob數據沒有這種棄用的方式?
我也嘗試讀取視頻元素中的src
和currentSrc
屬性,但它們在涉及流的位置回到空白處。
你想下載流?這樣做的常見方法是通過MediaRecorder創建一個blob,然後下載blob(其中涉及URL.createObjectURL但是使用blob而不是流) –
基本上我只想將錄製的視頻保存到服務器。謝謝你的提示 - 你能給我一些關於如何做或讀什麼的指示嗎?代碼片段將是ace。 – Utkanos
這段代碼真的有效嗎? Weiiird ... – Kaiido