コード例 #1
0
 /**
  * @dataProvider attributesProvider
  */
 public function testSanitizeAttributes(array $attributes)
 {
     $mediaInfoContainerBuilder = new MediaInfoContainerBuilder();
     $mediaInfoContainerBuilder->addTrackType(TypeFactory::AUDIO, $attributes);
     $mediaContainer = $mediaInfoContainerBuilder->build();
     $audios = $mediaContainer->getAudios();
     $this->assertEquals('Mhor\\MediaInfo\\Attribute\\Duration', get_class($audios[0]->get('duration')));
     /** @var Duration $duration */
     $duration = $audios[0]->get('duration');
     $this->assertEquals('10', $duration->getMilliseconds());
 }
コード例 #2
0
 /**
  * @param bool $ignoreUnknownTrackTypes Optional parameter used to skip unknown track types by passing true. The
  *                                      default behavior (false) is throw an exception on unknown track types.
  *
  * @throws Mhor\MediaInfo\Exception\UnknownTrackTypeException
  *
  * @return MediaInfoContainer
  */
 public function getMediaInfoContainer($ignoreUnknownTrackTypes = false)
 {
     if ($this->parsedOutput === null) {
         throw new \Exception('You must run `parse` before running `getMediaInfoContainer`');
     }
     $mediaInfoContainerBuilder = new MediaInfoContainerBuilder($ignoreUnknownTrackTypes);
     $mediaInfoContainerBuilder->setVersion($this->parsedOutput['@attributes']['version']);
     foreach ($this->parsedOutput['File']['track'] as $trackType) {
         try {
             $mediaInfoContainerBuilder->addTrackType($trackType['@attributes']['type'], $trackType);
         } catch (UnknownTrackTypeException $ex) {
             if (!$ignoreUnknownTrackTypes) {
                 // rethrow exception
                 throw $ex;
             }
             // else ignore
         }
     }
     return $mediaInfoContainerBuilder->build();
 }
コード例 #3
0
 /**
  * @expectedException \Exception
  */
 public function testAddInvalidTypeOnMediaInfoContainer()
 {
     $mediaInfoContainerBuilder = new MediaInfoContainerBuilder();
     $mediaInfoContainer = $mediaInfoContainerBuilder->build();
     $mediaInfoContainer->add(new TrackTestType());
 }