2017-05-24 17 views
0

私は1つのライブチャットアプリケーションを開発しています。顧客がオペレータとチャットできるチャットウィンドウが1つあります。そこで私は、今後の予定されているメッセージごとに通知音を実装しました。新しいメッセージ通知音を鳴らす方法チャットボタンをミュートする

私の問題は音がきちんと来ているのですが、顧客がこのボタンをクリックしてこのサウンドを再生するまで、このサウンドをミュートする方法はありません。以下は

のjQueryの私の方法です:

var audio = new Audio('sound/y.mp3'); 
 
$('#' + ctrId).find('#divMessage').append(
 
    '<div class="msg_wrap">' + 
 
    '<div class="avatar1"></div>' + 
 
    '<div class="direct-chat-text"><span class="userName">:' + 
 
    msg[i].userName + '</span> ' + '<span>' + msg[i].message + 
 
    '</span>' + '</div>' + '</div>' + 
 
    '<span style="margin-right: 30px;float:right;font-size: 11px;color: #8c8585;">' + 
 
    msg[i].chatTime + '</span>' 
 
).append(audio.play());

+0

このフィドルを参照してくださいhttp://jsbin.com/higor/1/edit?html,output – User6667769

答えて

0

だけであれば、ブロック内のコードを置きます。 idが "isMuted"のチェックボックスがあるとします:

if($("#isMuted").is(':checked')) 
{ 
// do not play sound, maybe do something else, like flash the chat 
}   
else 
{ 
// if not checked, play sound as you already do 
var audio = new Audio('sound/y.mp3'); 
    $('#' + ctrId).find('#divMessage').append('<div class="msg_wrap">' + '<div class="avatar1"></div>' + '<div class="direct-chat-text"><span class="userName">:' + msg[i].userName + '</span> ' + '<span>' + msg[i].message + '</span>' + '</div>' + '</div>' + '<span style="margin-right: 30px;float:right;font-size: 11px;color: #8c8585;">' + msg[i].chatTime + '</span>').append(audio.play()); 
} 
関連する問題