質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.37%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

665閲覧

JavaScriptで音楽が再生されない 2

退会済みユーザー

退会済みユーザー

総合スコア0

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

1クリップ

投稿2021/08/30 03:20

#前提・実現したいこと
音楽が「intro.mp3(30秒)→naka1.mp3(1分51秒)→naka2.mp3の繰り返し」と流れるようにしたいです。
ですが、全然音楽が流れてくれません。
このコードのどこがいけないかわからず、何もできない状況です。
回答をよろしくお願いします。
#コード

JavaScript

1var music = new Audio('intro.mp3'); 2music.play(); 3sleep(30000); 4music.pause(); 5var music2 = new Audio('naka1.mp3'); 6music2.play(); 7sleep(111000); 8music2.pause(); 9var music3 = new Audio('naka2.mp3'); 10music3.addEventListener("ended", function () { 11music3.currentTime = 0; 12music3.play(); 13}, false);

#エラーの内容
Uncaught ReferenceError: sleep is not defined at test.html:4

test.html:3 Uncaught (in promise) DOMException: play() failed because the user didn't interact with the document first.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

1つ目のエラーは「sleepは定義されていない関数です」と言う意味です。
jsにsleep()という関数はないのでsetTimeout()など別の形で実現する必要があるかと思います。

js

1//30秒後に実行 2setTimeout(function(){ 3 music.pause(); 4}, 30000);

2つ目のエラーは「音の出るコンテンツはユーザーの操作なしに実行できない」という内容です。
勝手に音を出すとユーザーに迷惑がかかる場合があるのでブラウザの仕様で封じられています。
参考: javascriptのaudioの1回目がならずにエラーを吐きます | teratail

投稿2021/09/01 02:15

webgoto

総合スコア1293

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2021/09/08 12:24

ありがとうございます。 ブラウザで機能を殺されていることは初めて知りました。 タイムアウトの機能が少し違ったことも参考になりました。 本当に、ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.37%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問