前言鉻的Android視頻元素無法從mediaRecorder BLOB數據的URL玩
我使用的WebRTC mediaRecorder API記錄在移動web應用程序的視頻。視頻數據正在錄製,可以下載並在設備上的視頻播放器應用中播放。
問題
的問題是,所記錄的數據blob陣列使用時無法播放鉻甚至在最新發布的移動設備上:
window.URL.createObjectURL(); or window.webkitURL.createObjectURL()
我發現這個文件指出Android上的chrome中存在一個錯誤。 Chrome Bug Report
我發現從谷歌的一些文件,即使凸顯這裏的錯誤: Google devs mediaRecorder docs
問題
有沒有人找到一個解決辦法,以播放錄製媒體在Android上使用谷歌瀏覽器視頻元素?
解測試,失敗
測試1:使用斑點窗口URL作爲video要素上的src
<video src="[example blob url]>
測試2:使用斑點窗口URL作爲在視頻源元素
<video>
<source type="video/webm" src="[example blob url]">
測試3:使用FileReader API將mediaRecorder blob數組轉換爲dataURI。
function getVideoDataUri(callBackFn)
{
var reader = new FileReader();
var fileMime = 'video/webm';
var blob = new Blob(this.blobs, {type: fileMime});
reader.onload = function(e)
{
if(typeof callBackFn === 'function')
{
callBackFn(reader.result);
}
};
reader.readAsDataURL(blob);
}
function callBack(dataUri)
{
/* do something with data */
console.log(dataUri);
}
getVideoDataUri(callBack);
有沒有人想出任何解決方法呢? –
是的。測試3將解決這個問題。我目前正在使用它。如果您需要,我可以發送生產代碼。 –
發送生產代碼將不勝感激。我嘗試了測試3,同樣的事情,沒有運氣。我的機器在Android 4.4(API 19) –