Class Mp3FileReaderBase
Class for reading from MP3 files
public class Mp3FileReaderBase : WaveStream, IDisposable, IAsyncDisposable, IWaveProvider
- Inheritance
-
Mp3FileReaderBase
- Implements
- Inherited Members
- Extension Methods
Constructors
Mp3FileReaderBase(Stream, FrameDecompressorBuilder)
Opens MP3 from a stream rather than a file Will not dispose of this stream itself
public Mp3FileReaderBase(Stream inputStream, Mp3FileReaderBase.FrameDecompressorBuilder frameDecompressorBuilder)
Parameters
inputStream
StreamThe incoming stream containing MP3 data
frameDecompressorBuilder
Mp3FileReaderBase.FrameDecompressorBuilderFactory method to build a frame decompressor
Mp3FileReaderBase(Stream, FrameDecompressorBuilder, bool)
protected Mp3FileReaderBase(Stream inputStream, Mp3FileReaderBase.FrameDecompressorBuilder frameDecompressorBuilder, bool ownInputStream)
Parameters
inputStream
StreamframeDecompressorBuilder
Mp3FileReaderBase.FrameDecompressorBuilderownInputStream
bool
Mp3FileReaderBase(string, FrameDecompressorBuilder)
Supports opening a MP3 file
public Mp3FileReaderBase(string mp3FileName, Mp3FileReaderBase.FrameDecompressorBuilder frameDecompressorBuilder)
Parameters
mp3FileName
stringMP3 File name
frameDecompressorBuilder
Mp3FileReaderBase.FrameDecompressorBuilderFactory method to build a frame decompressor
Properties
Id3v1Tag
ID3v1 tag if present
public byte[] Id3v1Tag { get; }
Property Value
- byte[]
Id3v2Tag
ID3v2 tag if present
public Id3v2Tag Id3v2Tag { get; }
Property Value
Length
This is the length in bytes of data available to be read out from the Read method (i.e. the decompressed MP3 length) n.b. this may return 0 for files whose length is unknown
public override long Length { get; }
Property Value
Mp3WaveFormat
The MP3 wave format (n.b. NOT the output format of this stream - see the WaveFormat property)
public Mp3WaveFormat Mp3WaveFormat { get; }
Property Value
Position
public override long Position { get; set; }
Property Value
WaveFormat
public override WaveFormat WaveFormat { get; }
Property Value
XingHeader
Xing header if present
public XingHeader XingHeader { get; }
Property Value
Methods
Dispose(bool)
Disposes this WaveStream
protected override void Dispose(bool disposing)
Parameters
disposing
bool
Read(byte[], int, int)
Reads decompressed PCM data from our MP3 file.
public override int Read(byte[] sampleBuffer, int offset, int numBytes)
Parameters
Returns
ReadNextFrame()
Reads the next mp3 frame
public Mp3Frame ReadNextFrame()
Returns
- Mp3Frame
Next mp3 frame, or null if EOF