ここにあるNAUDIOライブラリのデモプロジェクトを見ています:
彼らは、現在UDP上で実行されているネットワークストリーミングの例を持っています. TCP 経由で実行するように変換するために何をする必要があるのか 疑問に思っています。各パケットがサーバーに確実に到着するように、TCP 経由で実行する必要があります。
private void Connect(IPEndPoint endPoint, int inputDeviceNumber, INetworkChatCodec codec)
{
waveIn = new WaveIn();
waveIn.BufferMilliseconds = 50;
waveIn.DeviceNumber = inputDeviceNumber;
waveIn.WaveFormat = codec.RecordFormat;
waveIn.DataAvailable += waveIn_DataAvailable;
waveIn.StartRecording();
udpSender = new UdpClient();
udpListener = new UdpClient();
//endPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 7080);
// To allow us to talk to ourselves for test purposes:
// http://stackoverflow.com/questions/687868/sending-and-receiving-udp-packets-between-two-programs-on-the-same-computer
//udpSender.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
udpListener.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
//udpSender.Client.Bind(endPoint);
udpListener.Client.Bind(endPoint);
udpSender.Connect(endPoint);
waveOut = new WaveOut();
waveProvider = new BufferedWaveProvider(codec.RecordFormat);
waveOut.Init(waveProvider);
waveOut.Play();
connected = true;
ListenerThreadState state = new ListenerThreadState() { Codec = codec, EndPoint = endPoint };
ThreadPool.QueueUserWorkItem(this.ListenerThread, state);
}
どんな助けでも大歓迎です。