是否可以使用JavaScript访问<iframe>中的音频数据,例如YouTube视频或嵌入式音乐播放器?

问题描述

我正在网页上嵌入各种播放器(YouTube,Spotify,Bandcamp等),并希望根据嵌入的声音更改网页的状态。如何访问这些数据?

更新: 根据{{​​3}}的评论,我研究了Bandcamp嵌入式播放器之一的元素,并发现了以下内容

    <script type="text/javascript">
        var playerdata = {"tracks":[{"title":"Virga I","encodings_id":1606233426,"file":{"mp3-128":"https://t4.bcbits.com/stream/.....
        var parentpage = "http://localhost:8080/"; // page we are embedded in
        var params = {"tracklist":"false","fgcol":null,"url_referrer":false...

        $(function() {
            HTMLEmbeddedplayer3.init(playerdata,parentpage,params);
        });
    </script>

这很酷,因为我可以通过编程方式看到此iframe的“ playerdata”变量,并在用户单击播放时访问音频?我会尝试的。

evolutionxbox

额外:

我还发现了这个有用的主题

Bandcamp embeds screenshot

但这仅适用于YouTube。其他服务(我主要是在这里查看Bandcamp的)没有API来传输音频,因此必须来自iframe本身。

由于音频正在网站上播放,因此似乎应该有某种方法可以在媒体服务和用户之间进行拦截,但是现在我看不到它。

解决方法

不,出于安全原因,这是不可能的。

不同来源的内容将无法访问。