Fórum COMO UNIR 2 OU MAIS SONS NO DELPHI #145912

15/03/2003

0

No windows temos o gravador de som que podemos carregar sons wav
e inclusive inserir mais de 1 som de cada vez e tocar-los continuadamente.

Tipo, neste gravador de som do windows, sabemos que, por exemplo:

Se o arquivo 2.wav toca o som ´DOIS´
e o arquivo reais.wav toca o som ´REAIS´

e se carregarmos primeiro o arquivo 2.wav e em seguida inserir-mos
na sequencia o arquivo reais.wav, o gravador de som do windows
toca então a frase ´DOIS REAIS´ !!!

Acontece que estou montando um projeto em Delphi e tenho, sabe né,
uma função que imprime os cheques na impressora, montando o texto
do valor do cheque.
Então o que eu quero fazer semelhantemente à isto, seria pegar todos
os meus arquivos de sons wav que tenho e, igual à função de impressão de cheques, tocar para o usuário o texto falado do valor do produto na caixa de som do multimidia dele, TUDO ISTO FEITO EM DELPHI, NADA DE USAR O GRAVADOR DE SOM.
SERÁ QUE TEM JEITO ?

DE REPENTE, SERÁ QUE TERIA ALGUMA MANEIRA DE PELO DELPHI, ABRIR O GRAVADOR DE SOM DO WINDOWS, POR BAIXO, SEM O USUÁRIO VER NA TELA, E ATRAVÉS DE COMANDOS DO DELPHI, PEDIR AO GRAVADOR DE SOM DO WINDOWS QUE CARREGUE TAIS ARQUIVOS E QUE EM SEGUIDA TOQUE ???


SE CONSEGUIR ME RESPONDER À ESTA GRANDE DÚVIDA OU ME APRESENTAR À OUTROS PROGRAMADORES FICAREI MUITO GRATO!!!
VALEU !!!


Fhvsoft

Fhvsoft

Responder

Posts

15/03/2003

Trial Force

Eu sei que existe uma função Api do windows que toca sons waw sem precisar executar nenhum programa externo... daé só vc temporizar pra tocar um de cada vez... tipo usa um timer... naum tenho certeza acho que a função era PlaySnd ou algo do tipo... procure na ajuda do delphi algo ligado a isto ou a wav que vc ahca sem problemas... ah e so pra confirmar é possivel sim.

Se vc conseguir fazer, ou tiver dúvidas responda que posso verificar o nome correto da função...


Responder

Gostei + 0

22/07/2003

(conta Desativada)

Use a função SndPlaySound, eu não sei os parâmetros direito... Vê no help do delphi. Ah ! E é necessário a uses MMSystem.


Responder

Gostei + 0

22/07/2003

Kroki

Use essa:
SndPlaySound(´C:\Windows\Media\Som.wav´,SND_ASYNC);
Não lembro se tem que declara MMSystem.
Se vc colocar ´SND_SYNC´,o programa fica esperando o termino do arquivo.
Para tocar mais sons simultaneamente use;
Declare MMSystem:
procedure SendMCICommand(Cmd : string);
var
RetVal: integer;
ErrMsg: array[0..254] of char;
begin
RetVal := mciSendString(PChar(Cmd), nil, 0, 0);
if RetVal <> 0 then
begin
{get message for returned value}
mciGetErrorString(RetVal, ErrMsg, 255);
MessageDlg(StrPas(ErrMsg), mtError, [mbOK], 0);
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
SendMCICommand(´open waveaudio shareable´);
SendMCICommand(´play E:\zvuk1.wav´);
SendMCICommand(´play E:\zvuk2.wav´);
SendMCICommand(´close waveaudio´);
end;


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar