[Bass4.dll] Problem

  • VB.NET

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von Gather.

    [Bass4.dll] Problem

    Hay, ich habe folgenden Code, erstmal C/P um zu gucken, ob er überhaupt klappt:

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public peak(2) As Single
    2. Public stream As Integer
    3. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    4. Bass.BASS_Init(-1, 44100, BASSInit.BASS_DEVICE_CPSPEAKERS, IntPtr.Zero, Nothing)
    5. stream = Bass.BASS_StreamCreateFile("C:\Users\Alexander\Desktop\032-scooter_-_jadore_hardcore.mp3", 0, 0, BASSFlag.BASS_STREAM_AUTOFREE Or BASSFlag.BASS_STREAM_PRESCAN)
    6. Bass.BASS_ChannelPlay(stream, False)
    7. End Sub


    Aber es passiert einfach: garnichts.
    Wo liegt mein Fehler. Ich habe die Version 4 der Dll als Verweis hinzugefügt.

    Edit: Im Beispielprjekt kommt bei mir der Fehler:

    Quellcode

    1. Der Typeninitialisierer für "Un4seen.Bass.Bass" hat eine Ausnahme verursacht.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „LaMiy“ ()

    Hab sie noch garnicht gespeichert...WIe komplimiere ich das als 32bit ?

    Habe etwas weiter gebastelt. jetzt sieht es so aus:
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Option Strict On
    2. Imports Un4seen.Bass
    3. Public Class Form1
    4. Public stream As IntPtr
    5. Public peak(2) As Single
    6. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    7. If (Bass.BASS_Init(-1, 44100, BASSInit.BASS_DEVICE_DEFAULT, Me.Handle)) = False Then
    8. MessageBox.Show("Fehler beim Laden der Library")
    9. End If
    10. End Sub
    11. Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    12. Bass.BASS_ChannelGetLevel(CInt(stream), peak)
    13. Dim rechts As Integer = CInt((Math.Round(peak(1), 3) * 100).ToString)
    14. Dim links As Integer = CInt((Math.Round(peak(2), 3) * 100).ToString)
    15. Try
    16. ProgressBar1.Value = rechts
    17. ProgressBar2.Value = links
    18. Catch
    19. End Try
    20. End Sub
    21. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    22. If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
    23. stream = CType(Bass.BASS_StreamCreateFile(OpenFileDialog1.FileName, 0, 0, BASSFlag.BASS_STREAM_AUTOFREE Or BASSFlag.BASS_STREAM_PRESCAN), IntPtr)
    24. Bass.BASS_ChannelPlay(CInt(stream), True)
    25. Timer1.Start()
    26. End If
    27. End Sub


    Die Fehlermeldung kommt bei
    Spoiler anzeigen

    VB.NET-Quellcode

    1. stream = CType(Bass.BASS_StreamCreateFile(OpenFileDialog1.FileName, 0, 0, BASSFlag.BASS_STREAM_AUTOFREE Or BASSFlag.BASS_STREAM_PRESCAN), IntPtr)

    Und da steht:
    Der Typeninitialisierer für "Un4seen.Bass.Bass" hat eine Ausnahme verursacht.

    Ich weiß nicht woran es liegt.
    Ich glaub ich könnte das jetzt sicher schon zum 10. mal erklären warum und wieso aber ums ganz kurz zu machen.
    Bass.NET.dll greift auf Bass.dll zu. Ist Bass.dll nicht vorhanden haut Bass.NET.dll eine Exception und die wird wieder in einer Anwendungen gehauen. -> Exception -> Fehler.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    jep. Die bass.dll muss genau im selben Verzeichnis wie die bass.Net.dll liegen. Und diese beide im Programmverzeichnis.
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!