Skip to content

Releases: kiwilan/php-audio

v4.0.01

03 Oct 16:57
028842c
Compare
Choose a tag to compare

Add toArray() to quicktime for AudioMetadata

v4.0.0

03 Oct 16:43
328abda
Compare
Choose a tag to compare

BREAKING CHANGES

  • internal architecture has been totally redesigned
  • get() static method is now read() (old method is still available)
  • update() method is now write() (old method is still available)
  • getAudio() is now getMetadata()
  • getStat() has been removed, you can find getLastAccessAt(), getCreatedAt(), getModifiedAt() into getMetadata()
  • getWriter() has been removed, only used when write() method is called
  • getReader() is now getId3Reader()
  • getPodcastDescription() is now getSynopsis()
  • getStik() has been removed (you can find it in getRaw() method or with getRawKey('stik'))
  • cover contents is now base64 encoded into AudioCover object
  • toArray() has been revised to return a more structured array
  • getDuration() is now float
  • add getDurationHuman() to get human readable duration
  • add getTrackNumberInt() to get track number as integer
  • add getDiscNumberInt()
  • getTags() is now getRawAll() as multidimensional array
  • new method getRaw() will return main format as array
  • new method getRawKey('ANY_KEY') will return specific key from main format
  • getAudioFormats() has been removed
  • getExtras() has been removed (duplicate of getRawAll(), getRaw() or toArray())
  • writer() can now use tag('ANY_KEY', 'ANY_VALUE') to update directly any tag without use tags()
  • writer() method tags() has been modified, it's not native method of getID3 anymore, just an array of tags
  • add getQuicktime() to AudioMetadata to get quicktime tags, with chapters for audiobooks

AudioCover

  • now contents are stored as base64 encoded string
  • new getContents() method to get contents, default is raw string (binary) and you can get base64 encoded string with true parameter
  • new getMimeType() method to get mime type of the cover
  • new getWidth() method to get width of the cover
  • new getHeight() method to get height of the cover
  • new toArray() method to get cover as array

AudioMetadata

  • getFilesize() is now getFileSize()
  • add getSizeHuman() to get human readable size with decimal precision
  • add getDataFormat() to get data format like mp3
  • remove getDurationReadable() because it's now into Audio::class
  • getLossless() is now isLossless()
  • add getCodec() to get codec of the file, like LAME
  • add getEncoderOptions() to get encoder options of the file, like CBR
  • add getVersion() to get version of JamesHeinrich/getID3
  • add getAvDataOffset() to get offset of audio/video data
  • add getAvDataEnd() to get end of audio/video data
  • add getFilePath() to get file path, like /path/to
  • add getFilename() to get filename, like file.mp3
  • add getLastAccessAt(), getCreatedAt(), getModifiedAt() from stat() function
  • add toArray() method to get metadata as array

Fix

  • now write() won't erase other tags #34

v3.0.08

28 Jul 13:47
64583fa
Compare
Choose a tag to compare

Add getDurationHumanReadable() method to get the duration in human readable format: HH:MM:SS.

v3.0.07

04 Jun 05:29
21df578
Compare
Choose a tag to compare

By @panVag

  • use DateTimeImmutable super powers to parse date and datetime strings
  • catch and ignore exception when instantiating the aforementioned object so the whole script won't fail
  • remove the null safe operators when it's not needed

v3.0.06

04 Feb 11:42
d4cce92
Compare
Choose a tag to compare
  • Add getAudioFormats() to Audio::class to get an array with all audio formats of file.
  • Add param to getTags(?string $audioFormat = null) to select a specific tag format, default will be maximum tags found.
  • Add same param to getTag(string $tag, ?string $audioFormat = null) to select a specific tag format, default will be maximum tags found.
  • Add getPodcastDescription() method to Audio::class to get the podcast description.
  • Add getLanguage() method to Audio::class to get the language of the podcast.

v3.0.05

03 Feb 18:02
db9f825
Compare
Choose a tag to compare
  • Add toArray() method to Audio::class to get all properties without cover.
  • Add getTags() method to Audio::class to get all tags as array<string, string>.
  • Add getTag(string $tag) method to Audio::class to get a single tag.

v3.0.04

01 Nov 09:10
f98434e
Compare
Choose a tag to compare
  • AudioCore, fix fromId3() with null check Id3AudioTagV1 and Id3AudioTagV2, issue #18 thanks to @cospin

v3.0.03

31 Oct 18:20
910de64
Compare
Choose a tag to compare
  • AudioCore, fromId3() method comment bug, issue #18 thanks to @cospin
  • AudioMetadata, add path, dataformat

.mp4 format can not work as expected cause by recent JamesHeinrich/getID3 update.

v3.0.02

21 Sep 07:14
4b7557e
Compare
Choose a tag to compare
  • Id3Writer: trackNumber() and discNumber() accept now integers (and strings)

v3.0.01

20 Sep 11:38
19d5184
Compare
Choose a tag to compare
  • Add getContents() to AudioCover
  • Old method getContent() is deprecated