| Autor |
Beitrag |
Killmag10
      
Beiträge: 297
Suse Linux / DOS / Windows All In One ;)
D4 / D2005
|
Verfasst: Sa 01.11.03 19:34
Hi
ich will mit
playsound aus einer RESOURCE sound ausgeben ! das funktioniert aber nicht !
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, mmSystem, StdCtrls, MPlayer;
type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.DFM} {$R Sounds.RES}
procedure TForm1.Button1Click(Sender: TObject); begin mmSystem.PlaySound('1',hInstance,SND_ASYNC or SND_NODEFAULT or SND_RESOURCE); end;
end. |
.rc Datei :
Quelltext
was mach ich falsch ?
der sound wird auch in die exe eingebunden, aber er spield es nicht ab !
_________________ Mega- inkompetente Computer- ruinierende Organisation spioniert ohne funktionierende Technik
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: Sa 01.11.03 23:22
Hallo,
du hast den Sound in der Ressoruce nicht mit 'nem String deklariert (Strings dürfen nicht mit 'ner Ziffer anfangen), sondern mit 'ner Zahl (1). Du musst ihn so aufrufen:
Delphi-Quelltext 1:
| mmSystem.PlaySound(PChar(1),hInstance,SND_ASYNC or SND_NODEFAULT or SND_RESOURCE); |
Wenn's jetzt ein String wäre ('Wave1 RCDATA 1.wav'), wäre es natürlich so:
Delphi-Quelltext 1:
| mmSystem.PlaySound(PChar('1'),hInstance,SND_ASYNC or SND_NODEFAULT or SND_RESOURCE); |
Untersch8ied: Anführungszeichen in PChar()...
_________________ Life is a bad adventure, but the graphic is really good!
|
|
Killmag10 
      
Beiträge: 297
Suse Linux / DOS / Windows All In One ;)
D4 / D2005
|
Verfasst: So 02.11.03 01:12
_________________ Mega- inkompetente Computer- ruinierende Organisation spioniert ohne funktionierende Technik
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: So 02.11.03 01:50
Hallo,
oops.... du musst die Ressource als WAVE deklarieren, nicht als RCDATA - das macht einen Unterschied!
_________________ Life is a bad adventure, but the graphic is really good!
|
|
Killmag10 
      
Beiträge: 297
Suse Linux / DOS / Windows All In One ;)
D4 / D2005
|
Verfasst: So 02.11.03 02:03
geht immer noch nicht !
jetzige .rc Datei:
Quelltext
_________________ Mega- inkompetente Computer- ruinierende Organisation spioniert ohne funktionierende Technik
|
|
Phantom1
      
Beiträge: 390
|
Verfasst: So 02.11.03 09:52
@Killmag10:
so muss deine .rc datei aussehen:
Quelltext
und so wird die datei abgespielt:
Delphi-Quelltext 1:
| mmSystem.PlaySound('SND1',hInstance,SND_ASYNC or SND_NODEFAULT or SND_RESOURCE); |
|
|
Killmag10 
      
Beiträge: 297
Suse Linux / DOS / Windows All In One ;)
D4 / D2005
|
Verfasst: So 02.11.03 14:13
_________________ Mega- inkompetente Computer- ruinierende Organisation spioniert ohne funktionierende Technik
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: So 02.11.03 14:19
Hallo,
du hast da echt was falsch verstanden - RCDATA ist ein eigenständiger Typ, und das "RC" hat nix mit WAVE zu tun - warum RCDATA so heißt und nicht "rawdata" oder so, weiß ich nicht, aber es gibt mal folgende Typen:
RCDATA (-> Rohdaten)
WAVE
ICON
CURSOR
BITMAP
AVI
Weiterhin existieren:
STRINGTABLE
VERSION
DIALOG
Aber die funzen anders - da kann man nicht einfahc 'ne Datei zuweisen.
Und das mit deinen Namen: Der Name MUSS UNBEDINGT mit einem Buchstaben uder _ anfangen.
_________________ Life is a bad adventure, but the graphic is really good!
|
|
Killmag10 
      
Beiträge: 297
Suse Linux / DOS / Windows All In One ;)
D4 / D2005
|
Verfasst: So 02.11.03 14:32
gut mit den namen das hab ich jetzt auch gerafft !
aber mal ne frage ? warum hat er das dann überhaupt umgewandelt ?
weil RCWAVE ist ja falsch !
_________________ Mega- inkompetente Computer- ruinierende Organisation spioniert ohne funktionierende Technik
|
|
Andreas Pfau
      
Beiträge: 997
|
Verfasst: So 02.11.03 19:33
Hallo,
du meinst, warum hat Brcc32 das Schlüsselwort "RCWAVE" akzeptiert, obwohl es falsch ist? Ich benutze das Ding auch öfters, und mir ist im Laufe der Zeit eines klar geworden: Egal, was da steht, die Datei wird einfach gelinkt. Der Unterschied ist nur, dass wenn du ein Wave öffnen willst, du nur Zugriff kriegst, wenn WAVe davorsteht. Genauso mit AVI: AVI existiert nicht, aber wenn du ein AVI als RCDATA linkst, bekommst du keinen Zugriff. Irgendwie schwachsinnig, aber man muss sich wohl damit abfinden. Oder mal denen von Borland auf's Dach steigen, was das soll  - schließlich ist in der Onlinehilfe davon nix erwähnt...
_________________ Life is a bad adventure, but the graphic is really good!
|
|