www.pudn.com > WMACompressor.zip > Mp3WriterConfig.cs
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
// KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
// PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
// REMAINS UNCHANGED.
//
// Email: yetiicb@hotmail.com
//
// Copyright (C) 2002-2003 Idael Cardoso.
//
// LAME ( LAME Ain't an Mp3 Encoder )
// You must call the fucntion "beVersion" to obtain information like version
// numbers (both of the DLL and encoding engine), release date and URL for
// lame_enc's homepage. All this information should be made available to the
// user of your product through a dialog box or something similar.
// You must see all information about LAME project and legal license infos at
// http://www.mp3dev.org/ The official LAME site
//
using System;
using System.Runtime.Serialization;
using Yeti.MMedia;
using WaveLib;
namespace Yeti.MMedia.Mp3
{
///
/// Config information for MP3 writer
///
[Serializable]
public class Mp3WriterConfig : Yeti.MMedia.AudioWriterConfig
{
private Lame.BE_CONFIG m_BeConfig;
protected Mp3WriterConfig(SerializationInfo info, StreamingContext context)
:base(info, context)
{
m_BeConfig = (Lame.BE_CONFIG)info.GetValue("BE_CONFIG", typeof(Lame.BE_CONFIG));
}
public Mp3WriterConfig(WaveFormat InFormat, Lame.BE_CONFIG beconfig)
:base(InFormat)
{
m_BeConfig = beconfig;
}
public Mp3WriterConfig(WaveFormat InFormat)
:this(InFormat, new Lame.BE_CONFIG(InFormat))
{
}
public Mp3WriterConfig()
:this(new WaveLib.WaveFormat(44100, 16, 2))
{
}
public override void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context)
{
base.GetObjectData(info, context);
info.AddValue("BE_CONFIG", m_BeConfig, m_BeConfig.GetType());
}
public Lame.BE_CONFIG Mp3Config
{
get
{
return m_BeConfig;
}
set
{
m_BeConfig = value;
}
}
}
}