A simple, abstract interface to common audio properties. More...
#include <audioproperties.h>
Public Types | |
enum | ReadStyle { Fast , Average , Accurate } |
Public Member Functions | |
virtual | ~AudioProperties () |
AudioProperties (const AudioProperties &)=delete | |
AudioProperties & | operator= (const AudioProperties &)=delete |
virtual TAGLIB_DEPRECATED int | length () const |
virtual int | lengthInSeconds () const |
virtual int | lengthInMilliseconds () const |
virtual int | bitrate () const |
virtual int | sampleRate () const |
virtual int | channels () const =0 |
Protected Member Functions | |
AudioProperties (ReadStyle style) | |
A simple, abstract interface to common audio properties.
The values here are common to most audio formats. For more specific, codec dependent values, please see the subclasses APIs. This is meant to compliment the TagLib::File and TagLib::Tag APIs in providing a simple interface that is sufficient for most applications.
Reading audio properties from a file can sometimes be very time consuming and for the most accurate results can often involve reading the entire file. Because in many situations speed is critical or the accuracy of the values is not particularly important this allows the level of desired accuracy to be set.
Enumerator | |
---|---|
Fast | Read as little of the file as possible. |
Average | Read more of the file and make better values guesses. |
Accurate | Read as much of the file as needed to report accurate values. |
|
virtual |
Destroys this AudioProperties instance.
|
delete |
|
protected |
|
virtual |
Returns the most appropriate bit rate for the file in kb/s. For constant bitrate formats this is simply the bitrate of the file. For variable bitrate formats this is either the average or nominal bitrate.
Reimplemented in TagLib::APE::Properties, TagLib::ASF::Properties, TagLib::DSDIFF::Properties, TagLib::DSF::Properties, TagLib::FLAC::Properties, TagLib::Mod::Properties, TagLib::MP4::Properties, TagLib::MPC::Properties, TagLib::MPEG::Properties, TagLib::Ogg::Opus::Properties, TagLib::Ogg::Speex::Properties, TagLib::Ogg::Vorbis::Properties, TagLib::RIFF::AIFF::Properties, TagLib::RIFF::WAV::Properties, TagLib::TrueAudio::Properties, and TagLib::WavPack::Properties.
|
pure virtual |
Returns the number of audio channels.
Implemented in TagLib::APE::Properties, TagLib::ASF::Properties, TagLib::DSDIFF::Properties, TagLib::DSF::Properties, TagLib::FLAC::Properties, TagLib::IT::Properties, TagLib::Mod::Properties, TagLib::MP4::Properties, TagLib::MPC::Properties, TagLib::MPEG::Properties, TagLib::Ogg::Opus::Properties, TagLib::Ogg::Speex::Properties, TagLib::Ogg::Vorbis::Properties, TagLib::RIFF::AIFF::Properties, TagLib::RIFF::WAV::Properties, TagLib::S3M::Properties, TagLib::TrueAudio::Properties, TagLib::WavPack::Properties, and TagLib::XM::Properties.
|
virtual |
Returns the length of the file in seconds. The length is rounded down to the nearest whole second.
|
virtual |
Returns the length of the file in milliseconds.
Reimplemented in TagLib::APE::Properties, TagLib::ASF::Properties, TagLib::DSDIFF::Properties, TagLib::DSF::Properties, TagLib::FLAC::Properties, TagLib::MP4::Properties, TagLib::MPC::Properties, TagLib::MPEG::Properties, TagLib::Ogg::Opus::Properties, TagLib::Ogg::Speex::Properties, TagLib::Ogg::Vorbis::Properties, TagLib::RIFF::AIFF::Properties, TagLib::RIFF::WAV::Properties, TagLib::TrueAudio::Properties, and TagLib::WavPack::Properties.
|
virtual |
Returns the length of the file in seconds. The length is rounded down to the nearest whole second.
Reimplemented in TagLib::DSDIFF::Properties, and TagLib::TrueAudio::Properties.
|
delete |
|
virtual |
Returns the sample rate in Hz.
Reimplemented in TagLib::APE::Properties, TagLib::ASF::Properties, TagLib::DSDIFF::Properties, TagLib::DSF::Properties, TagLib::FLAC::Properties, TagLib::Mod::Properties, TagLib::MP4::Properties, TagLib::MPC::Properties, TagLib::MPEG::Properties, TagLib::Ogg::Opus::Properties, TagLib::Ogg::Speex::Properties, TagLib::Ogg::Vorbis::Properties, TagLib::RIFF::AIFF::Properties, TagLib::RIFF::WAV::Properties, TagLib::TrueAudio::Properties, and TagLib::WavPack::Properties.