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