Notification sonore chatbox

2 participants

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu Notification sonore chatbox

Message par x-dude Jeu 27 Aoû 2015 - 15:20

Détails techniques


Version du forum : phpBB2
Poste occupé : Administrateur
Navigateur(s) concerné(s) : Mozilla Firefox, Autre
Personnes concernées par le problème : Tous les utilisateurs
Lien du forum : http://spacepirates.ogameunivers.com/

Description du problème

Bonjour tout le monde,

Je souhaite mettre une notification sonore a chaque message sur ma chat box.
J'ai trouvé ce tuto : ICI
Malheureusement, il ne fonctionne pas sur mon forum.
Faut il apporter des modifications a ce script??


Dernière édition par x-dude le Jeu 27 Aoû 2015 - 17:44, édité 1 fois
avatar

x-dude
Nouveau membre

Messages : 11
Inscrit(e) le : 16/06/2009

http://confrerie-du-griffon.ogameunivers.com
x-dude a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Notification sonore chatbox

Message par Dranyem Jeu 27 Aoû 2015 - 15:35

Salut à toi,

Une question toute bête mais qui peut faire toute la différence, as tu coché Oui à "activer les code javascript" ?
Dranyem

Dranyem
Nouveau membre

Masculin
Messages : 27
Inscrit(e) le : 03/05/2013

http://piratesslippers.forumgratuit.org/
Dranyem a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Notification sonore chatbox

Message par x-dude Jeu 27 Aoû 2015 - 16:07

Oui c'est activé
avatar

x-dude
Nouveau membre

Messages : 11
Inscrit(e) le : 16/06/2009

http://confrerie-du-griffon.ogameunivers.com
x-dude a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Notification sonore chatbox

Message par Dranyem Jeu 27 Aoû 2015 - 16:23

Essaye avec ce code, c'est celui que j'ai pour mon forum et il marche :

Code:
window.localStorage && $(window).load(function() {
  var chatbox_script = function() {
    var sounds = {
      'future': 'http://illiweb.com/fa/fdf/future.mp3',
      'hal': 'http://illiweb.com/fa/fdf/hal.mp3',
      'secret': 'http://illiweb.com/fa/fdf/secret.mp3',
      'zelda': 'http://sd-g1.archive-host.com/membres/up/47e5f0632190bfb9dcbc52357a2e0feca4a5fbb2/Son_chatbox_forumactif.mp3'
    };
    var default_sound = sounds['zelda'];
    var default_freq = 'new';
    var default_when = 'once';
    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);
    };
  };
  var s=document.createElement('script');s.text="("+chatbox_script.toString()+")();";$('object[data^="/chatbox/index.forum"],iframe[src^="/chatbox/index.forum"]').each(function(){try{$(this.contentDocument||this.contentWindow.document).find("#chatbox").closest("html").find("head").first().each(function(){this.appendChild(s.cloneNode(true))})}catch(a){}})
});

Je suis allé voir sur ton forum mais je n'ai pas vue la chatbox, seulement les membres peuvent la voir ? Si elle se trouve sur toutes les pages pense à cocher "sur toutes les pages" au placement.
Dranyem

Dranyem
Nouveau membre

Masculin
Messages : 27
Inscrit(e) le : 03/05/2013

http://piratesslippers.forumgratuit.org/
Dranyem a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Notification sonore chatbox

Message par x-dude Jeu 27 Aoû 2015 - 16:30

Oui il faut etre membre pour y accéder...
J'ai essayer ton script mais ca ne marche pas. Peut etre faut il du temps pour qu'il se mette en place??
avatar

x-dude
Nouveau membre

Messages : 11
Inscrit(e) le : 16/06/2009

http://confrerie-du-griffon.ogameunivers.com
x-dude a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Notification sonore chatbox

Message par Dranyem Jeu 27 Aoû 2015 - 16:38

Non normalement une fois que tu l'as mis ça marche tout de suite =/
Donc c'est pas le Javascript qui doit avoir un problème ça doit venir d'autre part.

Après il faut savoir que la notification sonore tu ne l'entend pas à tes propres messages, ce sont les autres qui l'entendent et il faut qu'ils ne soient pas sur la fenêtre de la chatbox. (vue que c'est pour leur dire "hey ! t'as un message mais tu l'as pas vue!")
Du coup pour vraiment tester si ça marche il faut que quelqu'un d'autre que toi envois un message sur la chatbox, que tu sois connecter mais que tu sois sur une autre fenêtre.
Dranyem

Dranyem
Nouveau membre

Masculin
Messages : 27
Inscrit(e) le : 03/05/2013

http://piratesslippers.forumgratuit.org/
Dranyem a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Notification sonore chatbox

Message par x-dude Jeu 27 Aoû 2015 - 16:39

meme en changeant
var default_freq = 'new';
par
var default_freq = 'all';
avatar

x-dude
Nouveau membre

Messages : 11
Inscrit(e) le : 16/06/2009

http://confrerie-du-griffon.ogameunivers.com
x-dude a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Notification sonore chatbox

Message par Dranyem Jeu 27 Aoû 2015 - 16:42

Ah oui c'est vrai, pour vérifier que ça marche tu peux mettre :

var default_freq = 'all'; (pour que ça le fasse à tes messages)

var default_when = 'always'; (pour que ça le fasse dès qu'un message arrive)

Du coup là on pourra être sur si ça marche ou pas.

Edite : essaye aussi de marquer /sound dans la chatbox et d'envoyer, c'est sensé faire le bruit.
Dranyem

Dranyem
Nouveau membre

Masculin
Messages : 27
Inscrit(e) le : 03/05/2013

http://piratesslippers.forumgratuit.org/
Dranyem a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Notification sonore chatbox

Message par x-dude Jeu 27 Aoû 2015 - 16:45

Et bien maintenant on est sur que ca marche pas :p
IL y a t'il d'autres variables a prendre en compte?(navigateur, version du forum)
Je suis sur mac mais ca ne devrait pas changer les valeurs du code...
avatar

x-dude
Nouveau membre

Messages : 11
Inscrit(e) le : 16/06/2009

http://confrerie-du-griffon.ogameunivers.com
x-dude a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Notification sonore chatbox

Message par Dranyem Jeu 27 Aoû 2015 - 16:48

Bah je comprend pas trop pourquoi ça marche pas x)
Mon forum est de la même version PhpBB2

Le navigateur ouais, le code marche sur Chrome et Mozilla mais pas sur Exploreur il me semble.

(ps : est-ce que tu as vue mon édition du message d'avant ou je te propose de faire /sound aussi ?)
Dranyem

Dranyem
Nouveau membre

Masculin
Messages : 27
Inscrit(e) le : 03/05/2013

http://piratesslippers.forumgratuit.org/
Dranyem a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Notification sonore chatbox

Message par x-dude Jeu 27 Aoû 2015 - 16:54

Pour la commande /sound, elle est prise en compte car elle n'apparait pas dans le chat lorsque je l'envoi. En revanche je n'entend pas le son. Le son de mon ordi est au max Wink
avatar

x-dude
Nouveau membre

Messages : 11
Inscrit(e) le : 16/06/2009

http://confrerie-du-griffon.ogameunivers.com
x-dude a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Notification sonore chatbox

Message par Dranyem Jeu 27 Aoû 2015 - 16:55

Et tu es sur quel navigateur ?
Dranyem

Dranyem
Nouveau membre

Masculin
Messages : 27
Inscrit(e) le : 03/05/2013

http://piratesslippers.forumgratuit.org/
Dranyem a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Notification sonore chatbox

Message par x-dude Jeu 27 Aoû 2015 - 17:00

Sur Firefox version 40.0.2
avatar

x-dude
Nouveau membre

Messages : 11
Inscrit(e) le : 16/06/2009

http://confrerie-du-griffon.ogameunivers.com
x-dude a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Notification sonore chatbox

Message par Dranyem Jeu 27 Aoû 2015 - 17:07

Je viens de tester sur mon firefox ça marche =s
Je crois qu'après c'est au delà de mes compétences et que je vais devoir laisser quelqu'un de plus expérimenté t'aider ><

Et si c'est juste un petit truc tout con auquel on a pas pensé je me suicide x)
(cette phrase n'étant bien sur pas sérieuse)
Dranyem

Dranyem
Nouveau membre

Masculin
Messages : 27
Inscrit(e) le : 03/05/2013

http://piratesslippers.forumgratuit.org/
Dranyem a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Notification sonore chatbox

Message par x-dude Jeu 27 Aoû 2015 - 17:13

Hihi en plus je suis sûr que c'est un petit truc débile. Merci pour ton aide en tout cas.
avatar

x-dude
Nouveau membre

Messages : 11
Inscrit(e) le : 16/06/2009

http://confrerie-du-griffon.ogameunivers.com
x-dude a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Notification sonore chatbox

Message par x-dude Jeu 27 Aoû 2015 - 17:22

J'ai reussi en tapant /sound zelda dans la barre de chat Smile
avatar

x-dude
Nouveau membre

Messages : 11
Inscrit(e) le : 16/06/2009

http://confrerie-du-griffon.ogameunivers.com
x-dude a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum