diff options
-rw-r--r-- | classes/rpc.php | 1 | ||||
-rw-r--r-- | include/functions.php | 11 | ||||
-rw-r--r-- | js/tt-rss.js | 6 | ||||
-rw-r--r-- | js/viewfeed.js | 28 |
4 files changed, 8 insertions, 38 deletions
diff --git a/classes/rpc.php b/classes/rpc.php index 1569a9a35..b6d552868 100644 --- a/classes/rpc.php +++ b/classes/rpc.php @@ -334,6 +334,7 @@ class RPC extends Handler_Protected { function sanityCheck() { $_SESSION["hasAudio"] = $_REQUEST["hasAudio"] === "true"; $_SESSION["hasSandbox"] = $_REQUEST["hasSandbox"] === "true"; + $_SESSION["hasMp3"] = $_REQUEST["hasMp3"] === "true"; $reply = array(); diff --git a/include/functions.php b/include/functions.php index 018520648..87eb3d6a9 100644 --- a/include/functions.php +++ b/include/functions.php @@ -2990,19 +2990,12 @@ if (strpos($ctype, "audio/") === 0) { if ($_SESSION["hasAudio"] && (strpos($ctype, "ogg") !== false || - strpos($_SERVER['HTTP_USER_AGENT'], "Chrome") !== false || - strpos($_SERVER['HTTP_USER_AGENT'], "Safari") !== false )) { + $_SESSION["hasMp3"])) { - $id = 'AUDIO-' . uniqid(); - - $entry .= "<audio id=\"$id\"\" controls style='display : none'> + $entry .= "<audio controls> <source type=\"$ctype\" src=\"$url\"></source> </audio>"; - $entry .= "<span onclick=\"player(this)\" - title=\"".__("Click to play")."\" status=\"0\" - class=\"player\" audio-id=\"$id\">".__("Play")."</span>"; - } else { $entry .= "<object type=\"application/x-shockwave-flash\" diff --git a/js/tt-rss.js b/js/tt-rss.js index a572e5324..fe12297d4 100644 --- a/js/tt-rss.js +++ b/js/tt-rss.js @@ -248,11 +248,15 @@ function init() { loading_set_progress(20); - var hasAudio = !!((myAudioTag = document.createElement('audio')).canPlayType); + var a = document.createElement('audio'); + + var hasAudio = !!a.canPlayType; var hasSandbox = "sandbox" in document.createElement("iframe"); + var hasMp3 = !!(a.canPlayType && a.canPlayType('audio/mpeg;').replace(/no/, '')); new Ajax.Request("backend.php", { parameters: {op: "rpc", method: "sanityCheck", hasAudio: hasAudio, + hasMp3: hasMp3, hasSandbox: hasSandbox}, onComplete: function(transport) { backend_sanity_check_callback(transport); diff --git a/js/viewfeed.js b/js/viewfeed.js index 519ab3449..ddee1e461 100644 --- a/js/viewfeed.js +++ b/js/viewfeed.js @@ -2027,34 +2027,6 @@ function initHeadlinesMenu() { } } - -function player(elem) { - var aid = elem.getAttribute("audio-id"); - var status = elem.getAttribute("status"); - - var audio = $(aid); - - if (audio) { - if (status == 0) { - audio.play(); - status = 1; - elem.innerHTML = __("Playing..."); - elem.title = __("Click to pause"); - elem.addClassName("playing"); - } else { - audio.pause(); - status = 0; - elem.innerHTML = __("Play"); - elem.title = __("Click to play"); - elem.removeClassName("playing"); - } - - elem.setAttribute("status", status); - } else { - alert("Your browser doesn't seem to support HTML5 audio."); - } -} - function cache_set(id, obj) { //console.log("cache_set: " + id); if (has_storage) |