bass.dll Aufnahme mit Button stoppen

  • VB.NET

Es gibt 22 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Hier mal mein Code:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Imports Un4seen.Bass
    2. Imports System.IO
    3. Public Class Form1
    4. Public stream As Integer
    5. Public fs As System.IO.FileStream = Nothing
    6. Public myDownloadProc As DOWNLOADPROC
    7. Public data() As Byte
    8. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    9. BassNet.Registration("@@@@@", "#######")
    10. Bass.BASS_Init(-1, 44100, BASSInit.BASS_DEVICE_CPSPEAKERS, IntPtr.Zero, Nothing)
    11. End Sub
    12. Private Sub MyDownload(ByVal buffer As IntPtr, ByVal length As Integer, ByVal user As IntPtr)
    13. If fs Is Nothing Then
    14. ' Datei erzeugen
    15. fs = File.OpenWrite("C:\Temp\bass\Test.mp3")
    16. End If
    17. If buffer = IntPtr.Zero Then
    18. ' Download fertig
    19. fs.Flush()
    20. fs.Close()
    21. Else
    22. ' Größe des Buffers anpassen
    23. If data Is Nothing OrElse data.Length < length Then
    24. data = New Byte(length) {}
    25. End If
    26. ' Speicher in Buffer kopieren
    27. System.Runtime.InteropServices.Marshal.Copy(buffer, data, 0, length)
    28. ' In Datei schreiben
    29. fs.Write(data, 0, length)
    30. End If
    31. End Sub
    32. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    33. myDownloadProc = New DOWNLOADPROC(AddressOf MyDownload)
    34. Dim url As String = "http://85.239.108.41/90elf_rp01"
    35. stream = Bass.BASS_StreamCreateURL(url, 0, BASSFlag.BASS_STREAM_AUTOFREE, myDownloadProc, 0)
    36. Bass.BASS_ChannelPlay(stream, True)
    37. End Sub
    38. Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    39. Bass.BASS_Stop()
    40. End Sub
    41. End Class
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!