Hey Com,
ich habe da mal eine etwas dümmere Frage Undzwar habe ich in meinen Chat die Videotelefonie eingebaut, da ich leider vorerst keinen weiteren PC zur Verfügung habe frag ich nun euch.Es ist UDP, wenn ich jetzt eine UDP-Adresse herausfinde und mit Ihm eine Videotelefonie starte, wird dann er überhaupt angerufen oder muss ich einen Client dafür machen.(Würde ich nicht gerne machen sonder eher wie Skype).
Mein Code ist:
Hoffe Ihr könnt mir da helfen
Greet iEi
ich habe da mal eine etwas dümmere Frage Undzwar habe ich in meinen Chat die Videotelefonie eingebaut, da ich leider vorerst keinen weiteren PC zur Verfügung habe frag ich nun euch.Es ist UDP, wenn ich jetzt eine UDP-Adresse herausfinde und mit Ihm eine Videotelefonie starte, wird dann er überhaupt angerufen oder muss ich einen Client dafür machen.(Würde ich nicht gerne machen sonder eher wie Skype).
Mein Code ist:
VB.NET-Quellcode
- Dim subscriber As New UdpClient(2013)
- Dim publisher As New UdpClient()
- Dim mycomputername As String = Environment.MachineName
- Dim mycomputerIP() As System.Net.IPAddress = System.Net.Dns.GetHostAddresses(mycomputername)
- Dim Touchless As New TouchlessLib.TouchlessMgr
- Dim Camera1 As TouchlessLib.Camera = Touchless.Cameras.ElementAt(0)
- Dim picsize As Size = New Size(160, 120)
- Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
- publisher.Client.Blocking = False
- subscriber.Client.ReceiveTimeout = 100
- subscriber.Client.Blocking = False
- TB_Host.Text = Environment.MachineName
- Label3.Text = "My Name: " & Environment.MachineName
- Touchless.CurrentCamera = Camera1
- Touchless.CurrentCamera.CaptureWidth = picsize.Width
- Touchless.CurrentCamera.CaptureHeight = picsize.Height
- End Sub
- Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
- Try
- Dim bitmapz As Bitmap = New Bitmap(picsize.Width, picsize.Height)
- bitmapz = Touchless.CurrentCamera.GetCurrentImage
- PictureBox1.Image = bitmapz
- Dim sendbytes() As Byte
- bytesfromimage(sendbytes, bitmapz)
- publisher.Send(sendbytes, sendbytes.Length)
- Catch ex As Exception
- End Try
- Try
- Dim ep As System.Net.IPEndPoint = New System.Net.IPEndPoint(System.Net.IPAddress.Any, 0)
- Dim rcvbytes() As Byte = subscriber.Receive(ep)
- Dim bitmapz As Bitmap = New Bitmap(picsize.Width, picsize.Height)
- imagefrombytes(rcvbytes, bitmapz)
- PictureBox2.Image = bitmapz
- Catch ex As Exception
- End Try
- End Sub
- Private Sub imagefrombytes(ByRef bytez() As Byte, ByRef piccolor As Bitmap)
- Dim rect As New Rectangle(0, 0, piccolor.Width, piccolor.Height)
- Dim bmpData As System.Drawing.Imaging.BitmapData = piccolor.LockBits(rect, _
- Drawing.Imaging.ImageLockMode.ReadWrite, Imaging.PixelFormat.Format32bppRgb)
- Dim ptr As IntPtr = bmpData.Scan0
- Dim bytes As Integer = bmpData.Stride * piccolor.Height
- Dim rgbValues(bytes - 1) As Byte
- System.Runtime.InteropServices.Marshal.Copy(ptr, rgbValues, 0, bytes)
- Dim secondcounter As Integer
- Dim tempred As Integer
- Dim tempblue As Integer
- Dim tempgreen As Integer
- Dim tempalpha As Integer
- secondcounter = 0
- While secondcounter < rgbValues.Length
- tempblue = rgbValues(secondcounter)
- tempgreen = rgbValues(secondcounter + 1)
- tempred = rgbValues(secondcounter + 2)
- tempalpha = rgbValues(secondcounter + 3)
- tempalpha = 255
- tempred = bytez(((secondcounter * 0.25) * 3) + 0)
- tempgreen = bytez(((secondcounter * 0.25) * 3) + 1)
- tempblue = bytez(((secondcounter * 0.25) * 3) + 2)
- rgbValues(secondcounter) = tempblue
- rgbValues(secondcounter + 1) = tempgreen
- rgbValues(secondcounter + 2) = tempred
- rgbValues(secondcounter + 3) = tempalpha
- secondcounter = secondcounter + 4
- End While
- System.Runtime.InteropServices.Marshal.Copy(rgbValues, 0, ptr, bytes)
- piccolor.UnlockBits(bmpData)
- End Sub
- Private Sub bytesfromimage(ByRef bytez() As Byte, ByRef piccolor As Bitmap)
- Dim rect As New Rectangle(0, 0, piccolor.Width, piccolor.Height)
- Dim bmpData As System.Drawing.Imaging.BitmapData = piccolor.LockBits(rect, _
- Drawing.Imaging.ImageLockMode.ReadWrite, Imaging.PixelFormat.Format32bppRgb)
- Dim ptr As IntPtr = bmpData.Scan0
- Dim bytes As Integer = bmpData.Stride * piccolor.Height
- Dim rgbValues(bytes - 1) As Byte
- System.Runtime.InteropServices.Marshal.Copy(ptr, rgbValues, 0, bytes)
- Dim secondcounter As Integer
- Dim tempred As Integer
- Dim tempblue As Integer
- Dim tempgreen As Integer
- Dim tempalpha As Integer
- secondcounter = 0
- Dim bytelist As List(Of Byte) = New List(Of Byte)
- While secondcounter < rgbValues.Length
- tempblue = rgbValues(secondcounter)
- tempgreen = rgbValues(secondcounter + 1)
- tempred = rgbValues(secondcounter + 2)
- tempalpha = rgbValues(secondcounter + 3)
- tempalpha = 255
- bytelist.Add(tempred)
- bytelist.Add(tempgreen)
- bytelist.Add(tempblue)
- rgbValues(secondcounter) = tempblue
- rgbValues(secondcounter + 1) = tempgreen
- rgbValues(secondcounter + 2) = tempred
- rgbValues(secondcounter + 3) = tempalpha
- secondcounter = secondcounter + 4
- End While
- System.Runtime.InteropServices.Marshal.Copy(rgbValues, 0, ptr, bytes)
- piccolor.UnlockBits(bmpData)
- Dim bytearray(bytelist.Count - 1) As Byte
- For i = 0 To bytelist.Count - 1
- bytearray(i) = bytelist(i)
- Next
- bytez = bytearray
- End Sub
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- publisher.Connect(tbHOST, 2013)
- End Sub
Hoffe Ihr könnt mir da helfen
Greet iEi