【问题标题】:Reduce WAV file size using cscore library使用 cscore 库减小 WAV 文件大小
【发布时间】:2020-08-10 17:42:28
【问题描述】:

我想在不丢失音频的情况下使用 cscore 库减少 WAV 文件,例如 NAudio

var pcmStream = WaveFormatConversionStream.CreatePcmStream(inputSteam); var wavCompressedStream = new WaveFormatConversionStream(target, pcmStream);

【问题讨论】:

  • 包含 pcm 数据的常规 wav 文件无法在不损失质量的情况下进行压缩。您可以降低采样率、每个样本的位数甚至通道数。但最终,你会失去质量。
  • 是的,你是对的,但是在使用 CSCore.Extensions.WriteToWaveStream 创建 WAV 文件时,我在 cscore 库中看不到任何更新这些属性的选项
  • 在下面查看我的答案

标签: cscore


【解决方案1】:

您可以更改波形文件的格式,方法是将现有音频数据打开为IWaveSource,更改其格式并将其写回任何流或文件。 例如:

IWaveSource waveSource = ...

waveSource
    .ToMono() //for example, convert to mono
    .ChangeSampleRate(44100) // specify samplerate
    .ToSampleSource()
    .ToWaveSource(16) //specify bits per sample
    .WriteToWavStream(stream);

但请记住,您可能会通过下采样、更改每个样本的位数来降低音频质量......

【讨论】:

  • 它在 windows server 中运行良好,但 linux 收到错误消息:“COM is not supported”和异常类型:“System.PlatformNotSupportedException”。有什么帮助吗? @弗洛里安
猜你喜欢
  • 2018-01-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-08
  • 2012-05-10
  • 2019-03-03
相关资源
最近更新 更多