TagLib API Documentation
Public Types | Public Member Functions | Protected Member Functions | List of all members
TagLib::AudioProperties Class Referenceabstract

A simple, abstract interface to common audio properties. More...

#include <audioproperties.h>

Inheritance diagram for TagLib::AudioProperties:

Public Types

enum  ReadStyle { Fast , Average , Accurate }

Public Member Functions

virtual ~AudioProperties ()
 AudioProperties (const AudioProperties &)=delete
AudioPropertiesoperator= (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)

Detailed Description

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.

Member Enumeration Documentation

◆ ReadStyle

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.


Read as little of the file as possible.


Read more of the file and make better values guesses.


Read as much of the file as needed to report accurate values.

Constructor & Destructor Documentation

◆ ~AudioProperties()

virtual TagLib::AudioProperties::~AudioProperties ( )

Destroys this AudioProperties instance.

◆ AudioProperties() [1/2]

TagLib::AudioProperties::AudioProperties ( const AudioProperties )

◆ AudioProperties() [2/2]

TagLib::AudioProperties::AudioProperties ( ReadStyle  style)

Construct an audio properties instance. This is protected as this class should not be instantiated directly, but should be instantiated via its subclasses and can be fetched from the FileRef or File APIs.

See also

Member Function Documentation

◆ bitrate()

virtual int TagLib::AudioProperties::bitrate ( ) const

◆ channels()

virtual int TagLib::AudioProperties::channels ( ) const
pure virtual

◆ length()

virtual TAGLIB_DEPRECATED int TagLib::AudioProperties::length ( ) const

Returns the length of the file in seconds. The length is rounded down to the nearest whole second.

This method is just an alias of lengthInSeconds().
Use lengthInSeconds().

◆ lengthInMilliseconds()

virtual int TagLib::AudioProperties::lengthInMilliseconds ( ) const

◆ lengthInSeconds()

virtual int TagLib::AudioProperties::lengthInSeconds ( ) const

Returns the length of the file in seconds. The length is rounded down to the nearest whole second.

See also

Reimplemented in TagLib::DSDIFF::Properties, and TagLib::TrueAudio::Properties.

◆ operator=()

AudioProperties & TagLib::AudioProperties::operator= ( const AudioProperties )

◆ sampleRate()

virtual int TagLib::AudioProperties::sampleRate ( ) const

The documentation for this class was generated from the following file: