Ir para conteúdo
Fórum Script Brasil
  • 0

Mágica Ou Mistério Do Som


Paulo Nobre

Pergunta

Prezados amigos

Vejam se decifram estes "enigmas", por favor.

Tenho um programa que serve para instalar alguns programas que tenho, isto é,

fiz um programa que é uma janela com botões, que é chamado com um autorum, quando o usuário insere o CD. Esta janela ao ser aberta toca uma música, que foi copiada para o cd junto com o exe desta janela, o arquivo de autorum e as pastas dos programas que serão instalados.

Vejam o código de chamada da música:

procedure TfrmInstalador.FormShow(Sender: TObject);

begin

Caminho:= ExtractFilePath(Application.ExeName)+'\Som.wav';

SndPlaySound(pChar(Caminho), SND_ASYNC );

end;

No meu caso como o aplicativo fica no CD, seria:

Caminho:= 'D:\Som.wav'(onde D é o drive de Cd do usuário)

O Mistério(que não chega a ser nenhum problema):

Se retiro o CD(lembre-se que as pastas com os programas a serem instalados e o arquivo da música estão no CD) a janela do programa que dá acesso as instalações continua aparecendo (memória de vídeo, acho), ao clicar nos botões para instalar os programas nada acontece(claro, os programas estão no CD e o CD foi retirado). Agora o mistério, pelo menos para mim; A música não para, continua tocando. Só para se fecho a janela. Como pode, se a música está no CD e não foi copiada para nenhum lugar?

O problema:

Em computadores com windows 98 (do meu trabalho) a música não toca quando ensiro o CD. Tentei trocar o código de formShow para formActive, achando que poderia ser este o problema, mas nada deu certo. Acredito que nada tem a ver com o código! (será?). Mas não consigo descobrir porque?

Será que tem a ver com o tipo de CDRom? Testei em 4 na empresa (com WIn98) e não funciona. Com XP funciona.

Alguém que já tenha feito este tipo de sistema(janela para instalação) já teve este problema. Estou com este problema a muito tempo e não consigo resolver.

O engraçado é que tenho um programa deste parecido, feito em VisualBasic, que funciona nestes CDRom com win98 da empresa.

Agradeço muito a quem puder resolver este problema!!

Paulo Nobre

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Bom, a música deve continuar tocando porque essa API deve fazer um cópia dela para a memória antes de tocá-la. De qualquer forma, já tentou usar a API PlaySound() ao invés de sndPlaySound()? Aparentemente esta última chama a primeira, mas não custa tentar.

Abraços,

Graymalkin

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...