开发者

createObjectURL is returning undefined in Chrome

Trying to change video source file using createObjectDataURL. It is working fine 开发者_如何学Gowith Firefox but not working in Chrome (version 12.0.742.122 m). code is not throwing any error but returns undefined for createObjectDataURL. I tried all the possibilities but it always returns undefined.

<!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>

Please help me. It has already taken lot of time. Thanks in Advance.


I had the same problem, when I was opening the page as a local file in Chrome. I had to use Apache and open it through localhost.


This seems to be a bug in Chromium, though the status of the bug is unclear to me: http://code.google.com/p/chromium/issues/detail?id=91136

Crossposting my comment there:

I can confirm this issue on Windows Chrome 17.0.932.0 dev-m. An easy way to confirm [the bug] is this page: http://html5-demos.appspot.com/static/a.download.html. It works when used online. After saving to disk, the download fails.

Edit: Just found this similar bug report (FileReader API not working for local content): http://code.google.com/p/chromium/issues/detail?id=60889 This is marked won't fix for a reason that appears applicable to the bug discussed here.


I think you should use window.webkitURL.createObjectURL() as noted in https://developer.mozilla.org/en/DOM/window.URL.createObjectURL

Note: This method is prefixed in Chrome and Webkit as window.webkitURL.createObjectURL().


If you get stuck in this

  video.srcObject = mediaSource;

Use teh code above. Set the srcObject to your stream.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜