wapmorgan/media-file

音频和视频文件的元数据统一读取器

0.1.4 2018-03-10 00:56 UTC

This package is auto-updated.

Last update: 2024-09-17 04:01:57 UTC


README

允许您通过统一的界面轻松获取任何媒体文件的元信息。该库对外部库或系统单元没有要求。

Latest Stable Version License Latest Unstable Version Tests

支持格式

目录

  1. 使用方法
  2. API
  3. 为什么不使用getID3?
  4. 技术细节

使用方法

use wapmorgan\MediaFile\MediaFile;

try {
  $media = MediaFile::open('123.mp3');
  // for audio
  if ($media->isAudio()) {
    $audio = $media->getAudio();
    echo 'Duration: '.$audio->getLength().PHP_EOL;
    echo 'Bit rate: '.$audio->getBitRate().PHP_EOL;
    echo 'Sample rate: '.$audio->getSampleRate().PHP_EOL;
    echo 'Channels: '.$audio->getChannels().PHP_EOL;
  }
  // for video
  else {
    $video = $media->getVideo();
    // calls to VideoAdapter interface
    echo 'Duration: '.$video->getLength().PHP_EOL;
    echo 'Dimensions: '.$video->getWidth().'x'.$video->getHeight().PHP_EOL;
    echo 'Framerate: '.$video->getFramerate().PHP_EOL;
  }
} catch (wapmorgan\MediaFile\Exceptions\FileAccessException $e) {
  // FileAccessException throws when file is not a detected media
} catch (wapmorgan\MediaFile\Exceptions\ParsingException $e) {
   echo 'File is propably corrupted: '.$e->getMessage().PHP_EOL;
}

API

MediaFile

wapmorgan\wapmorgan\MediaFile

AudioAdapter

wapmorgan\MediaFile\AudioAdapter

VideoAdapter

wapmorgan\MediaFile\VideoAdapter

ContainerAdapter

wapmorgan\MediaFile\ContainerAdapter

为什么不使用getID3?

getID3库非常流行,具有很多功能,但它很旧,速度也太慢。

以下表格显示了与MediaFile首次发布一起分发的固定分析速度的比较

技术信息