From 88fe79c7c0ebfc716ffd1110d4ae1fd4f0bbc698 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 11 Jan 2013 16:04:26 +0100 Subject: [PATCH] Fixed bug in chrome: can not play the sound multiple times bzr revid: nicolas.vanhoren@openerp.com-20130111150426-4uk858n12lf2a3gm --- addons/web_im/static/src/js/im.js | 14 ++++++++++---- addons/web_im/static/src/xml/im.xml | 6 ------ 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/addons/web_im/static/src/js/im.js b/addons/web_im/static/src/js/im.js index c8bf0c21ff8..718fd8aaeac 100644 --- a/addons/web_im/static/src/js/im.js +++ b/addons/web_im/static/src/js/im.js @@ -271,8 +271,14 @@ openerp.web_im = function(instance) { this.window_focus_change(); this.on("change:waiting_messages", this, this.messages_change); this.messages_change(); - this.$ting = $(QWeb.render("Conversation.ting")); - this.$ting.appendTo($("body")); + this.create_ting(); + }, + create_ting: function() { + if (new Audio().canPlayType("audio/ogg; codecs=vorbis")) { + this.ting = new Audio(instance.webclient.session.origin + "/web_im/static/src/audio/Ting.ogg"); + } else { + this.ting = new Audio(instance.webclient.session.origin + "/web_im/static/src/audio/Ting.mp3"); + } }, window_focus_change: function() { if (this.get("window_focus")) { @@ -307,7 +313,8 @@ openerp.web_im = function(instance) { received_message: function(message, user) { if (! this.get("window_focus")) { this.set("waiting_messages", this.get("waiting_messages") + 1); - this.$ting[0].play(); + this.ting.play(); + this.create_ting(); } var conv = this.activate_user(user); conv.received_message(message); @@ -320,7 +327,6 @@ openerp.web_im = function(instance) { }, this); }, destroy: function() { - this.$ting.remove(); $(window).unbind("blur", this.blur_hdl); $(window).unbind("focus", this.focus_hdl); this._super(); diff --git a/addons/web_im/static/src/xml/im.xml b/addons/web_im/static/src/xml/im.xml index 2031d514365..33aaf6f18ed 100644 --- a/addons/web_im/static/src/xml/im.xml +++ b/addons/web_im/static/src/xml/im.xml @@ -59,10 +59,4 @@
- - - \ No newline at end of file