Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
MCI_paly
Message
De
02/02/2006 07:19:36
Erick Miranda
Formata Data Business - Grupo Linx
Contagem, Brésil
 
 
À
01/02/2006 18:55:22
Antonio Vieira
Apoio Informática
Aracaju, Brésil
Information générale
Forum:
Visual FoxPro
Catégorie:
COM/DCOM et OLE Automation
Titre:
Divers
Thread ID:
01092659
Message ID:
01092755
Vues:
19
Olá Antônio,

>Estou utilizando o exemplo do MCI_Play que vem junto com o projeto Solution do VFP8. Só que me deparei com um problema:
>
>Eu preciso que toda vez que eu executar o form com o MCI_Play o mesmo seja fechado quando do termino da música.
>
>OBSERVAÇÃO.: Eu alterei o form de exemplo do projeto Solution que vem junto com o VFP8, onde o mesmo e chamado passado como parameto o arquivo de música ou mesmo de imagens e o arquivo é executado automaticamente. Mas preciso que o mesmo também feche automaticamente.
>
>Alguém sabe ou mesmo tem algum exemplo?
>
>Desde já agradeço
>
>Atenciosamente
>Antônio Carlos
>WS Informática - Desenvolvimento de Sistemas


Como você está utilizando o form do exemplo (mci_play.scx) e se ainda tem o timer na tela, você pode comparar o tamanho da mídia e a posição atual (o bom é que o timer já pega essas informações) e se for igual é só sair da tela. Alterei no exemplo e funcionou aqui (só testei com 1 arquivo .Wav), o código do timer (no evento timer) ficou assim:
*!* Make sure that there is a media file loaded
cCmd = ("STATUS FoxMedia READY")
IF THISFORM.doMCI(cCmd) = "true" THEN

	*!* Need to get the total length of the clip and the current position
	nMediaLength = VAL(THISFORM.doMCI("STATUS FoxMedia length"))
	nMediaPosition = VAL(THISFORM.doMCI("STATUS FoxMedia position"))
	

	*- Sai quando chega ao final da mídia
	IF nMediaLength = nMediaPosition
		thisForm.cmdClose1.Click()
	ENDIF
        *-

	
	*!* Since the gauge control only allows a MAX setting up to 32,000
	*!* we need to proportionally reduce the length and position values
	*!* to be below 32000.
*	DO WHILE !BETWEEN(nMediaLength,0,32000)
*	nMediaLength = nMediaLength/2
*		nMediaPosition = nMediaPosition/2
*	ENDDO
	*!* Now we can set the proper gauge properties.
	THISFORM.olePosition.Max = nMediaLength
	THISFORM.olePosition.value = nMediaPosition
ENDIF
Erick
Força Sempre!
Strength Always!
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform