12

私はhtmlページを書いています。実行時にJavaScriptで指定されているように、音を鳴らしたい。

ここで読んだ回答で推奨されているように、HTMLには次の行があります

<embed src="wavs/beep.wav" autostart="true" width="0" height="0" id="beep" 
  enablejavascript="true">

これにより、ロード時にサウンドが再生されるため、有効な .wav ファイルへの有効なパスを指定したと確信できます。(すべてが機能したら、autostart を false に設定します。)

私には機能があります

function playSound ( soundname )   
  {
    var thissound = document.getElementById( soundname );
    thissound.Play();
    alert( "Played " + soundname );
  }

私が使用して呼び出す

  playSound( "beep" );

しかし、その呼び出しが行われると、アラートは発生しますが、音はありません。推奨される方法ですべてを行っているように見えますが、何か間違っているに違いありません。次に何を確認すればよいですか?

4

4 に答える 4

21

ネイティブの HTML5 Audio API を使用する

Chrome のコンソールで Audio 要素の新しいインスタンスを作成し、バッファしたいサウンドのパスを渡してみてください。たとえば、タイプライターのサウンドが必要な場合は、次のようにします。

const typeWriter = new Audio("https://www.freesound.org/data/previews/256/256458_4772965-lq.mp3");

注: この正確なサウンドをバッファーして CSRF の問題を回避するには、 www.freesound.orgのコンソールで作業する必要があります。

typeWriterhtml audio タグを表すようになりました。

設定で音をループさせてみるtypeWriter.loop = true

最後に、typeWriter.play()&でサウンドを再生/一時停止します。typeWriter.pause()

于 2014-12-09T07:02:49.990 に答える
1

小文字の 'p' を使用した .play() ではないでしょうか?

サポートしたいブラウザーによっては<embed>、HTML5<audio>タグに置き換えることを検討してください: http://www.storiesinflight.com/html5/audio.html。このページには、動作する js の例もいくつかあります。

于 2013-09-11T11:53:38.260 に答える