AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

LoopFunktion

Ein Thema von Nils_13 · begonnen am 9. Dez 2004 · letzter Beitrag vom 10. Dez 2004
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#11

Re: LoopFunktion

  Alt 10. Dez 2004, 14:11
Ni Nils_13,

was kommt denn bei dieser Abfrage raus?
if BASS_ChannelIsActive(Channel) = BASS_ACTIVE_PLAYING then du solltest mal ueberlegen anstatt immer nur Copy'n'Waste zu betreiben

Greetz
alcaeus

[add]wieder schneller [/add]
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#12

Re: LoopFunktion

  Alt 10. Dez 2004, 14:12
der linken Seite kann ja auch nichts zugewiesen werden. Das ist doch eine Funktion die dir ein bestimmten Wert zurück gibt, und mit diesem Wert kannst du herausfinden, ob Sound abgespielt wird,gestoppt wurde oder Pause ist...
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#13

Re: LoopFunktion

  Alt 10. Dez 2004, 14:13
wenn ich noch then hinzufüge läufts auch nicht
if BASS_ChannelIsActive(Channel) then BASS_ACTIVE_PLAYING;
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#14

Re: LoopFunktion

  Alt 10. Dez 2004, 14:15
Auszug aus Bass.pas (VERSION2.0):

Delphi-Quellcode:
  // BASS_ChannelIsActive return values
  BASS_ACTIVE_STOPPED = 0;
  BASS_ACTIVE_PLAYING = 1;
  BASS_ACTIVE_STALLED = 2;
  BASS_ACTIVE_PAUSED = 3;

function BASS_ChannelIsActive(handle: DWORD): DWORD; stdcall;external 'bass.dllname 'BASS_ChannelIsActive';
Meine Überprüfung läuft so:

Delphi-Quellcode:
 if BASS_ChannelIsActive(channel) = BASS_ACTIVE_STOPPED then
  begin
    //MACH WAS
    Exit;
  end;
MFG Alex

PS: Falsche Bass.pas???
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#15

Re: LoopFunktion

  Alt 10. Dez 2004, 14:15

Sag mal, verstehst du wie eine if-Abfrage funktioniert?
Deine Funktion heisst "BASS_ChannelIsActive(Channel)"
Du willst pruefen ob das Ergebnis "BASS_ACTIVE_PLAYING" ist
Also:
Delphi-Quellcode:
if BASS_ChannelIsActive(Channel) = BASS_ACTIVE_PLAYING then
  ShowMessage('Playing');
Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von gmarts
gmarts

Registriert seit: 4. Apr 2004
Ort: Templin
290 Beiträge
 
Delphi 6 Enterprise
 
#16

Re: LoopFunktion

  Alt 10. Dez 2004, 14:26
Hi Nils
Ein interessanter Ansatz für deine Probleme findet sich hier: Klick :-D (Wink mit Zaunpfahl)

MfG GM
procedure TForm1.Button1Click(Sender: TObject);
begin
button1.Click;
end;
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#17

Re: LoopFunktion

  Alt 10. Dez 2004, 14:38
Hier habt ihr den Code:
Delphi-Quellcode:
procedure TFormPlayer.Image1Click(Sender: TObject);
const BASS_ACTIVE_STOPPED = 0;
       BASS_ACTIVE_PLAYING = 1;
       BASS_ACTIVE_STALLED = 2;
       BASS_ACTIVE_PAUSED = 3;
begin
 if BASS_ChannelIsActive(Channel) = BASS_ACTIVE_PLAYING then
  BASS_Start();
  BASS_Start();
  BASS_ChannelPause(channel);
  position := 0;
  op1.Title := 'Open Files';
    if not op1.Execute then exit;
    Channel := BASS_StreamCreateFile(FALSE, PChar(op1.FileName), 0, 0, 0);
    BASS_StreamPlay(Channel, False, 0);
    Image1.Enabled:= true;
    p1.Visible:= false;
end;
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#18

Re: LoopFunktion

  Alt 10. Dez 2004, 14:45
Also...dieser Code
if BASS_ChannelIsActive(Channel) = BASS_ACTIVE_PLAYING then sagt dir ob gerade was abgespielt wird.
Du musst den Code in einer Schleife durchprobieren bzw. in einem Timer-Event. Sobalt die Bedingung nicht mehr zutrifft, musst du das Lied nochmals starten.
Ueberleg doch einfach mal wie du was programmieren musst, anstatt dir von uns den Code vorkauen zu lassen...

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#19

Re: LoopFunktion

  Alt 10. Dez 2004, 14:49
Ich hab einen Timer mit dem Interval '1', in dem Timer steht:
if BASS_ChannelIsActive(Channel) = BASS_ACTIVE_PLAYING then BASS_StreamPlay(Channel, False, 0); Es läuft nicht
  Mit Zitat antworten Zitat
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#20

Re: LoopFunktion

  Alt 10. Dez 2004, 14:59
In dem RenderTimer hab ichs eingebaut:
Delphi-Quellcode:
procedure TFormPlayer.TimerRenderTimer(Sender: TObject);
 var FFTFata : TFFTData; WaveData : TWaveData;
begin
if BASS_ChannelIsActive(Channel) = BASS_ACTIVE_PLAYING then BASS_StreamPlay(Channel, False, 0);
TimerRender.Interval:= Spin.Value;

...

end;
Wieso kam vorher ein doppelpost
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz