0

JavaScriptを使用して、HTML5オーディオでボタンAをクリックするとサウンドA、クリックBをクリックするとサウンドBなどを再生しようとしています。私はコードを使って作業していますが、関数と変数に混乱しています。しかし、playAudio(a)がa.mp3などを再生する関数を使用するのが最善の方法だと思いますが、それを機能させることはできません。

以下の例では、再生中のサウンドを定義する入力IDがありますが、動的にすることはできません。

Javascript

var a = sounds/a.mp3
var b = sounds/b.mp3

function playX() {
    var xAudio = document.getElementById('xxx');
         xAudio.src = $("#audiofile").val();          
    xAudio.play();   
}

HTML:

<input id="audiofile" type="text" value="sounds/a.mp3" /><br />
<input id="audiofileb" type="text" value="sounds/b.mp3" /><br />

<button id="play" onclick="playX();">        A    </button>
<button id="play" onclick="playX();">        B    </button>
<button id="play" onclick="playX();">        C   </button>



<audio id="xxx">  
</audio>
4

3 に答える 3

1
var a = sounds/a.mp3
var b = sounds/b.mp3

function playX(id) {
    var xAudio = document.getElementById('xxx');
         xAudio.src = $("#audiofile"+id).val();          
    xAudio.play();   
}

およびhtml:

<input id="audiofileA" type="text" value="sounds/a.mp3" /><br />
<input id="audiofileB" type="text" value="sounds/b.mp3" /><br />
<input id="audiofileC" type="text" value="sounds/c.mp3" /><br />

<button id="play" onclick="playX('A');">        A    </button>
<button id="play" onclick="playX('B');">        B    </button>
<button id="play" onclick="playX('C');">        C   </button>
于 2013-01-16T15:14:22.010 に答える
0

これを行うにはいくつかの方法があります。

ファイル名をパラメータとして渡します。

<button id="play" onclick="playX('sounds/a.mp3');">A</button>


function playX(file) {
    xAudio.src = file         
    xAudio.play();   
}
于 2013-01-16T15:14:04.320 に答える
0

JQueryを使用する場合は、次のようなことができます。

<button id="play" data-audiotrack="audiofile">        A    </button>
<button id="play" data-audiotrack="audiofileb">        B    </button>
<button id="play" data-audiotrack="audiofilec">        C   </button>

$('#play').click(function() {
    var audioTrack = $(this).data('audiotrack');
    var xAudio = document.getElementById(audioTrack);
    xAudio.src = $("#audiofile").val();          
    xAudio.play();
});
于 2013-01-16T15:15:02.987 に答える