Javascript 传递给createMediaElementSource的HTMLMediaElement具有跨源资源,节点将输出静默

Javascript 传递给createMediaElementSource的HTMLMediaElement具有跨源资源,节点将输出静默,javascript,web-audio-api,audiocontext,Javascript,Web Audio Api,Audiocontext,我正在测试改变视频的音频增益。我创建了一个示例HTML页面,视频文件与HTML文件位于同一目录中。没有网络服务器;我刚刚在本地磁盘上创建了这个文件,并用FireFox打开了它。代码如下,但当我点击按钮时 传递给createMediaElementSource的HTMLMediaElement具有 跨源资源时,节点将输出静默 音频被静音了。我怎样才能解决这个问题?我在这里搜索并找到了答案,答案是“解决方案是向相应的音频元素添加crossOrigin=“anonymous”属性。”但这似乎不起作用

我正在测试改变视频的音频增益。我创建了一个示例HTML页面,视频文件与HTML文件位于同一目录中。没有网络服务器;我刚刚在本地磁盘上创建了这个文件,并用FireFox打开了它。代码如下,但当我点击按钮时

传递给createMediaElementSource的HTMLMediaElement具有 跨源资源时,节点将输出静默

音频被静音了。我怎样才能解决这个问题?我在这里搜索并找到了答案,答案是“解决方案是向相应的音频元素添加crossOrigin=“anonymous”属性。”但这似乎不起作用

   <script crossOrigin="anonymous">
        function gain(value)
        {
            var vid = document.getElementById("testvideo");

            var audioCtx = new (window.AudioContext || window.webkitAudioContext)();
            var gainNode = audioCtx.createGain();
            gainNode.gain.value = value;

            var source = audioCtx.createMediaElementSource(vid);
            ...
        }
    </script>
</head>
<body>
    <video id="testvideo" width="640", height="360" controls>
        <source src="sample.webm" type="video/mp4" crossOrigin="anonymous"/>
    </video>    

    <div>
        <button onclick="gain(2)">Gain 2</button>
    </div>

功能增益(值)
{
var vid=document.getElementById(“testvideo”);
var audioCtx=new(window.AudioContext | | window.webkitadiocontext)();
var gainNode=audioCtx.createGain();
gainNode.gain.value=值;
var source=audioCtx.createMediaElementSource(vid);
...
}
增益2

不确定这是否能解决您的问题,但:

在这里:

我也有同样的错误,我把crossorigin放在音频标签中,它似乎起作用了:

<div class= fph id=fph align=center>
<canvas id='canvas'></canvas>
<audio crossorigin="anonymous" src="<?php
$toevallegnummer = rand(1,3);
    if ($toevallegnummer == 1){echo "https://res.cloudinary.com/ddxo40bkm/video/upload/v1582653810/alleycat/shorty.ogg";}
    if ($toevallegnummer == 2){echo "https://res.cloudinary.com/ddxo40bkm/video/upload/v1582653811/alleycat/raveretro.ogg";}
    if ($toevallegnummer == 3){echo "https://res.cloudinary.com/ddxo40bkm/video/upload/v1582653811/alleycat/raveretrorevisedloop.ogg";}
?>" id="audio" >audio element not supported</audio>
<script src="dir/dir/somthing.js"></script>
</div>


如果我记得清楚的话,对于我来说,当我在VisualStudio代码上使用实时服务器时,这个问题已经得到了解决。