MEDIR VOLUME DA MAQUINA

GIOVANI.ARRUDA 31/08/2007 17:18:34
#233670
Preciso fazer um projeto que mostre por exemplo numa escala de 1 a 10 o volume do audio que indo para a saida de som do micro, já baixei varios exemplos inclusive um aqui do vbmania mas não entendi como eles funcionam

Esse é o exemplo do site,
http://www.vbmania.com.br/vbmania/vbmdetail.php?varID=6733

Baixei as dlls que faltavam mas mesmo assim nada acontece. Se alguém pudem me dar essa mão eu agadeceria!

USUARIO.EXCLUIDOS 02/09/2007 11:56:53
#233749
Então, procurando uma solução para o meu problema eu encontrei uma possivel solução para a sua

Public Declare Function midiOutGetVolume Lib "winmm.dll" Alias "midiOutGetVolume" (ByVal uDeviceID As Long, lpdwVolume As Long) As Long


A função do midiOutGetVolume recupera o ajuste atual do volume de um dispositivo de saída de MIDI.


lpdwVolume

Ponteiro à posição para conter o ajuste atual do volume. A palavra low-order desta posição contem o ajuste do volume da esquerdo-canaleta, e a palavra high-order contem o ajuste da direito-canaleta. Um valor de 0xFFFF representa o volume cheio, e um valor de 0x0000 é silêncio.

Se um dispositivo não suportar o controle de volume esquerdo e direito, a palavra low-order da posição especificada contem o nível mono do volume.

Qualquer jogo de valor usando a função do midiOutSetVolume é retornado, não obstante se as sustentações do dispositivo que avaliam.

Valores do retorno

Retorna MMSYSERR_NOERROR se bem sucedido ou um erro de outra maneira. Os valores possíveis do erro incluem o seguinte.

e tem também a função:

Public Declare Function midiOutSetVolume Lib "winmm.dll" Alias "midiOutSetVolume" (ByVal uDeviceID As Long, ByVal dwVolume As Long) As Long

A função midiOutSetVolume ajusta o volume de um dispositivo de saída de MIDI.
USUARIO.EXCLUIDOS 02/09/2007 12:35:25
#233751
ah!vc também tem que usar a função:
Private Declare Function mciGetDeviceID Lib "winmm.dll" Alias "mciGetDeviceIDA" (ByVal lpstrName As String) As Long

VEja como usar:

Public Property Get LVolume() As Long
Dim v As Long, ID As Long, ret As Long
ID = mciGetDeviceID("MCIMIDI")
ret = midiOutGetVolume(ID, v)
LVolume = v And &HFFFF&
End Property

Boa Sorte
GIOVANI.ARRUDA 03/09/2007 13:36:37
#233866
Cara eu não sei se me fiz entender, eu preciso que esse valor oscile conforme o ritmo da musica que está tocando, acho que tinha faltado esse detalhe.


USUARIO.EXCLUIDOS 03/09/2007 21:12:10
#233948
então vc que mostre a oscilação da frequencia, e ñ do volume, ñ é isso?
GIOVANI.ARRUDA 04/09/2007 08:26:38
#233972
Olha só eu quero fazer um projetinho que simule isso

http://www.youtube.com/watch?v=FBW6Puz5j7o

Só no modo bargraph o outro modo não me interessa, veja o video que entenderas



Tópico encerrado , respostas não são mais permitidas