0

私がやろうとしているのは、ページの読み込み時に、ユーザーがページの読み込み時にアラートボックスで定義した x 秒間、highpitchsound.wav (または .mp3) を再生するようにすることです。

アラートボックスには、テキストボックスと「確認」ボタンがあります。デフォルトのテキストは、5 秒の場合は 5、5000 ミリ秒の場合は 5000 です。

以前にjqueryで間隔を使用したり、html5でオーディオを数回いじったりしましたが、この2つを組み合わせる方法がわかりません。また、カスタムアラートボックスをオンロードする方法もわかりません。

<html>
<head>
<title>Audio Play Interval</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {

});
</script>
</head>
<body>
    <audio autoplay="true">
        <source src="sounds/highpitchsound.mp3" type="audio/mpeg" />
        <source src="sounds/highpitchsound.wav" type="audio/wav" />
        <source src="sounds/highpitchsound.ogg" type="audio/ogg" />
        Your browser does not support the audio element.
    </audio>
</body>
</html>
4

1 に答える 1

5

理解

これは、 audio 要素を具体的にオブジェクトとして参照することで実現できます。jquery はまだ拡張されていないHTMLAudioElementため、audio 要素の jquery オブジェクト内の最初のレコードを明確に参照する必要があります。

.play()その後、 、.pause()などの関数を簡単に参照できます.load()

これは次のように簡単に実行できます。

setInterval(function() { $('audio')[0].play(); },1000);

これを分解する

  • ミリ秒ごとsetInterval(a(),b)に関数を実行するために使用しますa()b

  • dom で audio html オブジェクトを参照し、その中$('audio')のオブジェクトを選択しHTMLAudioElementて操作します ( $('audio')[0])

  • 次に、その中の任意の関数を簡単に使用できます(つまり.play()

解決

今、あなたが望むものを達成するために、これを行うことができます、

Javascript:

startplaying(parseInt(prompt('in milliseconds, set an interval!')));

function startplaying(time) {
    var run = setInterval(function() { $('audio')[0].play(); }, time);
}

これは最初にユーザーに時間を入力するように促し、次にユーザーが設定した時間で関数を実行します。

于 2012-08-15T01:40:17.883 に答える