public MPAInfo(MPAHeader hdr, UInt64 duration) { ai_ = new AudioInfo(); ai_.bitRate = MPAHeaderParser.bitrate(hdr); ai_.bitsPerSample = 16; ai_.channels = (UInt16)(hdr.channelMode < 3 ? 2 : 1); ai_.sampleRate = MPAHeaderParser.samplingRate(hdr); ai_.layer = (UInt16)(4 - hdr.layer); ai_.vbr = false; //todo duration_ = duration; switch (hdr.version) { case 3: { mt_ = MediaType.MPEG10; break; } case 2: { mt_ = MediaType.MPEG20; break; } case 0: { mt_ = MediaType.MPEG25; break; } } }
public ErrorCode first(out IMediaInfo info) { AudioInfo ai = new AudioInfo(); ai.bitsPerSample = bps_; ai.channels = channels_; ai.sampleRate = (UInt16)frequency_; UInt64 duration = 800000 * length_ / ((UInt64)channels_ * (UInt64)bps_ * (UInt64)frequency_); info = new WaveInfo(ai, duration); return ErrorCode.Success; }
public WaveInfo(AudioInfo ai, UInt64 duration) { ai_ = ai; duration_ = duration; }