VB.net nAudio WaveIn流到ftp

时间:2013-06-23 11:10:20

标签: vb.net naudio

好的,所以这是交易..

我通过naudio WaveIn方法从麦克风捕获音频流。 现在,这允许我将捕获直接保存到wav文件中。

现在我希望这个wav能够不断上传到我的ftp帐户。 即用户从麦克风中录制..他的输入被存储到文件中......此文件正被上传到我的ftp。

我目前遇到有关文件锁定的问题,当然不允许我在写入文件的同时访问同一文件。

如果您能建议我将我的流直接上传到我的ftp帐户并且不涉及此文件问题,我将不胜感激

这是我的录音代码:

  Dim recordingFormat As New WaveFormat(8000, 16, 1)
    writer = New WaveFileWriter("recorded.wav", recordingFormat)

    waveInStream = New WaveIn()
    waveInStream.DeviceNumber = 0
    waveInStream.WaveFormat = recordingFormat
    AddHandler waveInStream.DataAvailable, AddressOf waveInStream_DataAvailable
    waveInStream.StartRecording()

Dim recordingFormat As New WaveFormat(8000, 16, 1) writer = New WaveFileWriter("recorded.wav", recordingFormat) waveInStream = New WaveIn() waveInStream.DeviceNumber = 0 waveInStream.WaveFormat = recordingFormat AddHandler waveInStream.DataAvailable, AddressOf waveInStream_DataAvailable waveInStream.StartRecording()

并持续将流保存到文件中:

 writer.Write(e.Buffer, 0, e.BytesRecorded)

我想将这个^直接送到ftp缓冲区..

任何帮助将不胜感激。 TIA!

2 个答案:

答案 0 :(得分:0)

在创建FTP服务器时,无法将WAV文件上传到FTP服务器。 WAV文件在其标题中包含一些未填写的块大小,直到您完成创建WAV文件为止。

另外,您还没有说过将文件上传到FTP的用途,但我希望大多数FTP文件上传程序不支持正在上传时传输的文件越来越大。

答案 1 :(得分:0)

看起来您需要一个计时器才能在一分钟内停止录制,构建wav文件, 并在同时上传创建的波形文件时再次开始录制。

您可以使用网络框架本身的上传机制来上传文件。

我认为你每分钟都会失踪1秒,而不是那么糟糕。