Plugin Directory

Changeset 2477712


Ignore:
Timestamp:
02/19/2021 12:13:28 PM (5 years ago)
Author:
svnlabs
Message:

fixed for polling

Location:
serverless-radio/trunk
Files:
1 deleted
5 edited

Legend:

Unmodified
Added
Removed
  • serverless-radio/trunk/player/events.php

    r2441214 r2477712  
    33include("config.php");
    44
    5 header("Content-Type: text/event-stream");
     5//header("Content-Type: text/event-stream");
     6
     7header('Content-type: application/json; charset=utf-8');
    68header("Cache-Control: no-cache");
    79header("Access-Control-Allow-Origin: *");
     
    1012
    1113
    12 $lastEventId = floatval(isset($_SERVER["HTTP_LAST_EVENT_ID"]) ? $_SERVER["HTTP_LAST_EVENT_ID"] : 0);
     14/*$lastEventId = floatval(isset($_SERVER["HTTP_LAST_EVENT_ID"]) ? $_SERVER["HTTP_LAST_EVENT_ID"] : 0);
    1315if ($lastEventId == 0) {
    1416$lastEventId = floatval(isset($_GET["lastEventId"]) ? $_GET["lastEventId"] : 0);
     
    1921
    2022// event-stream
    21 $i = $lastEventId;
     23$i = $lastEventId;*/
    2224
    2325function sendMsg($startedAt, $slrtick) {
     
    3335
    3436
    35 echo "id: $id" . PHP_EOL;
     37/*echo "id: $id" . PHP_EOL;
    3638echo "data: {\n";
    3739echo "data: \"song\": \"$mp3\", \n";
     
    4446echo PHP_EOL;
    4547ob_flush();
    46 flush();
     48flush();*/
     49
     50$echo = array("id" => $id, "song" => $mp3, "tick" => $tick, "next" => $next, "prev1" => $prev1, "prev2" => $prev2, "live" => false);
     51
     52echo json_encode($echo);
     53
    4754
    4855}
    4956
    5057
    51 $sleepcount=0;
    52 
    53 do {
    54 // Cap connections at 10 seconds. The browser will reopen the connection on close
    55 /*if ((time() - $startedAt) > 10) {
    56 die();
    57 }*/
    5858
    5959sendMsg($startedAt, $slrtick);
    60 sleep($sleep);
    61 
    62 $sleepcount++;
    63 
    64 // connect current MP3 fast as possible in start
    65 if($sleepcount>10)
    66   $sleep = 5;   
    67 
    68 // If we didn't use a while loop, the browser would essentially do polling
    69 // every ~3seconds. Using the while, we keep the connection open and only make
    70 // one request.
    71 } while(true);
    7260
    7361
  • serverless-radio/trunk/player/js/player.html5.js

    r2441214 r2477712  
    148148      //alert(qs['file']);
    149149
    150       var es = new EventSource(siteurl+"?slrtick="+qs['slr']);
    151       var listener = function (event) {
    152         var div = document.createElement("div");
    153         var type = event.type;   
    154        
    155         if(type=="message")
    156         {
    157         div.appendChild(document.createTextNode(type + ": " + (type === "message" ? event.data : es.url)));
    158         //document.body.appendChild(div);
     150
     151
     152      var poll = function() {
     153          $.ajax({
     154            url: siteurl+"?slrtick="+qs['slr'],
     155            dataType: 'json',
     156            type: 'get',
     157            success: function(data) { // check if available
     158             
     159              console.log(data.live);
     160
     161
     162     
    159163       
    160164        //document.body.innerHTML = (div);
    161165       
    162         var data = JSON.parse(event.data);
     166        /////////================================================
     167
    163168       
    164169        //console.log(data);
     
    285290       
    286291       
    287         /*if(!isPlayingMob(player))
    288         {
    289        
    290         player.currentTime = data.tick;
    291        
    292         }*/
    293        
    294         ///player.currentTime = data.tick;
    295        
    296        
    297         /*var s = parseInt(player.currentTime % 60);
    298         var m = parseInt((player.currentTime / 60) % 60);
    299         var ss = parseInt(player.duration % 60);
    300         var mm = parseInt((player.duration / 60) % 60);*/
    301        
    302        
    303         /*if(!isNaN(s))
    304         document.getElementById('current-time').innerHTML = pad2(m) + ':' + pad2(s);
    305        
    306         if(!isNaN(ss))
    307         document.getElementById('total-time').innerHTML = pad2(mm) + ':' + pad2(ss);*/
    308        
    309        
    310 
    311        
    312         //$(".progress-bar-danger").css("width", parseInt((player.currentTime/player.duration)*100, 10) + "%");
    313        
    314        
    315         }
    316        
    317         if(type=="open")
    318         {
    319          console.log('> Connection was opened');
    320         }
    321        
    322         if(type=="error")
    323         {
    324           if (event.eventPhase == 2) { //EventSource.CLOSED
    325             console.log('> Connection was closed');
    326           }
    327         }
    328        
    329        
    330        
    331       };
    332       es.addEventListener("open", listener);
    333       es.addEventListener("message", listener);
    334       es.addEventListener("error", listener);
     292         ////////////=======================================================
     293
     294
     295              if ( data.live ) { // get and check data value
     296               
     297                clearInterval(pollInterval); // optional: stop poll function
     298
     299              }
     300            },
     301            error: function() { // error logging
     302              console.log('Error!');
     303            }
     304          });
     305        },
     306        pollInterval = setInterval(function() { // run function every 2000 ms
     307          poll();
     308          }, 5000);
     309       
     310        poll(); // also run function on init
     311       
     312 
     313       
     314       
     315   
    335316     
    336317     
  • serverless-radio/trunk/player/player.php

    r2442756 r2477712  
    1515wp_enqueue_style( 'slr_plugin_style1' );
    1616
    17 wp_register_script( 'slr_plugin_script', plugins_url('/js/eventsource.js', __FILE__), array('jquery'));
    18 wp_enqueue_script( 'slr_plugin_script' );
     17wp_enqueue_script( 'jquery' );
    1918
    2019wp_register_script( 'slr_plugin_script2', plugins_url('/js/BreakingNews.js', __FILE__));
  • serverless-radio/trunk/readme.txt

    r2472951 r2477712  
    66Tested up to: 5.6.1
    77Requires PHP: 5.6
    8 Stable tag: 0.7.2
     8Stable tag: 0.7.3
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    8080== Changelog ==
    8181
     82= 0.7.3 =
     83* Fixed Linear Stream using Ajax Polling
     84* EventSource JavaScript Removed
     85* Added "Scan Folder" error message if failed to load mp3 files
     86* jquery added if not loading from wordpress
     87
     88
     89= 0.7.2 =
     90* Fixed MP3 Song Duration
    8291
    8392= 0.7.1 =
  • serverless-radio/trunk/serverless-radio.php

    r2472949 r2477712  
    1010Plugin URI: https://www.serverlessradio.com/
    1111Description: Serverless Radio, MP3 Linear Playback, Radio Player, MP3 podcast Player, Audio Player, HTML5, Radiosolution, AutoDJ
    12 Version: 0.7.2
     12Version: 0.7.3
    1313Author: Sandeep Verma
    1414Author URI: https://www.svnlabs.com/
     
    108108
    109109
     110            },
     111            error: function() { // error logging
     112              console.log('Error!');
     113              alert("Error Reading MP3 Folder Link, Please make sure your MP3 Folder Link is public!!");
    110114            }
     115
     116
    111117        });
    112118
     
    125131    $folderfeedlink = sanitize_text_field($_REQUEST['sourceurl']);
    126132
     133    if(substr($folderfeedlink, -1)!="/")
     134      $folderfeedlink = $folderfeedlink."/";
     135
     136
    127137    $ff = slr_read_folder($folderfeedlink, "mp3");
    128138
     
    142152    }
    143153
    144 
    145     echo json_encode($array);
     154    if($mm == 0)
     155     echo json_encode(array("error" => "Error Reading MP3 Folder Link"));
     156    else
     157     echo json_encode($array);
    146158
    147159
Note: See TracChangeset for help on using the changeset viewer.