![]() |
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:
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.
// 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); |
Re: Bass.dll - Player spinnt
Vielen Dank!
Diese Möglichkeit kannte ich noch gar nicht! Werde es morgen mal ausprobieren! |
Re: Bass.dll - Player spinnt
so habs ausprobiert!
Funtioniert wunderbar! DANKE!!! |
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. |
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