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;
 }
Esempio n. 2
0
        //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;
        }