remove js-based player, better mp3 support detection for html5 audio
This commit is contained in:
parent
82d77f24a5
commit
40fe2d7382
|
@ -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();
|
||||
|
||||
|
|
|
@ -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\"
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue