ÁUDIO WAVE EM DLL (Remodelada) - HELP
15/05/2003
0
Eu com o seguinte problema:
Compilei um resource file com dois arquivos de áudio no formato wave de nomes START.wav e FINISH.wav, com o identificador START e FINISH respectivamente. Também já os armazenei por índice numérico.
Porém, não consigo fazer com que execute-os. Este resource de nome JAMEDIA.res, foi armazenado em uma DLL de nome JAMEDIA.dll, no root da aplicação.
Por favor, me corrijam em caso de erros.
Implementei da seguinte forma o fonte, na tentativa de rodar o áudio START.wav:
var
DESDLL: THandle;
begin
DESDLL := LoadLibrary(´JAMEDIA.dll´);
if PlaySound(´START´, DESDLL, SND_RESOURCE) then
ShowMessage(´Reproduzido com sucesso!´)
else
ShowMessage(´Impossível reproduzir!´)
FreeLibrary(DESDLL);
end;
Qualquer informação, agradeço desde já.
Compilei um resource file com dois arquivos de áudio no formato wave de nomes START.wav e FINISH.wav, com o identificador START e FINISH respectivamente. Também já os armazenei por índice numérico.
Porém, não consigo fazer com que execute-os. Este resource de nome JAMEDIA.res, foi armazenado em uma DLL de nome JAMEDIA.dll, no root da aplicação.
Por favor, me corrijam em caso de erros.
Implementei da seguinte forma o fonte, na tentativa de rodar o áudio START.wav:
var
DESDLL: THandle;
begin
DESDLL := LoadLibrary(´JAMEDIA.dll´);
if PlaySound(´START´, DESDLL, SND_RESOURCE) then
ShowMessage(´Reproduzido com sucesso!´)
else
ShowMessage(´Impossível reproduzir!´)
FreeLibrary(DESDLL);
end;
Qualquer informação, agradeço desde já.
Kafs
Curtir tópico
+ 0
Responder
Posts
15/05/2003
E_gama
Desculpe a pergunta, mas na sua DLL voce incluiu a linha: {$R JAMEDIA.RES} ?
Da alguma mensagem de erro?
Fiz um teste aqui, e funcionou perfeitamente!
meu arquivo teste.rc:
minha DLL:
Meu form de teste:
Da alguma mensagem de erro?
Fiz um teste aqui, e funcionou perfeitamente!
meu arquivo teste.rc:
START WAVE "START.WAV"
minha DLL:
uses SysUtils, Classes; {$R TESTE.RES} // -> Muito importante begin end.
Meu form de teste:
unit Unit2; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, MMSystem; //-> Unit importante type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); var H: THandle; begin H := LoadLibrary(´Project1.dll´); if PlaySound(´START´, H, SND_RESOURCE) then ShowMessage(´OK´) else ShowMessage(´Erro´); FreeLibrary(H); end; end.
Responder
16/05/2003
Kafs
Falou amigo, funcionou desta vez. O bug era o seguinte:
No arquivo de resource constava que o tipo de arquivo era WAVFILE e/ou RCDATA, por isso não respondia.
Só mais uma pergunta. Tem como fornecer-me a relação referente aos identificadores dos tipos de arquivos?
Muito obrigado por sua dica. Valeu mesmo.
Visite-nos em: http://www.kafs.impg.com.br
No arquivo de resource constava que o tipo de arquivo era WAVFILE e/ou RCDATA, por isso não respondia.
Só mais uma pergunta. Tem como fornecer-me a relação referente aos identificadores dos tipos de arquivos?
Muito obrigado por sua dica. Valeu mesmo.
Visite-nos em: http://www.kafs.impg.com.br
Responder
Clique aqui para fazer login e interagir na Comunidade :)