Beispiel #1
0
        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;
                    }
            }
        }
Beispiel #2
0
        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;
        }
Beispiel #3
0
 public WaveInfo(AudioInfo ai, UInt64 duration)
 {
     ai_ = ai;
     duration_ = duration;
 }