wav 파일의 모든 샘플을 배열에 저장하는 빠른 방법이 필요합니다. 현재 음악을 재생하고 샘플 공급자의 값을 저장하여이 문제를 해결하기 위해 노력하고 있지만 매우 우아하지는 않습니다.배열에 wav 파일 저장
내가 파일을 재생하는 동안 샘플 값을 받고이 과정을 건너 뛸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;
}
, 대신 나는 때까지 기다리지 않고 immediatly 값을 원하는 다음 NAudio 데모에서
나는이 방법으로 Audioplayer 클래스를 파일의 끝. 기본적으로 matlab에있는 wavread 명령을 좋아한다.
왜 우아하지 않습니까? 지금까지 해봤 던 항목을 붙여 넣을 수 있습니까? 다른 사람에게 도움을 줄 때 뭔가를 제공 할 수 있습니까? –
wav 파일에서 STFT를 만들고 싶으므로 버튼 클릭으로 계산하고 싶습니다. 그 목적을 위해 나는 모든 샘플 값을 필요로합니다. 코드를 추가하고 첫 번째 게시물을 편집하려고 시도합니다 –