/// <summary> /// Converts Wav to MP3. /// </summary> /// <param name="inputFile">The input file.</param> /// <param name="outputPath">The output path.</param> /// <returns> /// Path of changed file /// </returns> public static string ConvertWavToMp3(string inputFile, string outputPath) { var reader = new WaveStream(inputFile); try { var config = new BE_CONFIG(reader.Format, (uint)(Math.Abs(BitRate - 0.0) < 0.1 ? DefaultBitRate : BitRate)); var writer = new Mp3Writer(new FileStream(outputPath, FileMode.Create), reader.Format, config); try { var buffer = new byte[writer.OptimalBufferSize]; int read; while ((read = reader.Read(buffer, 0, buffer.Length)) > 0) { writer.Write(buffer, 0, read); } } finally { writer.Close(); } } finally { reader.Close(); } return(outputPath); }
internal byte[] ConvertWavToMp3(Stream stream) { var inStr = new WaveStream(stream); try { var convertedStream = new MemoryStream(); var writer = new Mp3Writer(convertedStream, inStr.Format); try { var buff = new byte[writer.OptimalBufferSize]; int read; while ((read = inStr.Read(buff, 0, buff.Length)) > 0) { writer.Write(buff, 0, read); } convertedStream.Seek(0, SeekOrigin.Begin); return(convertedStream.ToArray()); } catch (Exception e) { LoggerWrapper.LogTo(LoggerName.Errors).ErrorException( "AudioConverter.ConvertWavToMp3 inner вылетело исключение {0}", e); } finally { writer.Close(); } } catch (Exception e) { LoggerWrapper.LogTo(LoggerName.Errors).ErrorException( "AudioConverter.ConvertWavToMp3 outer вылетело исключение {0}", e); } finally { inStr.Close(); } return(null); }
/// <summary> /// Converts Wav to MP3. /// </summary> /// <param name="inputFile">The input file.</param> /// <param name="outputPath">The output path.</param> /// <returns> /// Path of changed file /// </returns> public static string ConvertWavToMp3(string inputFile, string outputPath) { var reader = new WaveStream(inputFile); try { var config = new BE_CONFIG(reader.Format, (uint)(Math.Abs(BitRate - 0.0) < 0.1 ? DefaultBitRate : BitRate)); var writer = new Mp3Writer(new FileStream(outputPath, FileMode.Create), reader.Format, config); try { var buffer = new byte[writer.OptimalBufferSize]; int read; while ((read = reader.Read(buffer, 0, buffer.Length)) > 0) { writer.Write(buffer, 0, read); } } finally { writer.Close(); } } finally { reader.Close(); } return outputPath; }