如果脚本文件在本地保存,则Azure媒体播放器(AMP)无法处理chrome

时间:2016-05-24 09:59:15

标签: azure-media-services

我已在本地保存了示例AMP视频http://amp.azure.net/libs/amp/latest/samples/dynamic_setsource.html的来源并尝试播放视频。它适用于IE和Edge,但不适用于chrome。如果我托管这个文件它的工作原理。 你能帮我理解这里有什么问题吗? 您可以尝试在IE浏览器中运行脚本以查看差异。

<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Skill Cloud</title>
    <meta name="description" content="">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="http://amp.azure.net/libs/amp/1.7.1/skins/amp-default/azuremediaplayer.min.css" rel="stylesheet">
    <script src="http://amp.azure.net/libs/amp/1.7.1/azuremediaplayer.min.js"></script>
</head>
<body>
    <h1>Skill Cloud</h1>
    <video id="azuremediaplayer" class="azuremediaplayer amp-default-skin amp-big-play-centered" tabindex="0"> </video>
    <script>
        var myOptions = {
            autoplay: true,
            controls: true,
            width: "100%",
            height: "auto",
            poster: ""
        };
        var myPlayer = amp("azuremediaplayer", myOptions);
        myPlayer.src([{ src: "http://amssamples.streaming.mediaservices.windows.net/91492735-c523-432b-ba01-faba6c2206a2/AzureMediaServicesPromo.ism/manifest", type: "application/vnd.ms-sstr+xml" }, ]);
    </script>
    <footer>
        <br />
        <p>© Microsoft Corporation 2016</p>
    </footer>
</body>
</html>

由于

1 个答案:

答案 0 :(得分:1)

当您在本地运行代码时,Chrome会使用file://协议打开您的index.html。由于Chrome的安全政策,不允许加载本地资源,这是阻止播放的原因。 (如果你看看你的JavaScript控制台,我敢打赌你会看到类似的错误。)

要解决此问题,您可以使用像Visual Studio或WebMatrix这样的IDE,它将自动为您设置本地Web服务器,以便您可以使用http://localhost:8000或您喜欢的任何端口访问您的页面。

如果您不想使用VS或WebMatrix,您还可以使用Python的简单HTTP服务器。希望这有助于和快乐的编码:)