Open GoogleCodeExporter opened 8 years ago
Original comment by svollbehr
on 9 Aug 2008 at 4:26
Original comment by svollbehr
on 4 May 2011 at 6:58
I had a lot of fun creating this set of classes I must say. The first version
of the implementation is now committed to subversion. This version can only
read information. The implementation differs significantly from the other
classes of the series.
First of all this implementation was actually for two formats. There is the Ogg
format, which is a rather boring format encapsulating other formats. Then there
is the actual format that we are interested in, or the Vorbis format that
contains the comment header.
Due to the fact that Ogg is simply encapsulating Vorbis, I have impelemented
support for Ogg decoding in form of a reader class. One can read data contained
in Ogg simply by reading from the Ogg reader:
$ogg = new Zend_Media_Ogg_Reader(<filename>)
$ogg->read(<bytes>);
OK, so that was quite simple to use. I've then created another class to decode
only the Vorbis format from a file, stream, or a Zend_Io_Reader object. One can
then read Vorbis format from an Ogg encapsulation simply by using them both
together:
$vorbis = new Zend_Media_Vorbis(new Zend_Media_Ogg_Reader(<filename>));
Cool huh? So quick example on using the classes before I get the chance to do a
proper wiki page for them:
$vorbisComment = $vorbis->commentHeader;
echo "Artist: $vorbisComment->artist\n";
echo "All comments: " . print_r($vorbisComment->getComments(), true);
Original comment by svollbehr
on 14 May 2011 at 4:20
Vorbis comments can now furthermore be read from FLAC bitstream as well. Quick
sample code follows.
Display metadata block information:
$flac = new Zend_Media_Flac('sample.flac');
print_r($flac->metadataBlocks);
Display image:
$flac = new Zend_Media_Flac('sample.flac');
header('Content-Type: ' . $flac->picture->mimeType);
echo $flac->picture->data;
Display comments:
$flac = new Zend_Media_Flac('sample.flac');
foreach ($flac->vorbisComment->comments as $name => $value) {
echo "NAME: $name, VALUES: " . implode($value, ", ") . "\n";
}
Flac class uses the same VorbisComments implementation as does the Vorbis class.
Original comment by svollbehr
on 11 Jun 2011 at 4:53
Oh yeah, the previous example works for Flac class as well.
$flac = new Zend_Media_Flac('sample.flac');
echo "Artist: $flac->vorbisComment->artist\n";
echo "All comments: " . print_r($flac->vorbisComment->getComments(), true);
Original comment by svollbehr
on 11 Jun 2011 at 4:55
Hello Sven,
do you think FLAC writing will be possible soon?
Thanks again for this wonderful library!
Georg
Original comment by dietzlge...@gmail.com
on 30 May 2012 at 4:52
Let me see what I can do.
Original comment by svollbehr
on 2 Jun 2012 at 3:41
Original issue reported on code.google.com by
Super.Ti...@gmail.com
on 1 Aug 2008 at 9:30