NAudio를 사용하여 오디오 파일 .wav를 PC간에 정확하게 보내고 있습니다.NAudio를 사용하여 네트워크를 통해 .Wav 파일 보내기
나는 네트워크 스트림을 통해 메시지를 보냈지 만 메시지 수신 여부를 확인할 방법이 없습니다. 왜냐하면 지금까지는 코드를 수신하는 데 문제가 있기 때문입니다.
다음은 전송 코드입니다. 여기
public void StartConnection()
{
_connection = new TcpClient("localhost",1111);
_stream = _connection.GetStream();
SendFile(_stream,_waveStream);
}
public void SendFile(NetworkStream StreamToWrite,WaveStream StreamToSend)
{
WaveFileWriter write = new WaveFileWriter(StreamToWrite,StreamToSend.WaveFormat);
byte[] decoded = FromStreamToByte(StreamToSend);
write.Write(decoded,0,decoded.Length);
write.Flush();
}
및
지금 내가read
의
read
메소드를 호출 한 다음 바이트 배열을 요구하는 경우 때문에 코드를 수신을 계속하는 경우에 문제가 발생하고
public void ListenConnection()
{
_listener = new TcpListener(IPAddress.Any,1111);
_listener.Start();
TcpClient receiver = _listener.AcceptTcpClient();
_stream = receiver.GetStream();
}
public void ReadFile(NetworkStream stream)
{
WaveFileReader read = new WaveFileReader(stream);
}
, 오프셋
수신 코드 및 길이. 그러나 배열에 대해 묻는 이유는 모든 데이터를 수신 한 후에 배열을 요구하는 이유입니다.ReadFile
방법을 어떻게 진행해야하는지에 대한 조언.
UPDATE --- 내가 WaveFileWriter에 사용하기 위해 sendfile을 전달 받고는 NetworkStream이 결정되지 않았 음 길이를 발견하고 그래서는 Stream Does not Support Seek Operations
제공 디버깅하는 동안
. 그러나 그것의 프로토 타입은 어떤 스트림을 받아 들일 수 있기 때문에 그것이 왜이 오류를 제공하는지 이해가 안돼.
이제 정확하게 네트워크 스트림을 통해 .wav 파일을 보내지 않기 때문에 내 질문 제목이 약간 오도 된 것 같습니다. 대신 SendFile의 'StreamToSend'는 [this] (http://opensebj.blogspot.com/2009/02/introduction-to-using-naudio.html) 자습서에서 얻은 또 다른 스트림입니다. –
이미 WAV 전화가있는 경우 NetworkStream을 통해 보내면됩니다. WaveFileWriter를 전혀 사용할 필요가 없습니다. –
안녕하세요 @ MarkHeath WasapiLoopbackCapture로 캡처 한 네트워크를 통해 데이터를 보내는 방법에 대한 예제를 제공해 주시겠습니까? PCM 오디오를 보내려면 어떻게해야합니까? 감사! –