Почему мой перезаписанный аудиофайл воспроизводится голосом бурундука?
Я использую проект NAudio 1.72 для записи новых аудиофайлов и редактирования существующих файлов wav. Я заметил, что всякий раз, когда я открываю wav-файл со скоростью 172 кбит / с и записываю часть файла, воспроизведение звучит как бурундук.
Недавно записанные файлы WAV показывают скорость передачи данных 128 кбит / с. И я не нахожу проблему бурундука с файлами WAV 128kbps. Кто-нибудь думает, что это проблема, потому что битовые скорости не совпадают?
Как мне решить это?
Обратите внимание: я пишу код на C#, использую ссылку на проект NAudio для записи и редактирования wav-файлов. Я использую медиаэлемент WPF для воспроизведения любого файла WAV.
1 ответ
Ну, после небольшого исследования я нашел это несколько полезным. Тем не менее, я боюсь, что у меня есть проблемы с регрессом. Все еще работаем над тем, чтобы приведенная ниже стратегия работала лучше.
Хотя приведенный ниже метод преобразует wav-файл со скоростью 176 кбит / с в 128 кбит / с и воспроизводится хорошо, приложение вылетает.
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;
}