AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia über button1 eine wave Datei abspielen
Thema durchsuchen
Ansicht
Themen-Optionen

über button1 eine wave Datei abspielen

Ein Thema von technik05 · begonnen am 20. Aug 2008 · letzter Beitrag vom 21. Aug 2008
Antwort Antwort
technik05

Registriert seit: 16. Mär 2008
51 Beiträge
 
#1

über button1 eine wave Datei abspielen

  Alt 20. Aug 2008, 18:21
Hallo habe da mal eine frage,

möchte über button1 eine wave Datei abspielen, die immer gleich ist.
Und dann eine schleife einrichten, z.B. 20 mal mit einem abstand von 3sec.

geht das ????
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: über button1 eine wave Datei abspielen

  Alt 20. Aug 2008, 18:53
ja
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
blink182

Registriert seit: 19. Jun 2007
126 Beiträge
 
Delphi 5 Standard
 
#3

Re: über button1 eine wave Datei abspielen

  Alt 20. Aug 2008, 19:07
Delphi-Quellcode:

// aus der Delphi-Hilfe...

uses mmsystem;


begin
 {Folgende Flags können benutzt werden:
  SND_SYNC = Spielt den Sound ab, die Anwendung "steht"
  SND_ASYNC = Spielt den Sound ab, die Anwendung läuft weiter
  SND_LOOP = Spielt den Sound endlos}
 


  {Es können auch mehrere Flags kombiniert werden:} 
  flag:=SND_SYNC or SND_LOOP;


  {Abspielen kann man einen Sound dann ganz einfach so:} 
  sndPlaySound('sound.wav', Flag);


  {Um einen endlosen Sound zu stoppen, ruft die Funktion mit folgenden
  Parametern auf:}
 
  sndPlaySound(NIL,0);
end;
oder

Delphi-Quellcode:
uses mmsystem;

// kA von wem die schöne Delay-Prozedur war :) ist auf jedenfall Praktisch
procedure Delay(Milliseconds: Integer);
var
  Tick: DWord;
  Event: THandle;
begin
  Event := CreateEvent(nil, False, False, nil);
  try
    Tick := GetTickCount + DWord(Milliseconds);
    while (Milliseconds > 0) and
          (MsgWaitForMultipleObjects(1, Event, False, Milliseconds, QS_ALLINPUT) <> WAIT_TIMEOUT) do
    begin
      Application.ProcessMessages;
      if Application.Terminated then Exit;
      Milliseconds := Tick - GetTickcount;
    end;
  finally
    CloseHandle(Event);
  end;
end;


procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
for i:=0 to 20 do
begin
PlaySOUND(PChar('asound.wav'),hInstance,snd_ASync );
delay(3000)
end;
end;

// oder

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
const
FileName = 'asound.wav';
begin
for i:=0 to 20 do
begin
MCISendString(PChar('play ' + FileName), nil, 0, 0);
delay(3000)
end;
end;
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#4

Re: über button1 eine wave Datei abspielen

  Alt 21. Aug 2008, 14:11
Unter Delphi geht das auch nocheinfacher: Nimm einfach die TMediaPlayer Komponenten und schalte visible auf false.
dann kannst du mit MediaPlayer1.Open und MediaPlayer1.Play eine Datei Abspielen.
Ich meine es müsste auch sowas wie eine endlos schleifen Modus geben, wenn nicht nutzte dafür das erste event(mir fällt der name im Moment nicht ein)
und ruft dort z.b. mit hilfe von Sleep oder wie auch immer, deine Play Procedur auf.
Sleep Pausiert das ganze Programm in Millisekunden. Besser währe hier ein Timer, den du Aktivierst und nach einem Interval wieder ausschaltest.
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:55 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