Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Bass.dll - Player spinnt (https://www.delphipraxis.net/74468-bass-dll-player-spinnt.html)

Gausi 6. Aug 2006 14:06

Re: Bass.dll - Player spinnt
 
Ich habe keinen wirklichen Crossfading-Code. Darunter versteht man doch, dass gegen Ende des Liedes ausgeblendet wird, während das nächste eingeblendet wird, oder?

Nun, das mach ich einfach so, indem ich die Funktion SlideAttributes aus der bass.dll nehme. Ohne zweiten Stream, ohne zusätzlichen Timer, einfach so.

Ich habs jetzt nicht auswendig, aber das geht im Wesentlichen so (Syntax entsprechend anpassen):

Delphi-Quellcode:
// Aktuelles Handle auf den gerade abspielenden Titel ist "ch"

// Flag setzen, damit das Handle beim Beenden automatisch freigegeben wird
BASS_ChannelSetFlags(ch, BASS_STREAM_AUTOFREE);
//Aktuellen Stream ausblenden.
// -2 steht dabei für Lautstärke auf 0 und stoppen
// -1 und -101 lassen Balance und Samplerate (glaube ich) unverändert
BASS_ChannelSlideAttributes(ch,-1,-2,-101,FadingInterval)

// Da der aktuelle Stream jetzt automatisch ausgeblendet, gestoppt und freigegeben wird
// geht jetzt folgendes:

ch := BASS_StreamCreateFile(False, 'c:\MeinNeuesLied.mp3', 0, 0, 0);
// Lautstärke auf 0 setzen
BASS_ChannelSetAttributes(ch, -1, 0, -101);
// Mit dem Abspielen beginnen
BASS_ChannelPlay(ch , True);
// Einblenden
BASS_ChannelSlideAttributes(ch, -1, MainVolume, -101, FadingInterval);
MainVolume ist dabei die gewünschte Lautstärke, die der User z.B. an einer Trackbar einstellen kann, und FadingInterval ist die Länge, in der gefadet werden soll.

smepal 6. Aug 2006 19:19

Re: Bass.dll - Player spinnt
 
Vielen Dank!
Diese Möglichkeit kannte ich noch gar nicht!
Werde es morgen mal ausprobieren!

smepal 7. Aug 2006 13:04

Re: Bass.dll - Player spinnt
 
so habs ausprobiert!
Funtioniert wunderbar! DANKE!!!

dsjena 18. Aug 2008 21:43

Re: Bass.dll - Player spinnt
 
Danke auch von mir, hat mir weitergeholfen!


Aloha! :cheer:


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:45 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz