Alterar o som de notificação do chat box

3 participantes

Ver o tópico anterior Ver o tópico seguinte Ir para baixo

Tópico resolvido Alterar o som de notificação do chat box

Mensagem por legit-nyck 15.01.23 5:50

Detalhes da questão


Endereço do fórum: https://seudiario.forumeiros.com
Versão do fórum: phpBB2

Descrição


ola a todos por gentileza poderiam inserir o som de campainha ding-dong classico no código a seguir
Código:
window.localStorage && $(window).load(function() {
    var sounds = {
      'future': 'https://illiweb.com/fa/fdf/future.mp3',
      'hal': 'https://illiweb.com/fa/fdf/hal.mp3',
      'secret': 'https://illiweb.com/fa/fdf/secret.mp3',
      };
    var default_sound = sounds['future'];
    var default_freq = 'all';
    var default_when = 'always';
    var default_volume = 100;
 
 
    if(localStorage.cb_sound && !localStorage.cb_sound.indexOf('https://dl.dropboxusercontent.com/u/181621985/')) localStorage.removeItem('cb_sound');
    var a = document.createElement('audio');
    if(!a.canPlayType) return;
    a.volume = Math.min(1, Math.max(0, localStorage.cb_volume||(default_volume/100)));
 
    var origin_send = Chatbox.prototype.send;
    Chatbox.prototype.send = function(params) {
      var m = $.trim($("#message").val());
      if(m.indexOf('/sound')&&m.indexOf('/soudn'))
        return origin_send.call(this, params);
      m = $.trim(m.substr(6)).split(/\s+/,3);
      var bad_apple = false;
      switch(m[0].toLowerCase()) {
        case "":
          if(!a.src) {
            a.src = localStorage.cb_sound||default_sound;
            a.load();
        }
          a.play();
          break;
        case "all":
        case "new":
          localStorage.cb_freq = m[0]; break;
        case "always":
        case "off":
        case "on":
        case "once":
        case "never":
          localStorage.cb_when = m[0]; break;
        case "stop":
          if(!a.paused) a.pause();
          if(!a.ended && a.readyState > 0) a.currentTime = 0;
          break;
        case "pause":
          if(!a.paused) a.pause();
          break;
        case "volume":
          if(m.length>1) {
            localStorage.cb_volume = Math.min(1, Math.max(0, parseFloat(m[1].replace(',','.'))/100));
            a.volume = localStorage.cb_volume;
            break
          }
        default:
          bad_apple = true;
      };
      if(bad_apple) {
        if(m[0] in sounds) {
          m[0]= sounds[m[0]];
        }
        if(m[0]=="default") {
          m[0]=default_sound;
          localStorage.removeItem('cb_sound');
          localStorage.removeItem('cb_freq');
          localStorage.removeItem('cb_volume');
          localStorage.removeItem('cb_when');
          a.volume = Math.min(1, Math.max(0, default_volume/100));
        }
        if(/^https?:\/\/.+/.test(m[0])) {
          localStorage.cb_sound = m[0];
          a.pause();
          a.src = m[0];
          a.load();
          a.play();
        } else {
          var message = $('#message').val();
          alert('/sound [all | new]\n/sound [always | off | on | once | never]\n/sound [stop | pause]\n/sound default\n/sound volume 0-100\n/sound ['+$.map(sounds,function(_,k){return k}).join(' | ')+']\n/sound [http://* | https://*]');
          setTimeout(function(){ $("#message").val(message).select().focus(); }, 100);
          return;
        }
      }
      return $("#message").val('').focus();
    };
 
    $(window).on("focus", function(){ localStorage.removeItem('cb_once'); localStorage.removeItem('cb_blurred') }).on("blur", function(){ localStorage.cb_blurred=1; });
 
    var play_sound = function(){
      if(a.paused || a.ended) {
        if(a.readyState > 0) a.currentTime=0;
        if(!a.src) {
          a.src = localStorage.cb_sound||default_sound;
          a.load()
        }
        a.play()
      }
    };
    var overrided = Chatbox.prototype.refresh;
    Chatbox.prototype.refresh = function(data) {
      if (data.messages && data.messages.length) {
        var lm = data.messages.slice(-1)[0];
        var last_message = lm.time+','+lm.action+','+lm.msg;
        if(this.last_message_sound != last_message) {
          var user = $.grep(data.users, function(v){return v.id==chatbox.userId});
          user = user.length ? user[0] : [{}];
          if(this.last_message_sound!==undefined) {
            var freq = (localStorage.cb_freq||default_freq);
            var when = (localStorage.cb_when||default_when);
            if(when != "never" && (when != "off" || localStorage.cb_blurred) && (when != "on" || !localStorage.cb_blurred) && (when != "once" || (localStorage.cb_blurred && !localStorage.cb_once))) {
              if(freq =="all" || (lm.userId!=chatbox.userId && user.username!=lm.username)) {
                if(when!="once" || !localStorage.cb_once) {
                  play_sound();
                  localStorage.cb_once = 1;
                }
              }
            }
          }
          this.last_message_sound = lm;
        }
      }
      overrided.call(this, data);
    };
});
abaixo o link do som que eu gostaria de por no meu chatbox
https://toque123.com/campainha-ding-dong/
desde já muito obrigado
legit-nyck

legit-nyck
****

Membro desde : 26/12/2013
Mensagens : 360
Pontos : 636

http://legitserverforum.forumeiros.com/

Ir para o topo Ir para baixo

Principal Contribuidor
  • 0

Tópico resolvido Re: Alterar o som de notificação do chat box

Mensagem por Shek 17.01.23 17:08

Boa tarde.

É bom ensinar como incluir novos sons... Então, vou explicar como fazê-lo. Tecnicamente você tem uma variável de nome sounds do tipo array que contém os links dos áudios. Quando conseguir um áudio desejado, então você poderá incluir (exemplo do que citou). Esse array contém o nome do som e o valor dele. Para incluir, basta duplicar a primeira linha (por exemplo) e substituir os valores:
Código:
'future': 'https://illiweb.com/fa/fdf/future.mp3',
Logo, future poderá ser DingDong e a URL illiweb.com/fa/fdf/future.mp3 será substituído pelo URL do novo som. Então, ficará assim:
Código:
'DingDong':'https://toque123.com/wp-content/uploads/2020/10/Campainha-Ding-Dong.mp3',

O que define qual é o som padrão do chat então? A variável default_sound define qual é o som padrão. Então, basta trocar o nome que está entre as aspas dessa variável pelo nome do som que incluímos no array. Ou seja, o DingDong e pronto. Feliz A variável ficará:
Código:
var default_sound = sounds['DingDong'];
Resumindo... Tudo ficará bonitinho dessa forma:
Código:
    var sounds = {
      'future': 'https://illiweb.com/fa/fdf/future.mp3',
      'hal': 'https://illiweb.com/fa/fdf/hal.mp3',
      'secret': 'https://illiweb.com/fa/fdf/secret.mp3',
      'DingDong':'https://toque123.com/wp-content/uploads/2020/10/Campainha-Ding-Dong.mp3'
      };
    var default_sound = sounds['DingDong'];
    var default_freq = 'all';
    var default_when = 'always';
    var default_volume = 100;

Atenciosamente,
Shek King
Shek

Shek
Principal Contribuidor
Principal Contribuidor

Membro desde : 11/04/2009
Mensagens : 18896
Pontos : 22793

https://shiftactive.blogspot.com/ https://www.facebook.com/ShiftActif https://twitter.com/ShiftActif

Ir para o topo Ir para baixo

  • 0

Tópico resolvido Re: Alterar o som de notificação do chat box

Mensagem por legit-nyck 17.01.23 22:09

Obrigado vou guardar esse tutorial caso um dia eu queira modificar o som do chat novamente obrigado Shek pode fechar o tópico 😃👏👏👏
legit-nyck

legit-nyck
****

Membro desde : 26/12/2013
Mensagens : 360
Pontos : 636

http://legitserverforum.forumeiros.com/

Ir para o topo Ir para baixo

Admineiro
  • 0

Tópico resolvido Re: Alterar o som de notificação do chat box

Mensagem por tikky 18.01.23 2:20

Tópico resolvido


Movido para "Questões resolvidas".
tikky

tikky
Admineiro
Admineiro

Membro desde : 13/01/2017
Mensagens : 7821
Pontos : 9063

Ir para o topo Ir para baixo

Ver o tópico anterior Ver o tópico seguinte Ir para o topo


Permissões neste sub-fórum
Não podes responder a tópicos