【问题标题】:Determine source of an <audio> tag in JavaScript after the stream redirects在流重定向后确定 JavaScript 中 <audio> 标记的来源
【发布时间】:2019-03-28 11:31:34
【问题描述】:
<html>
    <head>
        <meta name="viewport" content="width=device-width">
    </head>
    <body>
        <video id="aPlayer" name="media" src="https://kerkdienstgemist.nl/streams/75528.mp3" type="audio/mpeg" controls >
        </video>
        <br/>
        <input id="srcCheck" type="button" value="Check aPlayer.src value" onclick="alert(aPlayer.src);">
    </body>
</html>

加载上述页面时,源https://kerkdienstgemist.nl/streams/75528.mp3 重定向到: https://assets.kerkdienstgemist.nl/static/no_broadcast-c0e1ed59.mp3。没问题。

在点击播放前点击按钮时,会显示初始url。还好。但是当你点击播放后点击按钮时,仍然显示相同的 url,尽管它被重定向到一个新的位置并播放流。

要演示 url 重定向,请单击链接:https://kerkdienstgemist.nl/streams/75528.mp3,您将在浏览器地址栏中看到它发生了变化。

有什么建议吗?

【问题讨论】:

  • 您将从哪里运行此代码?来自上述域kerkdienstgemist.nl 还是来自另一个域?
  • 来自另一个域。
  • 那你就卡住了。
  • @Kaiido 别那么悲观。
  • 这就是我现在所做的。我对调用 cURL 库的 php 脚本进行 AJAX 调用以仅请求标头,当返回 302 重定向时,我可以检查 url 重定向到的位置。完毕!谢谢大家。

标签: javascript html audio-streaming


【解决方案1】:

我认为使用 JavaScript 检测重定向是可能的,因为无论任何重定向如何,当前 DOM 的 src 属性都将保持不变。

即使我尝试使用代码创建播放器并尝试我的运气,如果我们可以在视频重定向后看到 src。

<input id="srcCheck" type="button" value="Check aPlayer.src value" onclick="myFunction()">
<script>
        var x = document.createElement("VIDEO");
        x.setAttribute("id", "aPlayer");
        x.setAttribute("src", "https://kerkdienstgemist.nl/streams/75528.mp3");
        x.setAttribute("width", "320");
        x.setAttribute("height", "240");
        x.setAttribute("controls", "controls");
        document.body.appendChild(x);

    function myFunction() {
            var t = document.getElementById("aPlayer");
            console.log(t.src);
       }
    </script>

【讨论】:

  • 在某些情况下是可能的。另外,在获取时使用 currentSrc 比使用 src 更好。
  • 可能是,但在这种情况下 currentSrc: "kerkdienstgemist.nl/streams/75528.mp3" 仍然与 src 相同。
  • 是的,我知道,我们还没有处于我提到的“某些条件”中,currentSrc 只是一个一般性建议,我在关于检索 MediaElement 的当前来源的答案中特别找到了该主题.
  • 希望你绝对错了!但感谢您尝试解决问题。
猜你喜欢
  • 1970-01-01
  • 2011-07-21
  • 2019-10-01
  • 2012-10-16
  • 1970-01-01
  • 2023-04-01
  • 2015-07-04
  • 2018-05-06
  • 2012-02-26
相关资源
最近更新 更多