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; }
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; }
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; }
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(); }