Пример #1
0
 /**
  * @covers MediaVorus\MediaVorus::guessFromMimeType
  */
 public function testGuessFromMimeType()
 {
     $media = $this->object->guess(__DIR__ . '/../../files/ExifTool.jpg');
     $this->assertInstanceOf('\\MediaVorus\\Media\\Image', $media);
     $media = $this->object->guess(__DIR__ . '/../../files/CanonRaw.cr2');
     $this->assertInstanceOf('\\MediaVorus\\Media\\Image', $media);
     $media = $this->object->guess(__DIR__ . '/../../files/APE.ape');
     $this->assertInstanceOf('\\MediaVorus\\Media\\Audio', $media);
     $media = $this->object->guess(__DIR__ . '/../../files/PDF.pdf');
     $this->assertInstanceOf('\\MediaVorus\\Media\\Document', $media);
     $media = $this->object->guess(__DIR__ . '/../../files/ZIP.gz');
     $this->assertInstanceOf('\\MediaVorus\\Media\\DefaultMedia', $media);
     $media = $this->object->guess(__DIR__ . '/../../files/Flash.swf');
     $this->assertInstanceOf('\\MediaVorus\\Media\\Flash', $media);
     $media = $this->object->guess(__DIR__ . '/../../files/Test.ogv');
     $this->assertInstanceOf('\\MediaVorus\\Media\\Video', $media);
 }
Пример #2
0
 /**
  * Read the technical datas of the file.
  * Returns an empty array for non physical present files
  *
  * @return array An array of technical datas Key/values
  */
 public function readTechnicalDatas(MediaVorus $mediavorus)
 {
     if (!$this->is_physically_present()) {
         return [];
     }
     $media = $mediavorus->guess($this->get_pathfile());
     $datas = [];
     $methods = [self::TC_DATA_WIDTH => 'getWidth', self::TC_DATA_HEIGHT => 'getHeight', self::TC_DATA_FOCALLENGTH => 'getFocalLength', self::TC_DATA_CHANNELS => 'getChannels', self::TC_DATA_COLORDEPTH => 'getColorDepth', self::TC_DATA_CAMERAMODEL => 'getCameraModel', self::TC_DATA_FLASHFIRED => 'getFlashFired', self::TC_DATA_APERTURE => 'getAperture', self::TC_DATA_SHUTTERSPEED => 'getShutterSpeed', self::TC_DATA_HYPERFOCALDISTANCE => 'getHyperfocalDistance', self::TC_DATA_ISO => 'getISO', self::TC_DATA_LIGHTVALUE => 'getLightValue', self::TC_DATA_COLORSPACE => 'getColorSpace', self::TC_DATA_DURATION => 'getDuration', self::TC_DATA_FRAMERATE => 'getFrameRate', self::TC_DATA_AUDIOSAMPLERATE => 'getAudioSampleRate', self::TC_DATA_VIDEOCODEC => 'getVideoCodec', self::TC_DATA_AUDIOCODEC => 'getAudioCodec', self::TC_DATA_ORIENTATION => 'getOrientation'];
     foreach ($methods as $tc_name => $method) {
         if (method_exists($media, $method)) {
             $result = call_user_func([$media, $method]);
             if (null !== $result) {
                 $datas[$tc_name] = $result;
             }
         }
     }
     $datas[self::TC_DATA_LONGITUDE] = $media->getLongitude();
     $datas[self::TC_DATA_LATITUDE] = $media->getLatitude();
     $datas[self::TC_DATA_MIMETYPE] = $media->getFile()->getMimeType();
     $datas[self::TC_DATA_FILESIZE] = $media->getFile()->getSize();
     unset($media);
     return $datas;
 }