In the below Sub what I have highlighted in red works and I do not get any Compiler error
However, in this Sub I code somewhat the same way but I get a Compiler error: Can't assign to Array
Code:
Public Sub SaveStreamBuffer(StreamIdx As Integer, StringRecordBuffer As String)
If (LenB(MidB(PlayWaveBuffer.Stream(StreamIdx).Waves(CurRecPos(StreamIdx)).Data, 1)) < 3) Then
If Len(StringRecordBuffer) > 0 Then
Dim tempArray() As Byte
ReDim tempArray(Len(StringRecordBuffer))
tempArray = StrConv(StringRecordBuffer, vbFromUnicode)
PlayWaveBuffer.Stream(StreamIdx).Waves(CurRecPos(StreamIdx)).Data = tempArray
IncBufferPointer CurRecPos(StreamIdx)
End If
End If
End Sub
Code:
Private Sub Winsock1_DataArrival(Index As Integer, ByVal BytesTotal As Long)
Dim WaveData As String
Static ExBytes(MAXTCP) As Long
Static ExData As String
If Winsock1(Index).BytesReceived > 0 Then
Do While Winsock1(Index).BytesReceived > 0
If ExBytes(Index) = 0 Then
If waveChunkSize <= Winsock1(Index).BytesReceived Then
Winsock1(Index).GetData WaveData, vbString, waveChunkSize
SaveStreamBuffer Index, WaveData
AddStreamToQueue Index
Else
ExBytes(Index) = Winsock1(Index).BytesReceived
Winsock1(Index).GetData MidB(ExData, Index), vbString, ExBytes(Index)
End If
Else
Winsock1(Index).GetData WaveData, vbByte + vbArray, waveChunkSize - ExBytes(Index)
MidB(ExData, Index) = MidB(Mid(ExData, Index), 1) & MidB(WaveData, 1)
SaveStreamBuffer Index, Mid(ExData, Index)
AddStreamToQueue Index
ExBytes = StrConv(String(MAXTCP, Chr(0)), vbFromUnicode)
ExData = ""
End If
Loop
If Not Playing And PlayDeviceFree And Not Recording And RecDeviceFree Then
StartPlayBack
End If
End If
End Sub