1
我有以下代碼:NAudio C#如何製作/控制從IWavePlayer讀取的字節數?
IWavePlayer player = new WaveOut();
WaveStream reader = new WaveFileReader(filePath);
WaveChannel32 input = new WaveChannel32(reader);
AmplitudeStream ampStream = new AmplitudeStream(input);
ampStream.AmplitudeEventHandler += new EventHandler<AmplitudeArgs>(AmplitudeStreamHandler);
player.Init(ampStream);
player.Play();
AmplitudeStream是我做了一個類實現的WaveStream讓我可以「跟蹤」,每當數據從文件中讀取發送事件。但是,我的問題是我想控制讀取多少字節。由於AmplitudeStream的Read函數被Play()函數調用,所以我不知道如何限制讀取的字節數(總是35,280)。
如何做到這一點?我正在使用Play()命令,因爲我想讓我的文件播放以便我可以觀察。因此,如果在Read()命令期間有另一種播放文件的方式,它看起來像這樣:
byte[] buffer = byte[8192]
int bytesRead = 0;
do{
bytesRead = ampStream.Read(buffer,0,buffer.Length);
}while(bytesRead != 0);
@override
private int Read(byte[] buffer, int offset, int count)
{
//some command to play the file here
}
我想知道。謝謝!除此之外,有沒有辦法不使用WaveChannel32類作爲我的AmplitudeStream的輸入?
嗨馬克!實際上,我的意思是我希望能夠控制使用.play()函數讀取的字節數。目前,每當我使用播放功能時,它總是讀取35280字節。我希望它一次只能讀取8192個字節。 – user488792 2011-03-02 07:46:36