summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/rpc.php1
-rw-r--r--include/functions.php11
-rw-r--r--js/tt-rss.js6
-rw-r--r--js/viewfeed.js28
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)