public ExportParameters(ExportFormat exportStandards, string exportDirectory, bool encodeExportedAudioFiles, AudioLib.AudioFileFormats encodingAudioFileFormat, AudioLib.SampleRate exportSampleRate, int exportChannels, double exportEncodingBitrate) { m_ExportStandards = exportStandards; m_ExportDirectory = exportDirectory; m_EncodeExportedAudioFiles = encodeExportedAudioFiles; m_EncodingAudioFileFormat = encodingAudioFileFormat; m_ExportSampleRate = exportSampleRate; m_ExportChannels = exportChannels; m_ExportEncodingBitrate = exportEncodingBitrate; }
//private bool m_EncodeToMP3; //private int m_BitRate_Mp3; public DAISY202Export(ObiPresentation presentation, string exportDirectory, bool encodeToMp3, double mp3BitRate, AudioLib.SampleRate sampleRate, bool stereo, int audioFileSectionLevel) : base(presentation, exportDirectory, null, encodeToMp3, mp3BitRate, sampleRate, stereo, true, false, true) { m_Presentation = presentation; m_ExportDirectory = exportDirectory; m_MetadataMap = CreateDAISY3To2MetadataMap(); m_SmilFile_TitleMap = new Dictionary <string, string> (); m_NextSectionPageAdjustmentDictionary = new Dictionary <SectionNode, EmptyNode>(); m_AudioFileSectionLevel = audioFileSectionLevel; m_FilesList = new List <string>(); //m_EncodeToMP3 = encodeToMP3; }
public void ParseXml() { XmlDocument xmlDoc = XmlReaderWriterHelper.ParseXmlDocument(m_ConfigurationFilePath, false, false); XmlNode importNode = XmlDocumentHelper.GetFirstChildElementOrSelfWithName(xmlDoc.DocumentElement, true, "import", xmlDoc.DocumentElement.NamespaceURI); foreach (XmlNode n in importNode.ChildNodes) { string innerText = n.InnerText; if (n.LocalName == "obiprojectdirectory") { m_ObiProjectDirectoryPath = innerText.Trim(); } else if (n.LocalName == "audiosamplerate") { string strSampleRate = innerText.Trim(); m_ImportSampleRate = int.Parse(strSampleRate); m_ImportSampleRateEnum = strSampleRate == "44100" ? AudioLib.SampleRate.Hz44100 : strSampleRate == "22050" ? AudioLib.SampleRate.Hz22050 : AudioLib.SampleRate.Hz11025; } else if (n.LocalName == "audiochannels") { string strChannels = innerText.Trim(); m_ImportChannels = int.Parse(strChannels.Trim()); } } foreach (XmlNode exportNode in XmlDocumentHelper.GetChildrenElementsOrSelfWithName(xmlDoc.DocumentElement, true, "export", xmlDoc.DocumentElement.NamespaceURI, false)) { ExportFormat exportStandards = ExportFormat.DAISY3_0; string exportDirectory = null; bool encodeExportedAudioFiles = false; AudioLib.AudioFileFormats encodingAudioFileFormat = AudioLib.AudioFileFormats.WAV; AudioLib.SampleRate exportSampleRate = AudioLib.SampleRate.Hz44100; int exportChannels = 1; double exportEncodingBitrate = 64; foreach (XmlNode n in exportNode.ChildNodes) { if (n.LocalName == "directory") { exportDirectory = n.InnerText.Trim(); } else if (n.LocalName == "standard") { string strStandard = n.InnerText.Trim(); exportStandards = strStandard == "daisy2.02" ? ExportFormat.DAISY2_02 : strStandard == "daisy3" ? ExportFormat.DAISY3_0 : ExportFormat.EPUB3; } else if (n.LocalName == "audioencoding") { string strEncoding = n.InnerText.Trim(); encodeExportedAudioFiles = strEncoding.ToLower() != "wav"; if (encodeExportedAudioFiles) { encodingAudioFileFormat = (strEncoding.ToLower() == "mp4" || strEncoding.ToLower() == "m4a") ? AudioLib.AudioFileFormats.MP4 : AudioLib.AudioFileFormats.MP3; } } else if (n.LocalName == "bitrate") { string strBitrate = n.InnerText.Trim(); exportEncodingBitrate = int.Parse(strBitrate); } else if (n.LocalName == "audiosamplerate") { string strSampleRate = n.InnerText; exportSampleRate = strSampleRate == "44100" ? AudioLib.SampleRate.Hz44100 : strSampleRate == "22050" ? AudioLib.SampleRate.Hz22050 : AudioLib.SampleRate.Hz11025; } else if (n.LocalName == "audiochannels") { string strChannels = n.InnerText; exportChannels = int.Parse(strChannels.Trim()); } } ExportParameters exportObject = new ExportParameters(exportStandards, exportDirectory, encodeExportedAudioFiles, encodingAudioFileFormat, exportSampleRate, exportChannels, exportEncodingBitrate); // assign export parameters to respective properties if (exportObject.ExportStandards == ExportFormat.DAISY3_0) { m_DAISY3ExportParameters = exportObject; } else if (exportObject.ExportStandards == ExportFormat.DAISY2_02) { m_DAISY202ExportParameters = exportObject; } else if (exportObject.ExportStandards == ExportFormat.EPUB3) { m_EPUB3ExportParameters = exportObject; } Console.WriteLine("Config file export parameters: " + exportObject.ExportStandards); Console.WriteLine("export channels: " + exportObject.ExportChannels + ", directory:" + exportObject.ExportDirectory); Console.WriteLine("encoding: " + exportObject.EncodeExportedAudioFiles + " " + exportObject.EncodingAudioFileFormat + ", bit rate:" + exportObject.ExportEncodingBitrate + ", sample rate:" + exportObject.ExportSampleRate); } xmlDoc = null; }