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

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

ただいまの
回答率

90.62%

  • JavaScript

    15863questions

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

  • HTML5

    3869questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

JavaScriptで遅延なくAudioをendedで再生させたい

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 123

wakka0014

score 5

https://teratail.com/questions/108613

前回質問させていただきました。
上記URLと同じ内容なのですが、どうしても

audio.v.addEventListener("ended", function(){

でaudioの再生完了を遅延なく実施したいです。

■ファイル構成
/audio/aa/audioA1.mp3
--------------audioA2.mp3
---------bb/audioB1.mp3
--------------audioB2.mp3

■実現したい内容
Audio①を再生完了⇒Audio②を再生
を遅延なく実装したい

■不具合内容
AudioAの再生完了からAudioB再生までラグがある
おおよそ1秒くらい(もっとある場合もある)

■理由
audioA1、AudioA2はそれぞれ秒数が異なるため、再生実施後に秒数を指定して
audioBを再生するという実装方法が不可能なため

<!-- ○A -->
<p>A:
<select name="A">
    <option value="audioA1">A1</option>
    <option value="audioA2">A2</option>
    <option value="audioA3">A3</option>
</select>
</p>

<!-- ○B -->
<p>B:
<select name="B">
    <option value="audioB1">B1</option>
    <option value="audioB2">B2</option>
    <option value="audioB3">B3</option>
</select>
</p>

<!-- ○再生ボタン -->
<p>
<form name="playButton">
    <input type="button" name="playButton" value="再生" onClick="playAudio()">
</form>
</p>
//-----再生-----
function playAudio(selectedAudioA, selectedAudioB) {
    //AudioAを指定
    audioA.src = "audio/aa/" + selectedAudioA + ".mp3";
    //AudioBを指定
    audioB.src = "audio/bb/" + selectedAudioB + ".mp3";

    //実際に再生
    audioA.play();
}

//★Aの再生が完了したら
audioA.addEventListener('ended', function() {
    //種別を再生
    audioB.play();
}, false);
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • defghi1977

    2018/04/18 17:24

    現状起きている不具合についての記述を追加して下さい.

    キャンセル

  • wakka0014

    2018/04/18 17:50

    失礼いたしました。不具合内容について追記しました。

    キャンセル

  • defghi1977

    2018/04/18 18:06

    あと, 用意したサウンドファイルそのものが持つ(先頭・後尾の)無音部をサウンド再生の遅延と勘違いしている可能性はありませんか?

    キャンセル

まだ回答がついていません

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

  • ただいまの回答率 90.62%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • JavaScript

    15863questions

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

  • HTML5

    3869questions

    HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。