createObjectURL возвращает неопределенное в Chrome - PullRequest
10 голосов
/ 20 июля 2011

Попытка изменить исходный файл видео с помощью createObjectDataURL.Он отлично работает с Firefox, но не работает в Chrome (версия 12.0.742.122 m).код не выдает никакой ошибки, но возвращает undefined для createObjectDataURL.Я перепробовал все возможности, но он всегда возвращает неопределенное.

<!DOCTYPE html>
<html>
<head>
<title>Check CreateObjectURL</title>
</head>
<script type="text/javascript" language="javascript">

window.URL = window.URL || window.webkitURL;

function ChangeProperty()
{
        var v = document.getElementById("myvideo");
        var file = document.getElementById("fileControl").files[0];
        v.setAttribute("src",window.URL.createObjectURL(file));
}
</script>
<body>
<div >
    <video id="myvideo" src="movie.ogg" controls ></video>
    <input type="file" id="fileControl" /> 
    <button id="btnprops" onClick="ChangeProperty()" >update</button>
</div>
</body>
</html>

Пожалуйста, помогите мне.Это уже заняло много времени.Заранее спасибо.

Ответы [ 4 ]

4 голосов
/ 02 сентября 2011

У меня была такая же проблема, когда я открывал страницу как локальный файл в Chrome. Мне пришлось использовать Apache и открыть его через localhost.

2 голосов
/ 11 мая 2012

Я думаю, вы должны использовать window.webkitURL.createObjectURL (), как отмечено в https://developer.mozilla.org/en/DOM/window.URL.createObjectURL

Примечание. Этот метод имеет префикс в Chrome и Webkit как window.webkitURL.createObjectURL ().

2 голосов
/ 12 ноября 2011

Кажется, это ошибка в Chromium, хотя статус ошибки мне неясен: http://code.google.com/p/chromium/issues/detail?id=91136

Перекрестное размещение моего комментария там:

Я могу это подтвердитьпроблема в Windows Chrome 17.0.932.0 dev-m.Простой способ подтвердить [ошибку] ​​- это страница: http://html5 -demos.appspot.com / static / a.download.html .Работает при использовании онлайн.После сохранения на диск загрузка не удалась.

Редактировать: только что обнаружил похожий отчет об ошибке (API FileReader не работает для локального контента): http://code.google.com/p/chromium/issues/detail?id=60889 Это помечено won't fixпричина, которая, по-видимому, применима к обсуждаемой здесь ошибке.

0 голосов
/ 07 июля 2019

Если вы застряли в этом

  video.srcObject = mediaSource;

Используйте код выше. Установите srcObject для вашего потока.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...