السلام عليكم
اخواني عند الدخول في الحلقة التاليه
For x As Integer = 0 To length
length2 = Un4seen.Bass.Bass.BASS_ChannelGetData(stream, data, length)
Nextاصبح غير قادر ع التحكم في الفورم حتى الخروج من الحلقه وهي حلقة طويلة جدا بالالاف .....
ارجوا ان تساعدوني في ايجاد الحل
هذا البرنامج كاملا
Public Class Form1
Private StreamTHD As Thread
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text.Trim = "" Then
MsgBox("You must choose file", MsgBoxStyle.OkOnly, "ERROR")
Else
Application.DoEvents()
Stream()
End If
End Sub
Private Sub Stream()
Dim fileName As String = "C:\test.mp3"
Dim eror As String = Nothing
If Un4seen.Bass.Bass.LoadMe() = False Then
MsgBox("Error")
Exit Sub
End If
Un4seen.Bass.Bass.BASS_Init(-1, 44100, BASSInit.BASS_DEVICE_DEFAULT, IntPtr.Zero, Nothing)
Dim stream As Integer = Un4seen.Bass.Bass.BASS_StreamCreateFile(TextBox1.Text, 0, 0, BASSFlag.BASS_STREAM_DECODE)
eror = Un4seen.Bass.Bass.BASS_ErrorGetCode
If stream = 0 Then
'' Stream = 0 error
MsgBox("StreamCreatefileError" & Un4seen.Bass.Bass.BASS_ErrorGetCode)
End If
Dim lame As New EncoderLAME(stream)
eror = Un4seen.Bass.Bass.BASS_ErrorGetCode
lame.InputFile = Nothing 'STDIN
eror = Un4seen.Bass.Bass.BASS_ErrorGetCode
lame.OutputFile = Nothing 'STDOUT
eror = Un4seen.Bass.Bass.BASS_ErrorGetCode
lame.LAME_Bitrate = CInt(EncoderLAME.BITRATE.kbps_128)
eror = Un4seen.Bass.Bass.BASS_ErrorGetCode
lame.LAME_Mode = EncoderLAME.LAMEMode.Default
eror = Un4seen.Bass.Bass.BASS_ErrorGetCode
lame.LAME_TargetSampleRate = Int(EncoderLAME.SAMPLERATE.Hz_44100)
eror = Un4seen.Bass.Bass.BASS_ErrorGetCode
lame.LAME_Quality = EncoderLAME.LAMEQuality.Quality
eror = Un4seen.Bass.Bass.BASS_ErrorGetCode
'lame.Start(Nothing, IntPtr.Zero, False)
'eror = Un4seen.Bass.Bass.BASS_ErrorGetCode
If Not lame.Start(Nothing, IntPtr.Zero, False) Then
MsgBox("LameStartError" & Un4seen.Bass.Bass.BASS_ErrorGetCode)
End If
Dim icecast As New ICEcast(lame)
icecast.ServerAddress = "Salem-VAIO"
icecast.ServerPort = 8001
icecast.Username = "salem"
icecast.Password = "b2006d"
icecast.MountPoint = "/stream"
icecast.StreamName = "2"
icecast.StreamGenre = " Genre 2"
icecast.PublicFlag = True
icecast.SongTitle = "Test 2 Song"
If icecast.Connect() Then
If icecast.Login() Then
If icecast.IsConnected() Then
Dim m_BroadCast As New BroadCast(icecast)
m_BroadCast.AutoReconnect = True
m_BroadCast.ReconnectTimeout = 5
Dim length As Integer = CInt(Un4seen.Bass.Bass.BASS_ChannelSeconds2Bytes(stream, 5))
Dim data(length) As Byte
Dim length2 As Integer
For x As Integer = 0 To length
length2 = Un4seen.Bass.Bass.BASS_ChannelGetData(stream, data, length)
Next
MsgBox("ok")
End If
End If
Else
MsgBox("Error")
End If
Return
End Sub
End Sub
End Class