Exemplo n.º 1
0
        static void JoinAudioFiles(String audioFolder)
        {
            List <String> fileList = new List <String>();

            AudioJoinerLameExe audioJoiner = new AudioJoinerLameExe();

            foreach (String eachFile in Directory.GetFiles(audioFolder, "*.mp3"))
            {
                fileList.Add(eachFile);
            }

            audioJoiner.JoinAudio(fileList.ToArray());
        }
Exemplo n.º 2
0
        private Boolean GenerateMp3(WindowParams wndParams, BackgroundWorker bgWorker, out Exception exception)
        {
            Boolean status = true;

            String[]           wordArr          = null;
            List <String>      mp3FileList      = null;
            HttpClientICiba    iCibaClt         = null;
            AudioJoinerLameExe audioJoiner      = null;
            String             tempDir          = Environment.CurrentDirectory;
            String             wordMp3TempDir   = System.IO.Path.Combine(tempDir, "WordsAudio");
            String             audioJoinTempDir = System.IO.Path.Combine(tempDir, "JoinDir");

            exception = null;
            try
            {
                Int32 wordIdx = 0;

                iCibaClt    = new HttpClientICiba();
                wordArr     = wndParams.WordArray;
                mp3FileList = new List <String>();

                Directory.CreateDirectory(wordMp3TempDir);
                for (Int32 i = 0; i < wordArr.Length; ++i)
                {
                    String singleWord = wordArr[i];

                    if (!String.IsNullOrEmpty(singleWord))
                    {
                        String wordMp3 = System.IO.Path.Combine(wordMp3TempDir,
                                                                String.Format("{0}_{1}.mp3", wordIdx.ToString("0000"),
                                                                              singleWord));
                        wordMp3 = iCibaClt.DownloadAudio(singleWord, wordMp3);
                        if (!String.IsNullOrEmpty(wordMp3))
                        {
                            mp3FileList.Add(wordMp3);
                            ++wordIdx;
                        }

                        if (null != bgWorker)
                        {
                            bgWorker.ReportProgress(i * 90 / wordArr.Length);
                        }
                    }
                }

                audioJoiner         = new AudioJoinerLameExe();
                audioJoiner.TempDir = audioJoinTempDir;
                if (!String.IsNullOrEmpty(wndParams.LameFilePath))
                {
                    audioJoiner.LameFilePath = wndParams.LameFilePath;
                }
                audioJoiner.JoinAudio(mp3FileList, wndParams.FinalMp3File);

                if (null != bgWorker)
                {
                    bgWorker.ReportProgress(100);
                }
            }
            catch (Exception ex)
            {
                exception = ex;
                status    = false;
            }
            finally
            {
                if (status)
                {
                    Directory.Delete(wordMp3TempDir, true);
                    Directory.Delete(audioJoinTempDir, true);
                }
            }

            return(status);
        }