탐험을 조금 해본 결과, 다소 도움이되는 것으로 나타났습니다. 아직도 나는 회귀 문제가 있을까 두렵다. 아래의 전략을보다 효과적으로 작동시키기 위해 노력하고 있습니다.
아래의 방법은 176kbps wav 파일을 128kbps로 변환하고 잘 재생되지만 응용 프로그램이 충돌합니다.
private string OpenMedia(string filename)
{
using (var reader = new WaveFileReader(filename))
{
int bitrate = reader.WaveFormat.AverageBytesPerSecond * 8;
if (bitrate > 128000)
{
MessageBox.Show("This wav file has a bit rate higher than 128 kbps : " +
bitrate);
int channel = reader.WaveFormat.Channels;
if (channel > 1)
{
MessageBox.Show("This wav file was not created in Mono channel : " +
channel);
}
int samplerate = reader.WaveFormat.SampleRate;
if (samplerate > 8000)
{
MessageBox.Show("This wav file has a sample rate > 8000 : " + samplerate);
var newFormat = new WaveFormat(8000, 16, 1);
using (var conversionStream = new WaveFormatConversionStream(newFormat,
reader))
{
WaveFileWriter.CreateWaveFile(filename, conversionStream);
}
}
}
}
return filename;
}