私はamazon s3のmp3へのリンクを持っています(aws mp3はpublicに設定されています) オーディオプレーヤーはうまく動作します。MediaElementAudioSourceはCORSアクセス制限のため0を出力します
しかし、ビジュアライザを作成しようとすると、オーディオプレーヤに接続するとすぐにCORSエラーが発生します。なぜこれがそうでなければならないのか分かりません。私は明確にするための基礎としてanalyserNodeため https://developer.mozilla.org/en/docs/Web/API/AnalyserNode
<audio id="audio-player-console" src="${AWS_songUrl}" autoplay>
<p>Your browser does not support this audio player </p>
</audio>
をMDNのサンプルを使用している
は、あまりにも長い間analyserdataのために接続する試みとして、audioplayerは問題なくトラックを実行します。
私が追加した場合crossorigin =「匿名」私はまったく何を取得し、オーディオプレーヤーは、「公開する」の後に私のAWS CORSの設定がされてい
トラック
<audio id="audio-player-console" src="${AWS_songUrl}" crossorigin="anonymous" autoplay>
<p>Your browser does not support this audio player </p>
</audio>
を再生されません、オーディオタグにCORSをチェック
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
ここ
私はそれが失敗を開始するものですビジュアライザ用audiocontext、オーディオタグを接続しようとどこで設定
canvasCtx = visualizerCanvas.getContext("2d")
audioCtx = new (window.AudioContext || window.webkitAudioContext)()
var audioSrc = audioCtx.createMediaElementSource(aPlayer)
var analyser = audioCtx.createAnalyser()
audioSrc.connect(analyser)
analyser.fftSize = 2048
var bufferLength = analyser.frequencyBinCount
var dataArray = new Uint8Array(bufferLength)
analyser.getByteTimeDomainData(dataArray)
私は何ができるのか分かりません。私はAWSの設定をパブリックに設定し、すべての起点とすべてのヘッダーを許可しました
私はこの同じ問題を永遠に持っています。私はこれを理解しようと数ヶ月にわたって何時間も過ごしました。私は2つのSOの質問(それぞれupvotesを受け取る)を頼んだので、askubuntu.comで質問したところです。私はすぐに解決策を見つけて、ここで再投稿できることを願っています。 – www139
私はこの問題は、ビジュアライザノードが、オーディオタグが既に作成した後に第2のコルスチェックを引き起こすという事実に関連していると信じていました。この時点でファイルは別の場所にあるため、コルスチェックに失敗します。しかし、私はこれについて本当にわからない。私はオーディオタグを完全に放棄して完全なプレーヤーのaudiocontextオブジェクトのみを使用して作業しました:joegrundman.github.io/gplayer-react/ – Jope