一个简单的php定时器

一个简单的php定时器,php,timer,mp3,Php,Timer,Mp3,我目前有一个允许音频上传的网站,你可以根据这些上传制作播放列表。上传时,我使用getID3()获取持续时间并将其保存在数据库中 目前我有文件自动播放,然而,在数据库中持续时间的目的是制作一个计时器,将采取该数字,并随着歌曲播放倒计时。当它达到数据库中的数字“duration”时,我希望它加载一首新歌,用于流媒体播放。最好的办法是什么 要了解更多信息,如果他们将滑块移动到歌曲的中间位置,是否有办法获取当前时间,以便计时器能够跟上?或者,有没有更好的方法不用定时器就能做到这一点?您可以使用timer

我目前有一个允许音频上传的网站,你可以根据这些上传制作播放列表。上传时,我使用getID3()获取持续时间并将其保存在数据库中

目前我有文件自动播放,然而,在数据库中持续时间的目的是制作一个计时器,将采取该数字,并随着歌曲播放倒计时。当它达到数据库中的数字“duration”时,我希望它加载一首新歌,用于流媒体播放。最好的办法是什么


要了解更多信息,如果他们将滑块移动到歌曲的中间位置,是否有办法获取当前时间,以便计时器能够跟上?或者,有没有更好的方法不用定时器就能做到这一点?

您可以使用timer类

<?php

class Timer {

   var $classname = "Timer";
   var $start     = 0;
   var $stop      = 0;
   var $elapsed   = 0;

   # Constructor
   function Timer( $start = true ) {
      if ( $start )
         $this->start();
   }

   # Start counting time
   function start() {
      $this->start = $this->_gettime();
   }

   # Stop counting time
   function stop() {
      $this->stop    = $this->_gettime();
      $this->elapsed = $this->_compute();
   }

   # Get Elapsed Time
   function elapsed() {
      if ( !$elapsed )
         $this->stop();

      return $this->elapsed;
   }

   # Resets Timer so it can be used again
   function reset() {
      $this->start   = 0;
      $this->stop    = 0;
      $this->elapsed = 0;
   }

   #### PRIVATE METHODS ####

   # Get Current Time
   function _gettime() {
      $mtime = microtime();
      $mtime = explode( " ", $mtime );
      return $mtime[1] + $mtime[0];
   }

   # Compute elapsed time
   function _compute() {
      return $this->stop - $this->start;
   }
}

?>


或者您可以检查文档中的timer类

您可以使用timer类

<?php

class Timer {

   var $classname = "Timer";
   var $start     = 0;
   var $stop      = 0;
   var $elapsed   = 0;

   # Constructor
   function Timer( $start = true ) {
      if ( $start )
         $this->start();
   }

   # Start counting time
   function start() {
      $this->start = $this->_gettime();
   }

   # Stop counting time
   function stop() {
      $this->stop    = $this->_gettime();
      $this->elapsed = $this->_compute();
   }

   # Get Elapsed Time
   function elapsed() {
      if ( !$elapsed )
         $this->stop();

      return $this->elapsed;
   }

   # Resets Timer so it can be used again
   function reset() {
      $this->start   = 0;
      $this->stop    = 0;
      $this->elapsed = 0;
   }

   #### PRIVATE METHODS ####

   # Get Current Time
   function _gettime() {
      $mtime = microtime();
      $mtime = explode( " ", $mtime );
      return $mtime[1] + $mtime[0];
   }

   # Compute elapsed time
   function _compute() {
      return $this->stop - $this->start;
   }
}

?>


或者,您可以使用HTML5音频标记检查timer类的文档,您可以让JavaScript确定一首歌曲的持续时间,并用几行代码播放下一首歌曲

在本例中,我使用了一个
tracks
变量,您可以使用php的
json\u encode()
轻松构建该变量

var播放器;
var播放列表;
var轨迹;
无功电流;
$(函数(){
电流=-1;
播放器=$(“#音频”)[0];
播放列表=$(“#播放列表”);
轨道=[{
标题:“京都:八公(忠实的狗)”,
src:“https://freemusicarchive.org/music/download/34342f0461bd14291ab21bae5f1bfc57b3120677.mp3"
},
{
标题:“贾扎:最后一个”,
src:“https://freemusicarchive.org/music/download/8d97152c47959e384ed4b991ac8012665e121eac.mp3"
},
{
标题:“吉利库迪:蓝色的木星”,
src:“https://freemusicarchive.org/music/download/bf36de47dafa5c162b45a85a90739f3ef1160832.mp3"
}
];
函数next(){
电流++;
如果(当前>轨迹长度){
电流=0;
}
player.src=曲目[当前].src;
player.load();
player.play();
}
//将音量调低一点,在页面加载时播放。
播放器。音量-.10;
next();
//当歌曲结束时激发的事件。
player.addEventListener('end',函数(e){
next();
});
//在文档中写入播放列表。
对于(让轨道为零){
playlist.append(“
  • ”); } });
    
    抱歉,您的浏览器不支持HTML5音频。
    
      通过使用HTML5音频标记,您可以让JavaScript确定歌曲的持续时间,并让JavaScript用几行代码播放下一首歌曲

      在本例中,我使用了一个
      tracks
      变量,您可以使用php的
      json\u encode()
      轻松构建该变量

      var播放器;
      var播放列表;
      var轨迹;
      无功电流;
      $(函数(){
      电流=-1;
      播放器=$(“#音频”)[0];
      播放列表=$(“#播放列表”);
      轨道=[{
      标题:“京都:八公(忠实的狗)”,
      src:“https://freemusicarchive.org/music/download/34342f0461bd14291ab21bae5f1bfc57b3120677.mp3"
      },
      {
      标题:“贾扎:最后一个”,
      src:“https://freemusicarchive.org/music/download/8d97152c47959e384ed4b991ac8012665e121eac.mp3"
      },
      {
      标题:“吉利库迪:蓝色的木星”,
      src:“https://freemusicarchive.org/music/download/bf36de47dafa5c162b45a85a90739f3ef1160832.mp3"
      }
      ];
      函数next(){
      电流++;
      如果(当前>轨迹长度){
      电流=0;
      }
      player.src=曲目[当前].src;
      player.load();
      player.play();
      }
      //将音量调低一点,在页面加载时播放。
      播放器。音量-.10;
      next();
      //当歌曲结束时激发的事件。
      player.addEventListener('end',函数(e){
      next();
      });
      //在文档中写入播放列表。
      对于(让轨道为零){
      playlist.append(“
    • ”); } });
      
      抱歉,您的浏览器不支持HTML5音频。