public function getDuration($sid)
 {
     $media = Media::find($sid);
     $status = array();
     $status['data'] = '';
     if ($media == null) {
         $status['status'] = 'error';
         return $status;
     }
     $media_folder = public_path() . '/assets/medias/' . $media->category_id . '/' . $sid;
     $file = $media_folder . "/" . $media->path;
     if (file_exists($file) && $media->mimetype != 'application/pdf') {
         $object = $this->retrieveId3Info($file);
         $media->options = json_encode($object);
         $media->save();
         if (isset($object['duration'])) {
             $status['data'] = $object['duration'];
         }
     }
     $status['status'] = 'success';
     return $status;
 }
示例#2
0
 public function getDuration($sid)
 {
     $media = Media::find($sid);
     $status = array();
     $status['data'] = '';
     if ($media == null) {
         $status['status'] = 'error';
         return $status;
     }
     $media_folder = public_path() . '/assets/medias/' . $media->category_id . '/' . $sid;
     $filepath = $media_folder . "/" . $media->path;
     if (file_exists($filepath) && $media->mimetype != 'application/pdf') {
         $file = new FileInfo($filepath);
         // Get playtime of the file
         $playtime = $file->getPlaytime();
         // Save playtime
         $options = json_decode($media->options);
         if (!is_array($options)) {
             $options = array();
             // Create a new array
         }
         $options['duration'] = $playtime ? $playtime : '';
         $status['data'] = $options['duration'];
         $media->options = json_encode($options);
         try {
             $media->save();
         } catch (Exception $exp) {
             $status['status'] = 'error';
             return $status;
         }
     }
     $status['status'] = 'success';
     return $status;
 }