Fórum ÁUDIO WAVE EM DLL (Remodelada) - HELP #160333
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
Gostei + 0
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)