Мне нужен быстрый метод для хранения всех образцов wav-файла в массиве. В настоящее время я работаю над этой проблемой, играя музыку и сохраняя значения из Провайдера Провайдера, но это не очень элегантно.Хранение wav-файла в массиве
С NAudio Demo У меня есть аудиоплеер класс с помощью этого метода:
private ISampleProvider CreateInputStream(string fileName)
{
if (fileName.EndsWith(".wav"))
{
fileStream = OpenWavStream(fileName);
}
throw new InvalidOperationException("Unsupported extension");
}
var inputStream = new SampleChannel(fileStream, true);
var sampleStream = new NotifyingSampleProvider(inputStream);
SampleRate = sampleStream.WaveFormat.SampleRate;
sampleStream.Sample += (s, e) => { aggregator.Add(e.Left); }; // at this point the aggregator gets the current sample value, while playing the wav file
return sampleStream;
}
Я хочу, чтобы пропустить этот ход получения значений выборок во время воспроизведения файла, вместо этого я хочу значение немедленно, не дожидаясь, пока конец файла. В принципе, как команда wavread в matlab.
Почему это не элегантно? Можете ли вы вставить все, что вы пробовали до сих пор, чтобы дать другим что-то, чтобы помочь вам? –
Потому что я хочу сделать STFT из wav-файла, и я хочу рассчитать его нажатием кнопки. Для этого мне нужны все значения выборки. Я постараюсь добавить код и отредактировать свой первый пост –