2017-11-09 5 views
0

2つのオーディオファイルを同時に開始し、もう一方をミュートすることで2つのオーディオファイルを切り替えるトグルボタンがあります。2つ同時に再生するときにミュートされたオーディオファイルの1つを開始

すべては私が意図した通りですが、私が再生を押すと、audio2がミュートを開始します。今、あなたは同時にそれらの両方を聞くことができます。

https://jsfiddle.net/9z1dfm4p/

誰もがこれで私を助けることができるしてください? ありがとう!

HTML

<audio id="audio1"> 
<source src="http://jplayer.org/audio/mp3/Miaow-07-Bubble.mp3" type="audio/mpeg" /> 
</audio><br /> 
<audio id="audio2"> 
<source src="https://allthingsaudio.wikispaces.com/file/view/Shuffle%20for%20K.M.mp3/139190697/Shuffle%20for%20K.M.mp3" type="audio/mpeg"/> 
</audio><br /> 
<button onclick="play();" id="button1">Play</button><br /> 
<button onclick="mute();" id="button2">Toggle</button><br /> 

JS

var audio1 = document.getElementById('audio1'); 
var audio2 = document.getElementById('audio2'); 
var button1 = document.getElementById('button1'); 
var isPlaying = false; 
var muteToggle = true; 
var play = function() { 
if(!isPlaying){ 
    button1.innerHTML = 'Pause'; 
    audio1.play(); // this stream will immediately stop when the next line is run on iOS 
    audio2.play(); // this will stop audio1 on iOS 
    isPlaying = true; 
} else { 
    button1.innerHTML = 'Play'; 
    audio1.pause(); // this stream will immediately stop when the next line is run on iOS 
    audio2.pause(); // this will stop audio1 on iOS 
    isPlaying = false; 
} 
} 



var mute = function(){ 
if(muteToggle){ 
    muteToggle = false; 
audio1.muted = true; 
audio2.muted = false; 
} else { 
    muteToggle = true; 
audio2.muted = true; 
audio1.muted = false; 
} 
} 

答えて

0

あなたは最初からミュートされる第2 <audio>を設定することができます。

<audio id="audio2" muted="true"> 

https://jsfiddle.net/9z1dfm4p/2/

EDIT:クリーンアップコードと再生されているどんな曲のより良い表示。

https://jsfiddle.net/9z1dfm4p/7/

+0

おかげで非常に多くの – Burak

+0

私はまた、リスナーは、彼らが聞いている曲私はこれを行うことができますどのように任意のアイデアを知っているようにテキストを追加しようとしていますか? – Burak

+0

ステータスdivでそれを処理するjsfiddleの新しいバージョン(上記)をご覧ください。 – jmaz

関連する問題