[VB 2010] Problem mit bass.dll

12/02/2010 21:11 .Sebbel#1
Hey Com,

Ich hab bei meinem aktuellen Projekt ein Problem mit der bass.dll, denn die Musik startet nicht. Ich had auch schon dein Freund und Helfer Dr. Google gefragt, doch er konnte mir nix gutes antworten Hier ist der Code:
Die Bass-Dll hab ich so importiert:
Code:
[COLOR=Blue]Imports [/COLOR]Un4seen.Bass
Code:
 [COLOR=Blue]Private Sub[/COLOR] Form2_Load([COLOR=Blue]ByVal [/COLOR]sender [COLOR=Blue]As [/COLOR]System.Object, ByVal e As System.EventArgs) [COLOR=Blue]Handles MyBase[/COLOR].Load
               [COLOR=DeepSkyBlue]Bass[/COLOR].BASS_Init(-1, 44100, [COLOR=DeepSkyBlue]BASSInit[/COLOR].BASS_DEVICE_CPSPEAKERS, [COLOR=DeepSkyBlue]IntPtr[/COLOR].Zero, [COLOR=Blue]Nothing[/COLOR])
        [COLOR=Blue]If My[/COLOR].Settings.Sounds = "1" [COLOR=Blue]Then[/COLOR]
            stream = [COLOR=DeepSkyBlue]Bass[/COLOR].BASS_StreamCreateFile([COLOR=Red]"/Data/sound1.mp3"[/COLOR], 0, 0, [COLOR=DeepSkyBlue]BASSFlag[/COLOR].BASS_STREAM_AUTOFREE [COLOR=Blue]Or[/COLOR] [COLOR=Cyan]BASSFlag[/COLOR].BASS_STREAM_PRESCAN)
            [COLOR=Cyan]Bass[/COLOR].BASS_ChannelPlay(stream, [COLOR=Blue]True[/COLOR])
      [COLOR=Blue]  End If[/COLOR]
        If My.Settings.Ausbaustufe = "0" Then ProgressBar1.Value = 0
        If My.Settings.Ausbaustufe = "1" Then ProgressBar1.Value = 10
        If My.Settings.Ausbaustufe = "2" Then ProgressBar1.Value = 20
        If My.Settings.Ausbaustufe = "3" Then ProgressBar1.Value = 30
        If My.Settings.Ausbaustufe = "4" Then ProgressBar1.Value = 40
        If My.Settings.Ausbaustufe = "5" Then ProgressBar1.Value = 50
        If My.Settings.Ausbaustufe = "6" Then ProgressBar1.Value = 60
        If My.Settings.Ausbaustufe = "7" Then ProgressBar1.Value = 70
        If My.Settings.Ausbaustufe = "8" Then ProgressBar1.Value = 80
        If My.Settings.Ausbaustufe = "9" Then ProgressBar1.Value = 90
        If My.Settings.Ausbaustufe = "10" Then ProgressBar1.Value = 100
        My.Settings.Guthaben = ToolStripLabel13.Text
        If My.Settings.Ausbaustufe = "0" Then Label2.Text = "0"
        If My.Settings.Ausbaustufe = "1" Then Label2.Text = "1"
        If My.Settings.Ausbaustufe = "2" Then Label2.Text = "2"
        If My.Settings.Ausbaustufe = "3" Then Label2.Text = "3"
        If My.Settings.Ausbaustufe = "4" Then Label2.Text = "4"
        If My.Settings.Ausbaustufe = "5" Then Label2.Text = "5"
        If My.Settings.Ausbaustufe = "6" Then Label2.Text = "6"
        If My.Settings.Ausbaustufe = "7" Then Label2.Text = "7"
        If My.Settings.Ausbaustufe = "8" Then Label2.Text = "8"
        If My.Settings.Ausbaustufe = "9" Then Label2.Text = "9"
        If My.Settings.Ausbaustufe = "10" Then Label2.Text = "10"
        If My.Settings.Topmost = "1" Then TopMost = True
        If My.Settings.Ausbaustufe = "0" Then
            If ToolStripLabel2.Text < 1000 Then Button1.Enabled = False
        End If
        If My.Settings.Ausbaustufe = "1" Then
            If ToolStripLabel2.Text < 2000 Then Button1.Enabled = False
        End If
        If My.Settings.Ausbaustufe = "2" Then
            If ToolStripLabel2.Text < 5000 Then Button1.Enabled = False
        End If
        If My.Settings.Ausbaustufe = "3" Then
            If ToolStripLabel2.Text < 10000 Then Button1.Enabled = False
        End If
        If My.Settings.Ausbaustufe = "4" Then
            If ToolStripLabel2.Text < 20000 Then Button1.Enabled = False
        End If
        If My.Settings.Ausbaustufe = "5" Then
            If ToolStripLabel2.Text < 25000 Then Button1.Enabled = False
        End If
        If My.Settings.Ausbaustufe = "6" Then
            If ToolStripLabel2.Text < 40000 Then Button1.Enabled = False
        End If
        If My.Settings.Ausbaustufe = "7" Then
            If ToolStripLabel2.Text < 45000 Then Button1.Enabled = False
        End If
        If My.Settings.Ausbaustufe = "8" Then
            If ToolStripLabel2.Text < 50000 Then Button1.Enabled = False
        End If
        If My.Settings.Ausbaustufe = "9" Then
            If ToolStripLabel2.Text < 60000 Then Button1.Enabled = False
        End If
        If My.Settings.Ausbaustufe = "10" Then
            If ToolStripLabel2.Text < 75000 Then Button1.Enabled = False
        End If
        Me.Text = My.Settings.Player & "´s Lager"
        Timer1.Start()
    End Sub
Woran kanns liegen? HAb zur Übersichtlichkeit mal den ersten Teil gefärbt.
12/02/2010 21:57 MoepMeep#2
BP ins erste if gesetzt und geschaut ob er reinspringt?
12/03/2010 14:46 .Sebbel#3
Ich hatte schon alles im if, dann hatte ich gar nix im if, dann hatte ich nur den startcode im if und jetzt so. Nie funzts.
12/04/2010 17:20 †(•̪●)WhatTheFuck(•̪●)†#4
Quote:
"/Data/sound1.mp3"
hmm da müsste eigentlich soviel ich weiss noch C: oder so vor halt wo drunter es gespeichert werden soll
12/04/2010 17:30 nkkk#5
mimm mal diese vielen if da weg, die sind hässlich^^,
z.B. mit
Code:
if(Int32.CanParse(My.Settings.Ausbaustufe) AND
    Int32.Parse(My.Settings.Ausbaustufe) <= 10 AND
    Int32.Parse(My.Settings.Ausbaustufe) >= 0 )
then
       ProgressBar1.Value = Int32.Parse(My.Settings.Ausbaustufe) * 10;
statt den ersten 10 if. kannst du deinen code kürzer gestalten.

PS, da ich kein VB prorgammiere kann es sein, dass da ein paar sytaxfehler drind sind, es ist aber wohl klar was ich meine.
12/05/2010 07:36 .Sebbel#6
@ whatthefuck: Und wenn derjenige, der das Programm installiert nicht c: nimmt? Dann geht's ja auch nicht

Quote:
Originally Posted by nkkk View Post
mimm mal diese vielen if da weg, die sind hässlich^^,
z.B. mit
Code:
if(Int32.CanParse(My.Settings.Ausbaustufe) AND
    Int32.Parse(My.Settings.Ausbaustufe) <= 10 AND
    Int32.Parse(My.Settings.Ausbaustufe) >= 0 )
then
       ProgressBar1.Value = Int32.Parse(My.Settings.Ausbaustufe) * 10;
statt den ersten 10 if. kannst du deinen code kürzer gestalten.

PS, da ich kein VB prorgammiere kann es sein, dass da ein paar sytaxfehler drind sind, es ist aber wohl klar was ich meine.
Ich mag If`s aber, und es Funktioniert trotzdem
12/05/2010 10:25 MoepMeep#7
Quote:
Originally Posted by affensohn123 View Post
@ whatthefuck: Und wenn derjenige, der das Programm installiert nicht c: nimmt? Dann geht's ja auch nicht
Startpfad auslesen? :>

Quote:
Ich mag If`s aber, und es Funktioniert trotzdem
Jo, man kann auch alkoholfreies Bier trinken, tut nur niemand :>
12/05/2010 10:28 †(•̪●)WhatTheFuck(•̪●)†#8
affensohn er soll die datei doch erstellen. und da ist es egal wo er das programm installiert hat du musst es aber so angeben ("C:/Data/sound1.mp3"
weil er ja die datei erstellen soll und wenn er nicht weiss wo er die erstellen soll also unter C: oder D: dan ist es normal das es nicht funkt
12/06/2010 16:07 .Sebbel#9
Danke, hat funktioniert :)
12/06/2010 19:17 †(•̪●)WhatTheFuck(•̪●)†#10
Bitte habe ich doch gesagt ;P
12/07/2010 00:09 MrSm!th#11
Eigentlich müsste das aber egal sein, nur würde eben mit "/Data/sound1.mp3" der Pfad relativ ausgelesen werden, also
"Prorammverzeichnis/Data/sound1.mp3"
, was auch durchaus am sinnvollsten wäre, denn er hat schon Recht, was ist, wenn der User es nicht in C packt?
12/07/2010 20:25 †(•̪●)WhatTheFuck(•̪●)†#12
das ist egal er soll die ja nur erstellen
es ist egal wo das programm gespeichert ;P
weil er soll die datei ja erstellen