Exemple #1
0
 public function getExtendedMetaInformation(AbstractMediaEntity $entity)
 {
     $meta = [];
     $extraData = $entity->getExtraData();
     if (isset($extraData['title'][0])) {
         $meta[] = ['title' => $this->translator->trans('Title', [], $this->domain), 'value' => $extraData['title'][0]];
     }
     if (isset($extraData['album'][0])) {
         $album = $extraData['album'][0];
         if (isset($extraData['year'][0])) {
             $album .= " ({$extraData['year'][0]})";
         }
         $meta[] = ['title' => $this->translator->trans('Album', [], $this->domain), 'value' => $album];
     }
     if (isset($extraData['playtime_seconds'])) {
         $meta[] = ['title' => $this->translator->trans('Duration', [], $this->domain), 'value' => $this->formatDuration($extraData['playtime_seconds'])];
     }
     if (isset($extraData['track_number'][0])) {
         $meta[] = ['title' => $this->translator->trans('Track number', [], $this->domain), 'value' => $extraData['track_number'][0]];
     }
     if (isset($extraData['publisher'][0])) {
         $meta[] = ['title' => $this->translator->trans('Publisher', [], $this->domain), 'value' => $extraData['publisher'][0]];
     }
     if (isset($extraData['band'][0])) {
         $meta[] = ['title' => $this->translator->trans('Band', [], $this->domain), 'value' => $extraData['band'][0]];
     }
     if (isset($extraData['genre'][0])) {
         $meta[] = ['title' => $this->translator->trans('Genre', [], $this->domain), 'value' => $extraData['genre'][0]];
     }
     if (isset($extraData['audio'])) {
         $audio = $extraData['audio'];
         if (isset($audio['channels'])) {
             $meta[] = ['title' => $this->translator->trans('Channels', [], $this->domain), 'value' => $audio['channels']];
         }
         if (isset($audio['sample_rate'])) {
             $meta[] = ['title' => $this->translator->trans('Sample rate', [], $this->domain), 'value' => $audio['sample_rate']];
         }
         if (isset($audio['bitrate'])) {
             $meta[] = ['title' => $this->translator->trans('Bit rate', [], $this->domain), 'value' => $audio['bitrate']];
         }
     }
     return $meta;
 }
Exemple #2
0
 public function getExtendedMetaInformation(AbstractMediaEntity $entity)
 {
     $data = $entity->getExtraData();
     $meta = [];
     if (isset($data['resolution_x']) && isset($data['resolution_y'])) {
         $meta[] = ['title' => $this->translator->trans('Resolution', [], $this->domain), 'value' => $data['resolution_x'] . ' x ' . $data['resolution_y']];
     }
     if (isset($data['exif'])) {
         if (isset($data['exif']['IFD0'])) {
             if (isset($data['exif']['IFD0']['Model'])) {
                 $meta[] = ['title' => $this->translator->trans('Camera', [], $this->domain), 'value' => $data['exif']['IFD0']['Model']];
             }
             /*
                             if (isset($data['exif']['IFD0']['Orientation'])) {
                                 $meta[] = [
                                     'title' => $this->translator->trans('Orientation', [], $this->domain),
                                     'value' => $data['exif']['IFD0']['Orientation'] // @todo Convert to readable output
                                 ];
                             }*/
         }
         if (isset($data['exif']['EXIF'])) {
             if (isset($data['exif']['EXIF']['FNumber'])) {
                 $meta[] = ['title' => $this->translator->trans('Aperture', [], $this->domain), 'value' => "f/" . $data['exif']['EXIF']['FNumber']];
             }
             if (isset($data['exif']['EXIF']['ISOSpeedRatings'])) {
                 $meta[] = ['title' => $this->translator->trans('ISO value', [], $this->domain), 'value' => $data['exif']['EXIF']['ISOSpeedRatings']];
             }
             if (isset($data['exif']['EXIF']['ShutterSpeedValue'])) {
                 $meta[] = ['title' => $this->translator->trans('Shutter speed', [], $this->domain), 'value' => "f/" . $data['exif']['EXIF']['ShutterSpeedValue']];
             }
             if (isset($data['exif']['EXIF']['Flash'])) {
                 $meta[] = ['title' => $this->translator->trans('Flash', [], $this->domain), 'value' => $this->didFlashFire($data['exif']['EXIF']['Flash']) ? $this->translator->trans('on', [], $this->domain) : $this->translator->trans('off', [], $this->domain)];
             }
             if (isset($data['exif']['EXIF']['FocalLength'])) {
                 $meta[] = ['title' => $this->translator->trans('Focal length', [], $this->domain), 'value' => $data['exif']['EXIF']['FocalLength'] . " mm"];
             }
             if (isset($data['exif']['EXIF']['MeteringMode'])) {
                 $meta[] = ['title' => $this->translator->trans('Metering mode', [], $this->domain), 'value' => $this->convertMeteringMode($data['exif']['EXIF']['MeteringMode'])];
             }
         }
     }
     return $meta;
 }
Exemple #3
0
 public function getExtendedMetaInformation(AbstractMediaEntity $entity)
 {
     $meta = [];
     $extraData = $entity->getExtraData();
     if (isset($extraData['title'][0])) {
         $meta[] = ['title' => $this->translator->trans('Title', [], $this->domain), 'value' => $extraData['title'][0]];
     }
     if (isset($extraData['creation_date'][0])) {
         $meta[] = ['title' => $this->translator->trans('Year', [], $this->domain), 'value' => $extraData['creation_date'][0]];
     }
     if (isset($extraData['genre'][0])) {
         $meta[] = ['title' => $this->translator->trans('Genre', [], $this->domain), 'value' => $extraData['genre'][0]];
     }
     if (isset($extraData['playtime_seconds'])) {
         $meta[] = ['title' => $this->translator->trans('Duration', [], $this->domain), 'value' => $this->formatDuration($extraData['playtime_seconds'])];
     }
     if (isset($extraData['video'])) {
         $video = $extraData['video'];
         if (isset($video['resolution_x']) && isset($video['resolution_y'])) {
             $meta[] = ['title' => $this->translator->trans('Resolution', [], $this->domain), 'value' => $video['resolution_x'] . " x " . $video['resolution_y']];
         }
         if (isset($video['frame_rate'])) {
             $meta[] = ['title' => $this->translator->trans('Frame rate', [], $this->domain), 'value' => (int) $video['frame_rate']];
         }
         if (isset($video['bitrate'])) {
             $meta[] = ['title' => $this->translator->trans('Video bit rate', [], $this->domain), 'value' => (int) $video['bitrate']];
         }
     }
     if (isset($extraData['audio'])) {
         $audio = $extraData['audio'];
         if (isset($audio['channels'])) {
             $meta[] = ['title' => $this->translator->trans('Audio channels', [], $this->domain), 'value' => $audio['channels']];
         }
         if (isset($audio['sample_rate'])) {
             $meta[] = ['title' => $this->translator->trans('Audio sample rate', [], $this->domain), 'value' => $audio['sample_rate']];
         }
         if (isset($audio['bitrate'])) {
             $meta[] = ['title' => $this->translator->trans('Audio bit rate', [], $this->domain), 'value' => $audio['bitrate']];
         }
     }
     return $meta;
 }
Exemple #4
0
 public function getThumbnail(AbstractMediaEntity $entity, $width, $height, $format = 'html', $mode = 'outbound')
 {
     /* @var DeezerEntity $entity */
     $type = $entity->getMusicType();
     $id = $entity->getMusicId();
     if ($type == 'track') {
         $type = 'album';
         $id = $entity->getExtraData()['album']['id'];
     }
     //if ($mode == 'inset') {
     //    $size = max($width, $height);
     //} else if ($mode == 'outbound') {
     $size = min($width, $height);
     //}
     // @todo Ask Deezer whether it is allowed to crop the images.
     $url = "http://api.deezer.com/{$type}/{$id}/image?size=" . $size;
     switch ($format) {
         case 'url':
             return $url;
         case 'html':
             return '<img src="' . $url . '" />';
     }
     throw new \LogicException();
 }