It doesn't happen here. It is probably a hardware lag. Make sure to run the Android app in Release mode. You can also lower the frame rate. Maybe it is too fast for the device.
Sub Process_Globals
Private frontCamera As Boolean = False
Public ServerIp As String = edittext1 '?????
Public ServerPort As Int = 17178
Private IntervalMs As Int = 150
Private lastPreviewSaved As Long
End Sub
Private Sub Connect
If tryingToConnect Then Return
tryingToConnect = True
Log("Connecting to: " & Main.ServerIp & ":" & Main.ServerPort)
client.Initialize("client")
client.Connect(Main.ServerIp, Main.ServerPort, 20000)
End Sub
#Region Module Attributes
#FullScreen: False
#IncludeTitle: False
#ApplicationLabel: Cliente Servidor
#VersionCode: 1
#VersionName:
#SupportedOrientations: landscape
#CanInstallToExternalStorage: False
#End Region
#Region Activity Attributes
#FullScreen: true
#IncludeTitle: false
#End Region
'Activity module
Sub Process_Globals
Private frontCamera As Boolean = False
Public ServerPort As Int
Private IntervalMs As Int = 150
Private lastPreviewSaved As Long
Public ServerIp As String
End Sub
Sub Globals
Private Panel1 As Panel
Private camEx As CameraExClass
Private CamNum As Int = 0
Private btnCameraNumber As Button
Private EditText1 As EditText
Dim Id As InputDialog
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("1")
'Dim Id As InputDialog
Id.Input = ""
Id.Show("", "", "OK", "","", Null )
btnCameraNumber_Click
StartService(Communicator)
ServerIp = Id.Input
ServerPort = 17174 + CamNum
StartService(Communicator)
End Sub
Sub Activity_Resume
InitializeCamera
End Sub
Private Sub InitializeCamera
Try
camEx.Initialize(Panel1, frontCamera, Me, "Camera1")
Catch
frontCamera = True
camEx.Initialize(Panel1, frontCamera, Me, "Camera1")
End Try
End Sub
Sub Activity_Pause (UserClosed As Boolean)
camEx.Release
End Sub
Sub Camera1_Ready (Success As Boolean)
If Success Then
camEx.StartPreview
Log("Supported sizes:")
For Each size As CameraSize In camEx.GetSupportedPicturesSizes
Log(size.Width & "x" & size.Height)
Next
camEx.SetJpegQuality(90)
Log(camEx.GetSupportedFlashModes)
camEx.CommitParameters
Else
ToastMessageShow("Cannot open camera.", True)
End If
End Sub
Sub btnTakePicture_Click
camEx.TakePicture
End Sub
Sub Camera1_Preview (PreviewPic() As Byte)
If DateTime.Now > lastPreviewSaved + IntervalMs Then
Dim jpeg() As Byte = camEx.PreviewImageToJpeg(PreviewPic, 70)
lastPreviewSaved = DateTime.Now
CallSubDelayed2(Communicator, "Send", jpeg)
End If
End Sub
Sub Camera1_PictureTaken (Data() As Byte)
camEx.SavePictureToFile(Data, File.DirRootExternal, "1.jpg")
camEx.StartPreview
End Sub
Sub btnEffect_Click
Dim effects() As String = Array As String("aqua", "blackboard", "mono", "negative", "posterize", _
"sepia", "solarize", "whiteboard")
Dim effect As String = effects(Rnd(0, effects.Length))
camEx.SetColorEffect(effect)
ToastMessageShow(effect, False)
camEx.CommitParameters
End Sub
Sub ChangeCamera_Click
camEx.Release
frontCamera = Not(frontCamera)
InitializeCamera
End Sub
Sub btnCameraNumber_Click
CamNum = CamNum +1
If CamNum = 5 Then CamNum = 1
btnCameraNumber.text = "# " & CamNum
StopService(Communicator)
ServerPort = 17174 + CamNum
StartService(Communicator)
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("1")
'Dim Id As InputDialog
Id.Input = ""
Id.Show("", "", "OK", "","", Null )
btnCameraNumber_Click
StartService(Communicator)
ServerIp = Id.Input
msgbox("my ip is: " & ServerIp, "test")
ServerPort = 17174 + CamNum
StartService(Communicator)
End Sub
Public Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("1")
Id.Input = ""
Id.Show("", "Put Here your ip", "OK", "","", Null )
btnCameraNumber_Click
StartService(Communicator)
ServerIp = Id.Input
ServerPort = 17174 + CamNum
StartService(Communicator)
Msgbox("my ip is:" & ServerIp , "test")
End Sub
Private Sub Connect
If tryingToConnect Then Return
tryingToConnect = True
Log("Connecting to: " & Main.ServerIp & ":" & Main.ServerPort)
client.Initialize("client")
client.Connect(Main.ServerIp, Main.ServerPort, 20000)
End Sub
#Region Module Attributes
#FullScreen: False
#IncludeTitle: False
#ApplicationLabel: Cliente Servidor
#VersionCode: 1
#VersionName:
#SupportedOrientations: landscape
#CanInstallToExternalStorage: False
#End Region
#Region Activity Attributes
#FullScreen: true
#IncludeTitle: false
#End Region
'Activity module
Sub Process_Globals
Private frontCamera As Boolean = False
Public ServerPort As Int
Public ServerIp As String
Private IntervalMs As Int = 150
Private lastPreviewSaved As Long
End Sub
Sub Globals
Private Panel1 As Panel
Private camEx As CameraExClass
Private CamNum As Int = 0
Private btnCameraNumber As Button
Private EditText1 As EditText
Dim Id As InputDialog
End Sub
Public Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("1")
Id.Input = ""
Id.Show("", "Put Here your ip", "OK", "","", Null )
btnCameraNumber_Click
StartService(Communicator)
ServerIp = Id.Input
ServerPort = 17174 + CamNum
StartService(Communicator)
Msgbox("my ip is:" & ServerIp , "test")
End Sub
Sub Activity_Resume
InitializeCamera
End Sub
Private Sub InitializeCamera
Try
camEx.Initialize(Panel1, frontCamera, Me, "Camera1")
Catch
frontCamera = True
camEx.Initialize(Panel1, frontCamera, Me, "Camera1")
End Try
End Sub
Sub Activity_Pause (UserClosed As Boolean)
camEx.Release
End Sub
Sub Camera1_Ready (Success As Boolean)
If Success Then
camEx.StartPreview
Log("Supported sizes:")
For Each size As CameraSize In camEx.GetSupportedPicturesSizes
Log(size.Width & "x" & size.Height)
Next
camEx.SetJpegQuality(90)
Log(camEx.GetSupportedFlashModes)
camEx.CommitParameters
Else
ToastMessageShow("Cannot open camera.", True)
End If
End Sub
Sub btnTakePicture_Click
camEx.TakePicture
End Sub
Sub Camera1_Preview (PreviewPic() As Byte)
If DateTime.Now > lastPreviewSaved + IntervalMs Then
Dim jpeg() As Byte = camEx.PreviewImageToJpeg(PreviewPic, 70)
lastPreviewSaved = DateTime.Now
CallSubDelayed2(Communicator, "Send", jpeg)
End If
End Sub
Sub Camera1_PictureTaken (Data() As Byte)
camEx.SavePictureToFile(Data, File.DirRootExternal, "1.jpg")
camEx.StartPreview
End Sub
Sub btnEffect_Click
Dim effects() As String = Array As String("aqua", "blackboard", "mono", "negative", "posterize", _
"sepia", "solarize", "whiteboard")
Dim effect As String = effects(Rnd(0, effects.Length))
camEx.SetColorEffect(effect)
ToastMessageShow(effect, False)
camEx.CommitParameters
End Sub
Sub ChangeCamera_Click
camEx.Release
frontCamera = Not(frontCamera)
InitializeCamera
End Sub
Sub btnCameraNumber_Click
CamNum = CamNum +1
If CamNum = 5 Then CamNum = 1
btnCameraNumber.text = "# " & CamNum
StopService(Communicator)
ServerPort = 17174 + CamNum
StartService(Communicator)
End Sub
An error has occurred in sub; a_camera_initializcamera java line:818 java.lang.ClassCastException:java.lang.NoClassDefFoundErrorDoes it work with this example: [Class] CameraEx - Extends the camera library functionality
Hi Erel, is possible to do the reverse (I think so but don´t know how) the computer or ipcam send image to the android app ? have a sample ?