AGB  ·  Datenschutz  ·  Impressum  







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

Audiodateien einbinden

Ein Thema von hacker · begonnen am 26. Sep 2003 · letzter Beitrag vom 11. Jan 2005
Antwort Antwort
Seite 3 von 3     123   
Benutzerbild von kiar
kiar

Registriert seit: 2. Aug 2003
Ort: Aschersleben
1.362 Beiträge
 
Delphi 5 Professional
 
#21

Re: Audiodateien einbinden

  Alt 27. Sep 2003, 19:53
das bsp von jens läuft bei mir problemlos, werde es mal mit anderen ressourcen testen

raik
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#22

Re: Audiodateien einbinden

  Alt 28. Sep 2003, 03:10
Moin Häcki,

eigentlich steht hier im Thread schon alles was Du brauchst. Ich fasse das mal zusammen:

Du erstellst eine Textdatei mit der Endung RC.
In dieser schreibst Du eine (ggf. auch mehrere) Zeile, die folgenden Aufbau hat:
NameDerResource TypDerResource PfadZuDerDateiDieDieResourceEnthält

NameDerResource meint die Bezeichnung, unter der Du die Resource später im Programm ansprechen kannst.
TypDerResource bezeichnet einen vordefinierten Resourcentyp, z.B. WAVE oder BITMAP, oder einen selbsterdachten, was hier aber keine Rolle spielen wird.
PfadZuDerDateiDieDieResourceEnthält gibt den Namen der Resourcendatei an, und den Pfad, der auch relativ zur Lage der RC Datei angegeben werden kann (bei Leerzeichen im Pfad in "" einschliessen)

Beispiel:
bild BITMAP Graphics\Photo.bmp

es soll eine Resource vom Typ BITMAP eingebunden werden, die im Programm mit der Bezeichnung bild angesprochen werden kann. Hierzu soll die Datei Photo.bmp hinzugefügt werden, die sich im Verzeichnis Graphics befindet, das sich im gleichen Verzeichnis befindet, wie die RC Datei.

Du könntest jetzt also eine Datei erstellen, als Beispiel nenne ich sie SOUNDFILE.RC. Da hinein kommt eine Zeile:
MySound WAVE MySound.wav

Nur zur Sicherheit, falls Jens' Variante nicht funktioniert, kannst Du jetzt eine Resourcendatei erstellen:
Konsole öffnen, BRCC32 eingeben, und die SOUNDFILE.RC per Drag&Drop in das Konsolenfenster ziehen. Enter.
Jetzt sollte der Resourcencompiler eine SOUNDFILE.RES im gleichen Verzeichnis angelegt haben, in der sich auch die SOUNDFILE.RC befindet.

Und jetzt folgt nur noch ein Ausschnitt aus der Unit in der die Datei abgespielt werden soll (wichtig: unter uses die unit mmsystem mit einbinden):

Delphi-Quellcode:
implementation
uses mmsystem;

{$R *.DFM}

{$R SOUNDFILE.RES}

// Abspielen der Wavedateiresource
procedure TForm1.Button1Click(Sender: TObject);
begin
  // 'MySound' = Name der Resource (erster Wert in der RC Datei)
  // 0 = Handle zur Datei aus der die Resource geladen werden
  // soll. Wird hier nicht gebraucht, da diese EXE auch
  // die Resource enthält. Man kann auch hInstance angeben
  // SND_RESOURCE = Der erste Parameter gibt den Namen einer Resource an
  // SND_ASYNC = Die Funktion startet das Abspielen, und kehrt dann
  // sofort zurück.
  // Ansonsten würde das Ende des Abspielens abgewartet,
  // und das Programm würde an dieser Stelle stehenbleiben
  PlaySound('MySound',0,SND_RESOURCE or SND_ASYNC);
end;

// Abspielen stoppen
procedure TForm1.Button2Click(Sender: TObject);
begin
  // nil = Das Abspielen der aktuellen Wavedatei wird beendet
  PlaySound(nil,0,0);
end;
Fertig.
Jetzt kann man mit Button1 die Wavedatei aus der Resource abspielen, und das Abspielen mit Button2 stoppen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
hacker

Registriert seit: 5. Sep 2003
Ort: Grenchen
65 Beiträge
 
Delphi 6 Personal
 
#23

Re: Audiodateien einbinden

  Alt 28. Sep 2003, 16:53
Vielen dank!!!!!!!!!!

Das ist sehr ausführlich und verständlich geschrieben.Ich habe es ausprobiert und mein programm läuft jetzt.





Gruss häcki
  Mit Zitat antworten Zitat
fatze

Registriert seit: 17. Okt 2004
Ort: Krefeld
19 Beiträge
 
Delphi 6 Personal
 
#24

Re: Audiodateien einbinden

  Alt 29. Okt 2004, 01:20
hmmm kann mir vllt einer sagen wo mein fehler liegt???

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, mmsystem, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
{$R song2.RES}

procedure TForm1.Button1Click(Sender: TObject);
begin
  PlaySound('song2' ,0,SND_RESOURCE or SND_ASYNC);
end;

end.
ich weiss nicht warum aber wenn ich auf den button klicke dann passiert nichts....

die dateien song2.wav song2.rc und song2.res befinden sich alle im Ordner ....\DELPHI\BIN
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#25

Re: Audiodateien einbinden

  Alt 29. Okt 2004, 01:27
Zitat von fatze:
  PlaySound('song2' ,0,SND_RESOURCE or SND_ASYNC);
In den ersten Parameter gehört nicht der Dateiname der .res, sondern der von dir in der .rc-Datei vergebene Name für die Ressource.


N8i,
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von glkgereon
glkgereon

Registriert seit: 16. Mär 2004
2.287 Beiträge
 
#26

Re: Audiodateien einbinden

  Alt 29. Okt 2004, 09:24
wenn es nur um sounddateien geht, warum nutzt ihr nicht den mediaplayer?
»Unlösbare Probleme sind in der Regel schwierig...«
  Mit Zitat antworten Zitat
Benjin

Registriert seit: 1. Nov 2004
Ort: München
64 Beiträge
 
Delphi 7 Enterprise
 
#27

Re: Audiodateien einbinden

  Alt 10. Jan 2005, 21:44
Hallo,

ich erhalte folgende Fehlermeldung beim Kompilieren:

[Fehler] WARNING. Duplicate resource(s):
[Fehler] Type WAVE, ID WAVERESOURCE:

nachdem ich eine Sounddatei als Ressource eingebunden habe.
.wav, .rc und .res sind alle im Projektordner, wo auch die brcc32.exe ist.

Der Progcode des implementation Teils:
Delphi-Quellcode:
implementation
uses mmsystem;

{$R *.DFM}
{$R bicasso.res}

procedure TForm1.Button1Click(Sender: TObject);
begin
 // Sounds stoppen
  PlaySound(nil,0,0);
  // Wavedatei aus Resource abspielen (SND_RESOURCE) und
  // nicht warten, bis das Abspielen beendet ist (SND_ASYNC)
  PlaySound('Waveresource',hInstance,SND_RESOURCE or SND_ASYNC);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  // Sounds stoppen
  PlaySound(nil,0,0);
end;

end.


Wo liegt mein Fehler?

Kann mit der Fehlermeldung rehct wenig anfangen...

Jan
  Mit Zitat antworten Zitat
C64-Flo

Registriert seit: 11. Nov 2003
91 Beiträge
 
#28

Re: Audiodateien einbinden

  Alt 11. Jan 2005, 00:01
Also ich verwende die mediaplayer in Delphi für soundwiedergabe.... sind easy zu benutzen:

MediaPlayer20: TMediaPlayer; Eigenschaften vom player selbst auf visible=false setzen, dann sieht man ihn nicht, und bedienen kannst Du ihn auch über buttons oä marke eigenbau

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
MediaPlayer1.filename:=(ExtractFilePath(ParamStr(0)) + 'data\musik\chargeneration1.mp3');
MediaPlayer1.open;
MediaPlayer1.play;
end;

usw


just my 2 cents...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 13:48 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