Bass.dll, Bass_Active

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

ozzi789

Betreff: Bass.dll, Bass_Active

BeitragMi, Jun 18, 2008 15:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi

Ich hab da ein kleines Problem mit meinem "Player" *hust*
Der befehl BASS_ACTIVE_STOPPED funkt ned und ich weis nicht wie ich das hinbringen soll eine "nach dem ende des liedes " funktion zu coden Embarassed

Code: [AUSKLAPPEN]

If liedfertig and nichtnurpausiert
...
endif
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Abrexxes

BeitragSo, Jun 22, 2008 13:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, sorry für die späte Antwort.

Das da ist kein Befehl sondern ein "FLAG".

Du kannst diesen FLAG mit BASS_ChannelIsActive abfragen. Ist die Antwort 0 dann ist der Channel gestoppt.

Hier alle FLAGS aus der bass.bb
Code: [AUSKLAPPEN]
; BASS_ChannelIsActive  values
Const BASS_ACTIVE_STOPPED = 0
Const BASS_ACTIVE_PLAYING = 1
Const BASS_ACTIVE_STALLED = 2
Const BASS_ACTIVE_PAUSED = 3


Ansonsten sag mir bitte WO DU DENN FLAG verwendest, also bei welchem Befehl. Ich kann jetzt nicht die gesamten Docks durchgehen und raten. Smile

Eine simple Funktion kannst du aber natürlich machen indem du obiges verwendest und deine Funktion nur auf 0 reagiert.
Code: [AUSKLAPPEN]
 If BASS_ChannelIsActive(meineMusik) = BASS_ACTIVE_STOPPED then RuntimeError "Und was jetzt?" ; oder Funktion aufrufen!


Alternative:
Code: [AUSKLAPPEN]
If BASS_ChannelIsActive(meineMusik) = 0 then RuntimeError "Und was jetzt?" ; oder Funktion aufrufen!



cu

ozzi789

BeitragMo, Jun 23, 2008 20:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Ach ja , jetz hat *Click* gemacht Smile
(lieber ne späte als keine antwort Wink)


Mfg ozzi



Sry habs begriffen, doch

wie mach ich das und wie bekomm ich die Track länge raus ?

100 mal dank
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMo, Jun 23, 2008 21:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Length = BASS_ChannelGetLength(BassHandle)

Code: [AUSKLAPPEN]
Position = BASS_ChannelGetPosition(BassHandle)

und was auch noch interessant sein dürfte

Code: [AUSKLAPPEN]
Wert = BASS_ChannelBytes2Seconds(BassHandle, Length)

Code: [AUSKLAPPEN]
Wert = BASS_ChannelBytes2Seconds(BassHandle, Position)
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

ozzi789

BeitragDi, Jun 24, 2008 13:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Genau nach dem habe ich gesucht Smile
Danke !

Edit:

Es gibt da Probleme mit der Dll und der Decls, der "ChannelGetlenght" wird nicht erkennt , also hab ich die decls und die bass.bb und die dll von dreamplayer23.rar genomn und dan kommt "Getactivewindow function not found"

Welche datein brauch ich ?
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

ozzi789

BeitragDi, Jun 24, 2008 17:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Help


Iwie krieg ich es nicht hin die richtige bass.bb , bass.dll und bass.decls zu bekommen hab alles ausprobiert und nix funkt , entweder kommt

Getactivewindow function not found

oder
ChannelGetlenght (wird ned gefunden)

oder
fxparametersint not found


Ich verreck -.-*
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDi, Jun 24, 2008 20:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Die aktuellen Daten bekommst du aus http://www.blitzbasic.com/tool...p?tool=207

Ausserdem heisst es BASS_ChannelGetLength und nicht ChannelGetlenght.

dll_GetActiveWindow und ähnliches sind weitere Einbundungen - lass mich jetzt lügen - der user32dll, welche die Windows-API anspricht. Diese sind für andere Funktionen notwendig, die der Dreamplayer so mit sich bringt. Diese Funktionen haben nichts mit der bass.dll zu tun.

Wo kann man denn noch die V.2.3 runter laden? Über Abrexxes kommt man auf die V.2.5 ran. Gerade in diesen Versionen habe ich wesentliche Änderungen gemacht, die nicht gerade unwichtig sind. Mit anderen Worten, über die V.2.3 würde ich gerne alles vergessen was mit mir zu tun haben könnte. Wink

Edit1: Die Hauptänderungen zwischen 2.5 und 2.6 sind im übrigen, dass der Schriftfont als auch der Dreamplayer alles pixelperfekt anzeigt. Es sicht schlicht gesagt einfach besser aus, wobei die Funktionen im großem und ganzen gleich geblieben sind.

ozzi789

BeitragDi, Jun 24, 2008 21:18
Antworten mit Zitat
Benutzer-Profile anzeigen
hectic hat Folgendes geschrieben:
Die aktuellen Daten bekommst du aus http://www.blitzbasic.com/tool...p?tool=207

Ausserdem heisst es BASS_ChannelGetLength und nicht ChannelGetlenght.

dll_GetActiveWindow und ähnliches sind weitere Einbundungen - lass mich jetzt lügen - der user32dll, welche die Windows-API anspricht. Diese sind für andere Funktionen notwendig, die der Dreamplayer so mit sich bringt. Diese Funktionen haben nichts mit der bass.dll zu tun.

Wo kann man denn noch die V.2.3 runter laden? Über Abrexxes kommt man auf die V.2.5 ran. Gerade in diesen Versionen habe ich wesentliche Änderungen gemacht, die nicht gerade unwichtig sind. Mit anderen Worten, über die V.2.3 würde ich gerne alles vergessen was mit mir zu tun haben könnte. Wink

Edit1: Die Hauptänderungen zwischen 2.5 und 2.6 sind im übrigen, dass der Schriftfont als auch der Dreamplayer alles pixelperfekt anzeigt. Es sicht schlicht gesagt einfach besser aus, wobei die Funktionen im großem und ganzen gleich geblieben sind.



Boah hia n rieeesen Keks !! Smile

doch "hWnd = GetActiveWindow()"
geht imma noch ned :S Sad

wiesoo ?
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Abrexxes

BeitragDi, Jun 24, 2008 21:42
Antworten mit Zitat
Benutzer-Profile anzeigen
In der bass.decls ist das hier zu finden
Zitat:
.lib "User32.dll"
BASS_HWND%() : "GetActiveWindow"

.lib "Kernel32.dll"
BASS_RtlMoveMemory1%(Destination*,Source,Length) : "RtlMoveMemory"
BASS_RtlMoveMemory2%(Destination,Source*,Length) : "RtlMoveMemory"


Das ist alles was Bass nutzt.

Steht auch alles in denn Dokus und in einigen Demos.

Du solltest das also bitte auch alles lesen und dir die Demos angucken.
Code: [AUSKLAPPEN]

;Demo_Start!
HWND = BASS_HWND() ; use this ore your one command to get activ window for init, else use 0.
BASS_Init(-1,44100,0,HWND,BASS_NULL)


cu

ozzi789

BeitragMi, Jun 25, 2008 13:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Mkay , ich werds gleich durchlesen
thx Smile
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

ozzi789

BeitragDo, Jun 26, 2008 18:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Entschuldigt das ich diesen Thread nochamls öffnen muss Embarassed

Doch ich hab mich wieder drangesetzt und wen ich mein programm starten möchte passiert seit neustem einfach nichts mehr Confused

Code: [AUSKLAPPEN]


; Vorbereiten
Include "c:\bass.dll\bass.bb"
window=CreateWindow("Media_Player_0.0.1",0,0,640,480)
canvas=CreateCanvas( 0,0,ClientWidth(window),ClientHeight(window),window )
SetBuffer CanvasBuffer(canvas)



;Bass.dll starten
hWnd = GetActiveWindow()
If Not BASS_Init(-1,44100,0,0,0) Then
   RuntimeError "Konnte Bass.dll nicht initialisieren"
EndIf
If Not BASS_Start() Then
   BASS_Free()
   RuntimeError "Bass.dll konnte nicht gestartet werden"
EndIf



Buffer = CreateBank(512 * 4);Die Bank "Buffer" wird erstellt


;Settings
Color 0,150,255
BASS_SetVolume(50)





;Anfang der Schleife
While Not KeyHit(1)


;Request File , wenn Enter
If KeyHit(28)
   BASS_ChannelStop(Channel)
   BASS_MusicFree(Channel)
   Dateipfad$=RequestFile("Datei","mp3,ogg,wav",0)   
   playd=1
    newtrack=1
EndIf





;Playlist, funkt noch ned
If KeyHit(200)

window = CreateWindow("List", 050, 050, 300, 300, 0, 3)
windoww = ClientWidth(window)
windowh = ClientHeight(window)
listbox = CreateListBox(5, 5, windoww - 10, windowh - 10, window)
SetGadgetLayout listbox, 1, 1, 1, 1

verz = ReadDir(pfad$)
Repeat
   datei$ = NextFile$(verz)
   If datei$ = "" Then Exit
lenght=Len(datei$)
If lenght>4
ending$=Right (datei$,lenght-3)
EndIf

If Not ending$ = "mp3" And lenght>4
AddGadgetItem listbox, datei$
EndIf
Forever
CloseDir verz
EndIf











;Track Laden
If newtrack=1
If Not Dateipfad$=""
Channel=BASS_StreamCreateFile(0,Dateipfad$,0,0,BASS_SamplePlay)
If Not Channel Then
   BASS_Free()
   RuntimeError "Konnte die Datei nicht laden, möglicherweiße existiert die Datei nicht!"
EndIf
EndIf
If Not BASS_ChannelIsActive(Channel)=0 Then
 BASS_MusicFree(Channel)
   BASS_Free()
   RuntimeError "Konnte Datei nicht abspielen!"
EndIf
newtrack=0
playing=1
EndIf



   If KeyHit(25) Then   ;Wenn Taste P betätigt, zwischen Pause und Resume umschalten
      Pause=1-Pause
      If Pause=1 Then
         BASS_ChannelPause(Channel)
      Else If Pause=0 Then
         BASS_ChannelPlay% (Channel,0)
      End If
   End If




   If KeyHit(31) Then   ;Wenn Taste S betätigt, zwischen Stop und Play umschalten
      Stop1=1-Stop1
      If Stop1=1 Then
         BASS_ChannelStop(Channel)
      Else If Stop1=0 Then
   BASS_ChannelPlay% (Channel,0)
      End If
   End If
   If KeyHit(203) Then BASS_SetVolume(BASS_GetVolume()-10)
   If KeyHit(205) Then BASS_SetVolume(BASS_GetVolume()+10)

Rect 5,20,200,10,0
Rect 5,20,BASS_GetVolume()*2,10





;Statusleiste
If notrack = 1
SetStatusText window," - - - "
Else
SetStatusText window,Dateipfad$+" @ "+FileSize(Dateipfad$) + " Byte"
EndIf

If Dateipfad$=""
notrack=1
Else
notrack=0
EndIf



Position = BASS_ChannelGetPosition(Channel)

Text 300,300,"Lenght :"+Lenght+" Pos :"+Position




;If WaitEvent() = $803
;  BASS_Stop()
;  BASS_MusicFree(Channel)
;  BASS_Free()
; End
;EndIf





CLen=BASS_ChannelGetLength(BassHandle)
   CPos=BASS_ChannelGetPosition(BassHandle)
   
   
   Text 200,200,CLen
   Text 200,200,CPos


   Result = BASS_ChannelGetData(Channel,Buffer,BASS_DATA_FFT512);Schreibt die Daten in die Bank "Buffer"
   For I = 0 To 100
        Value# = PeekFloat#(Buffer,I * 4);Liest die Daten einzeln aus und schreibt sie in "Value#"
     Color 0,255,0 : Rect I * 5+400,405 - (Value# * 500),4,Value# * 500;Grüne Balken 
     Color 0,150,255 : Rect I * 5+400,405 - Value# * 500,4,2;Blaue Striche oben auf den Balken
   Next

Line 400,240,400,410


Line 0,240,640,240

  Text 0,0,"Volume : "+BASS_GetVolume()



If pause=1
Text 0,40,"||"
Else
Text 0,40,"|>"
EndIf


   FlipCanvas canvas
   
Cls

Wend
BASS_Stop()
BASS_MusicFree(Channel)
BASS_Free()
End



Wieso passiert da nichts , ich hab ja nichts geändert Shocked
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Abrexxes

BeitragDo, Jun 26, 2008 19:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Include "c:\bass.dll\bass.bb"


Was soll das denn sein? Ist das Ernsthaft ein vernünftiger Pfad?

ozzi789

BeitragDo, Jun 26, 2008 19:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja den ordner gibtz Very Happy

dort drinn sind alle versionen der dll und die bb
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group