Waveサウンドファイルのリンクを取得するために別のアプリ(B)にajaxリクエストを行うアプリ(A)があります。次に、リンクを使用して、そのサウンドファイルをアプリから直接再生します(A)。
新しいaudio
タグを作成しようとしましたが、コンソールに次のエラーが表示されます。
Chromeで
再生に失敗しました.... NotSupportedError:サポートされているソースが見つからなかったため、ロードに失敗しました。
FireFox内
再生に失敗しました.... NotSupportedError:src属性で示されたメディアリソースまたは割り当てられたメディアプロバイダーオブジェクトは適切ではありませんでした。
これは、私のAppからのリンクでAjaxリクエストが返された後にトリガーされるコールバックメソッドです(B)。
function playAudio(data) {
if(!data || !data.DownloadUrl) {
return;
}
var audio = new Audio(data.DownloadUrl);
audio.type = 'audio/wav';
var playPromise = audio.play();
if (playPromise !== undefined) {
playPromise.then(function () {
console.log('Playing....');
}).catch(function (error) {
console.log('Failed to play....' + error);
});
}
}
どうすればこのwavファイルを再生できますか?
オーディオは追加の問題なしでサーバー間で正しく機能します。以下の例を参照してください。
これが機能しない理由はいくつかあります。
_async function playAudio() {
var audio = new Audio('https://file-examples.com/wp-content/uploads/2017/11/file_example_WAV_1MG.wav');
audio.type = 'audio/wav';
try {
await audio.play();
console.log('Playing...');
} catch (err) {
console.log('Failed to play...' + error);
}
}
_
<a href="#" onclick="playAudio()">Play Audio</a>
代わりにHTML 5で使用してください<audio>
鬼ごっこ。
HTML 5は、JavaScriptを使用せずに任意のオーディオ形式を再生および制御できます。