00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
#ifndef TAGLIB_MPEGPROPERTIES_H
00023
#define TAGLIB_MPEGPROPERTIES_H
00024
00025
#include <audioproperties.h>
00026
00027
#include "mpegheader.h"
00028
00029
namespace TagLib {
00030
00031
namespace MPEG {
00032
00033
class File;
00034
00036
00042 class Properties :
public AudioProperties
00043 {
00044
public:
00049
Properties(
File *file, ReadStyle style = Average);
00050
00054
virtual ~Properties();
00055
00056
00057
00058
virtual int length()
const;
00059
virtual int bitrate()
const;
00060
virtual int sampleRate()
const;
00061
virtual int channels()
const;
00062
00066 Header::Version
version()
const;
00067
00071
int layer()
const;
00072
00076
bool protectionEnabled()
const;
00077
00081 Header::ChannelMode
channelMode()
const;
00082
00086
bool isCopyrighted()
const;
00087
00091
bool isOriginal()
const;
00092
00093
private:
00094
Properties(
const Properties &);
00095
Properties &operator=(
const Properties &);
00096
00097
void read();
00098
00099
class PropertiesPrivate;
00100 PropertiesPrivate *d;
00101 };
00102 }
00103 }
00104
00105
#endif