Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VB.net nAudio WaveIn流到ftp_Vb.net_Naudio - Fatal编程技术网

VB.net nAudio WaveIn流到ftp

VB.net nAudio WaveIn流到ftp,vb.net,naudio,Vb.net,Naudio,好吧,那就这么定了 我通过naudio WaveIn方法从麦克风捕获音频流。。 现在,我可以将捕获的内容直接保存到wav文件中 现在我想这个wav将持续上传到我的ftp帐户。 i、 e用户是从麦克风接收的。。他的输入被存储到一个文件中,这个文件被上传到我的ftp 我目前面临的问题是关于文件锁,它肯定不允许我在写入同一文件的同时访问同一文件 如果您能建议我一种方法,将我的流直接上传到我的ftp帐户,而不涉及此文件问题,我将不胜感激 这是我的录音代码: Dim recordingFormat

好吧,那就这么定了

我通过naudio WaveIn方法从麦克风捕获音频流。。 现在,我可以将捕获的内容直接保存到wav文件中

现在我想这个wav将持续上传到我的ftp帐户。 i、 e用户是从麦克风接收的。。他的输入被存储到一个文件中,这个文件被上传到我的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()

以及持续将流保存到文件中:

我希望将此文件直接输入ftp缓冲区


任何帮助都将不胜感激。蒂亚

在创建WAV文件时,无法将其上载到FTP服务器。WAV文件的头文件中包含一些块大小,在您完成创建WAV文件之前不会填充这些块大小


另外,您还没有说明将文件上载到FTP时使用的是什么,但我预计大多数FTP文件上载程序不支持在上载过程中传输的文件越来越大。

看起来您需要一个计时器来每分钟停止一次录制,生成wav文件, 并在上载创建的wave文件的同时再次开始录制

您可以使用NetFramework本身的上载机制来简单地上载文件


我想你每分钟都会错过1秒钟,还不错。

谢谢你的回复,但我已经成功了。。是的,关于wav文件头的事情你是对的。但是我通过在任何数据输入之前将其插入到文件中来找到它。然后直接写入流数据。顺便说一句,我说的是vb.net自己的FTPwebRequest类。。
 writer.Write(e.Buffer, 0, e.BytesRecorded)