protected function execute(InputInterface $input, OutputInterface $output) { $this->input = $input; $this->ouput = $output; $this->mediainfoWrapper = new MediainfoWrapper(); $this->mediainfoWrapper->setBinPath($this->input->getOption('mediainfo-bin')); if ($input->getArgument('file')) { $this->doJob($input->getArgument('file')); } $dir = $input->getOption('file-dir'); if (is_dir($dir)) { $finder = Finder::create(); $finder->in($dir)->files()->name('/(' . implode('|', $this->mediainfoWrapper->getSupportedExtensionsForRead()) . ')$/'); $files = iterator_to_array($finder); foreach ($files as $file) { /** @var SplFileInfo $file */ $this->doJob($file->getRealPath()); } $this->printFinalInfo($output); } if ($this->input->getOption('dump-command')) { $this->ouput->writeln($this->nativeCommandStack); } return 0; }
public static function setUpBeforeClass() { self::$id3meta = new \Sapar\Id3\Metadata\Id3Metadata(Helper::getSampleMp3File()); self::$eyed3 = new \Sapar\Id3\Wrapper\BinWrapper\Eyed3Wrapper(); self::$eyed3->setBinPath(Helper::getEyed3Path()); self::$mediainfo = new \Sapar\Id3\Wrapper\BinWrapper\MediainfoWrapper(); self::$mediainfo->setBinPath(Helper::getMediainfoPath()); }
public function testRead() { $this->mediaInfoWrapper->setBinPath(Helper::getMediainfoPath()); $this->assertContains("MediaInfoLib", $this->mediaInfoWrapper->getVersion()); $metaDataFile = new Id3Metadata(Helper::getSampleMp3File()); if ($this->mediaInfoWrapper->read($metaDataFile)) { $this->assertEquals('Nom du morceau', $metaDataFile->getTitle()); $this->assertEquals('Artiste', $metaDataFile->getArtist()); $this->assertEquals('Nom de l\'album', $metaDataFile->getAlbum()); $this->assertEquals('Celtic', $metaDataFile->getGenre()); $this->assertEquals('2003', $metaDataFile->getYear()); $this->assertEquals('120', $metaDataFile->getBpm()); $this->assertEquals('87.875', $metaDataFile->getTimeDuration()); } $this->assertTrue($this->mediaInfoWrapper->supportRead($metaDataFile)); }