Javascript: Pausa SetIntervall.

Trädvy Permalänk
Medlem
Plats
Örebro
Registrerad
Jul 2015

Javascript: Pausa SetIntervall.

Jag håller på och skriver lite på en MySQL/PHP-baserad mediaspalare för Raspberry Pi.
Tanken är att hålla ordning på alla videos vi filmat under några hundra event och kunna spela upp dem på ett enkelt sätt.
Dessutom lade jag till möjligheten att läsa in alla MP3-filer som vi hade också.

Nå nu till problemet, alla script fungerar som de ska, dessvärre betyder inte det att det fungerar som jag vill.
Stor del av funktionen för spellistorna bygger på SetIntervall i en loop .

<?PHP for ($x = 1; $x <= $num_rows-2; $x++) { $i=$x+1; ?> <script> <?PHP $pl_time = $pl_time+$seks_milli[$x];?> var myVar<?php echo $i; ?> = setInterval(function(){ myTimer<?php echo $i; ?>() }, <?PHP echo $pl_time; ?>); function myTimer<?php echo $i; ?>() { document.getElementById('demo').innerHTML = '<B><?php echo $artist2[$i]; ?> - <?PHP echo $titel2[$i]; ?> &nbsp; <?PHP echo $langden2[$i]; ?></B><BR><font color=#565656><?php echo $artist2[$i+1]; ?> - <?PHP echo $titel2[$i+1]; ?><BR><?php echo $artist2[$i+2]; ?> - <?php echo $titel2[$i+2]; ?><BR><?php echo $artist2[$i+3]; ?> - <?php echo $titel2[$i+3]; ?></FONT>'; parent.frames['player'].location.href = 'plist.php?play=<?PHP echo $sokvag2[$i]; ?>'; clearInterval(myVar<?php echo $i; ?>); } </script> <?PHP } } else { exit; } ?>

Jag skulle vilja kunna pausa/starta intervallet när jag pausar/startar omxplayer.
Som det fungerar idag styr jag omxplayern via en FIFO, det fungerar, men går det pausa/starta SetIntervall som ligger i en loop?

Vad jag vill åstadkomma med projektet, och allt som syns fungerar, skrev jag ihop lite om på:
http://knytpunkt.com/mediapi/index.php

Hela källkoden ligger nerzippad på:
http://knytpunkt.com/mediapi/MediaPHPI.zip (~1.4Mb)

//Johan

Asus C6H | R7-1700X | 4x8GB G-Skill Ripjaws V 3600@3466 CL14 | Asus Radeon RX 580 8GB Strix Gaming OC | Asus Strix Raid DLX | Corsair Obsidian 750D AE | https://valid.x86.fr/yckrqb

Trädvy Permalänk
Medlem
Registrerad
Okt 2002

"Stor del av funktionen för spellistorna bygger på SetIntervall i en loop ."
Inte för att va sån, men känns som att du tänkt fel från början här

Trädvy Permalänk
Medlem
Plats
Örebro
Registrerad
Jul 2015

@Yxskaftet: Joo fortsätt å va sån
Speciellt frugan brukar ju hävda att jag ofta har lite otur när jag tänker så då känner jag mig ju som hemma här

Kan väl erkänna att det är första gången på ett drygt decennium jag använt mig av Javascript, min första tanke var att använda fopen för att skapa en pls-spellista, dessvärre vill inte omxplayer inte läsa den alla gånger, vissa gånger fungerar alla låtar andra bara några och gången efter andra låtar och då talar jag om en och samma pls-fil och resultatet blir detsamma oavsett om jag startat spelaren via shellexec eller direkt i terminalen på Pin.

Då började jag bråka med Javascript och stötte på problemet med att pausa.

Asus C6H | R7-1700X | 4x8GB G-Skill Ripjaws V 3600@3466 CL14 | Asus Radeon RX 580 8GB Strix Gaming OC | Asus Strix Raid DLX | Corsair Obsidian 750D AE | https://valid.x86.fr/yckrqb

Trädvy Permalänk
Medlem
Plats
Linköping
Registrerad
Feb 2012

Du kan om inte annat pausa exekveringen av innehållet i functionen inne i setInterval().

function togglePause() { // Toggle pause paused = !paused; } setInterval(function() { if (!paused) { // Do your things } }, 1000);

AMD Phenom II X6 1055T 2.8GHz | Asus Geforce GTX 660 2GB | Kingston ValueR DDR3 1333MHz 8GB | WD Caviar® Blue? 1TB 3,5", SATA 6 Gb/s | MSI 870A-G54, Socket-AM3