Dam*_*les 5 javascript audiocontext web-audio-api
我正在测试改变视频的音频增益。我创建了一个示例 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>
Run Code Online (Sandbox Code Playgroud)
小智 7
不确定这是否能解决您的问题,但是:
这里 :
Firefox WebAudio createMediaElementSource 不起作用
我遇到了同样的错误,我将 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>
Run Code Online (Sandbox Code Playgroud)
我不是一个真正的专业人士或任何人,但也许这会有所帮助,如果不是你,那么可能是其他人
| 归档时间: |
|
| 查看次数: |
2786 次 |
| 最近记录: |