好的,所以这是交易..
我通过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!
答案 0 :(得分:0)
在创建FTP服务器时,无法将WAV文件上传到FTP服务器。 WAV文件在其标题中包含一些未填写的块大小,直到您完成创建WAV文件为止。
另外,您还没有说过将文件上传到FTP的用途,但我希望大多数FTP文件上传程序不支持正在上传时传输的文件越来越大。
答案 1 :(得分:0)
看起来您需要一个计时器才能在一分钟内停止录制,构建wav文件, 并在同时上传创建的波形文件时再次开始录制。
您可以使用网络框架本身的上传机制来上传文件。
我认为你每分钟都会失踪1秒,而不是那么糟糕。