Форум программистов, компьютерный форум, киберфорум
Наши страницы
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
prorokk
0 / 0 / 0
Регистрация: 03.04.2015
Сообщений: 1
1

Avicap32: Передавать "Видео" с веб камеры на другой ПК

12.04.2015, 13:13. Просмотров 314. Ответов 0
Метки нет (Все метки)

Цель Передавать "Видео" с веб камеры на другой ПК.
Прогуглив не одну ночь получилось это:
1) Form1
2) Public WithEvents ClientSocket As New SocketClient
3)
Private Sub Data(ByVal b As Byte()) Handles ClientSocket .Data
Которая по
Case "WEBCUP"
Запускает WebCup.StartCap()

4)Есть Класс:
vb.net
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Public Class WebCup
........................................................
Public Sub StartCap()
        Dim mForm As New Form
        mForm.Visible = False
        mForm.Hide()
        mForm.ShowIcon = False
        mForm.ShowInTaskbar = False
        hHwnd = capCreateCaptureWindowA(0, WS_VISIBLE Or WS_CHILD, 0, 0, 640, 480, mForm.Handle.ToInt32, 0)
        If SendMessage(hHwnd, WM_CAP_DRIVER_CONNECT, 0, 0) Then
            'SendMessage(hHwnd, WM_CAP_DLG_VIDEOFORMAT, 0, 0)
            'SendHeaderMessage(hHwnd, WM_CAP_SET_CALLBACK_FRAME, 0, New Callback(AddressOf FrameCallback))
            While True
                Try
                    i = SendHeaderMessage(hHwnd, WM_CAP_SET_CALLBACK_FRAME, 0, New Callback(AddressOf FrameCallback))
                    SendMessage(hHwnd, WM_CAP_GRAB_FRAME, 0, 0)
                    Threading.Thread.Sleep(200)
                Catch ex As Exception
                    Debug.WriteLine(ex.Message & vbCrLf & ex.StackTrace)
                End Try
            End While
            SendMessage(hHwnd, WM_CAP_DRIVER_DISCONNECT, 0, 0)
        End If
    End Sub
 
    Function FrameCallback(ByVal lwnd As Integer, ByRef lpVHdr As VIDEOHDR) As Integer
        Dim Ms As New IO.MemoryStream
        Dim eps As EncoderParameters = New EncoderParameters(1)
        eps.Param(0) = New EncoderParameter(Drawing.Imaging.Encoder.Quality, 50)
        Dim ici As ImageCodecInfo = GetEncoderInfo("image/jpeg")
        Try
            Dim bmp = New Bitmap(640, 480, 640 * 3, Imaging.PixelFormat.Format24bppRgb, lpVHdr.lpData)
            bmp.Save(Ms, ici, eps)
            Debug.WriteLine(Ms.Length.ToString())
            Ms.Dispose()
            bmp.Dispose()
        Catch ex As Exception
            Debug.WriteLine(ex.Message & vbCrLf & ex.StackTrace)
        End Try
    End Function
End Class
.....................................................
в FrameCallback в Ms лежит Bitmap RGB

Вопрос как из FrameCallback передать Ms в ClientSocket.Client.Send()

и еще почему в цикле приходится Вешать CALLBACK

SendHeaderMessage(hHwnd, WM_CAP_SET_CALLBACK_FRAME, 0, New Callback(AddressOf FrameCallback))

Разве Одного раза не достаточно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2015, 13:13
Ответы с готовыми решениями:

Обработка "null" в MS Access "Приведение типа "|DBNull" к типу "String" является недопустимым"
Здравствуйте. Работаю с базой MS Access Вывожу в DataGridView таблицу...

Поиск в DGW вылетает с ошибкой "Приведение типа "|DBNull" к типу "String" является недопустимым."
В общем такой вопрос. Код рабочий. Только у меня не работает. For i = 0...

Ошибка "Приведение строки "explorer.exe" к типу "Double" является недопустимым" при записи в реестр
Помогите, хочу получить доступ к winlogon, что бы изменять любое другое...

Ошибка при запуске .exe файла из debug: "Приведение строки "Июнь" к типу "Double" является недопустимым"
Если запускать из самого проекта(F5), то все нормально, а если скомпилированный...

Оператор "+" для типов "String" и "System.Windows.Forms.ComboBox.ObjectCollection" не определен
Доброго времени суток,подскажите решение проблемы К комбобоксам привязал БД...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.04.2015, 13:13

Как исправить ошибку "Приведение строки "" к типу "Double" является недопустимым"?
Выдает ошибку в строке nasel(n).mat = Int(line(2)). Приведение строки "" к типу...

Приложение, содержащее поле со списком (задача "Молоко", "Кефир", "Сметана")
Приложение, содержащее поле со списком, текстовое поле и три кнопки....

Оператор "&" для типов "String" и "c_auth.ClientPacket" не определен
Прошу помощи у экспертов. Фото все по порядку. 1.Невозможно преобразовать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru