🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: free.it.visual-basic
Article #1045

winmm.dll alcune delucidazione

#1045
From: Larry
Date: Fri, 07 Jan 2005 11:19
85 lines
3243 bytes
Salve,

Prima di iniziare a postare codice e a parlare della winmm.dll e dei 
metodi waveInxxx
avrei qualche domanda in generale su come viene gestito l'audio su 
windows.

Che cos'� un device?

Una scheda audio o un dispositivo hardware esterno qualunque?
Ad esempio quando attacco lo spinotto esterno del mic come faccio a 
vederlo?

che cos'� una soundcard?

come spieghero dopo nel codice io ottengo come device "sb200" che credo
che stia per "sound blaster" .. che cos'�?

viene rappresentata dal quel mixer nell'applicazione "multimedia" nel 
pannello di controllo?

questa era la confusione che avevo al riguardo (in quanto newbie del 
mondo win come di vb)

Ora avrei alcune domande sui metodi waveInxxx della winmm:

--> waveInGetNumDevs
Ritorna il numero dei "dispositivi" waveIn disponibili

cosa vuol dire "dispositivi" in questo caso? una scheda audio o il mic 
esterno?

[vb]
Private Type WaveInCaps
   ManufacturerID As Integer
   ProductID As Integer
   DriverVersion As Long
   ProductName(1 To 32) As Byte
   Formats As Long
   Channels As Integer
   Reserved As Integer
End Type

Private Declare Function waveInGetNumDevs Lib "winmm" () As Long
Private Declare Function waveInGetDevCaps Lib "winmm" Alias 
"waveInGetDevCapsA" (ByVal uDeviceID As Long, Byval lpCaps As Long, 
ByVal uSize As Long) As Long

sub InitDevices()

   Dim Caps As WaveInCaps, Which As Long, testo As String

   For Which = 0 To waveInGetNumDevs - 1
      Call waveInGetDevCaps(Which, VarPtr(Caps), Len(Caps))
      testo = StrConv(Caps.ProductName, vbUnicode) & Which
      msgbox testo
   Next
   
   If Which = 0 Then
      MsgBox "You have no audio input devices!", vbCritical, "Ack!"
      End
   End If
   
End Sub
[/vb]

eseguendo questo codice ottengo SB200 che dovrebbe essere un valido 
waveIn ...
cos'altro avrei potuto ottenere? waveInGetNumDevs pu� essere maggiore di 
1?

Ora vi posto tutto il codice che ho messo insieme finora per catturare 
l'audio da mic esterno
anche se ancora non so come e in quale variabile (o descrittore) va a 
finire l'audio...

[vb]

[/vb]

Come ottengo fisicamente l'audio?
Se volessi salvarlo o redirigerlo ad un Socket di tipo server?
(o magari comprimerlo in MP3?)

Grazie a tutti!
Technical Details
Message-ID: <dontmewithme-DECD66.12191907012005@twister1.tin.it>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!news2.euro.net!216.196.110.149.MISMATCH!border2.nntp.ams.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!news-out.tin.it!news-in.tin.it!news3.tin.it.POSTED!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Thread: f94ee,c388155656cb817c,start
X-Google-Attributes: gidf94ee,public
X-Google-Language: ITALIAN,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!news2.euro.net!216.196.110.149.MISMATCH!border2.nntp.ams.giganews.com!border1.nntp.ams.giganews.com!nntp.giganews.com!news-out.tin.it!news-in.tin.it!news3.tin.it.POSTED!not-for-mail
From: Larry <dontmewithme@got.it>
Newsgroups: free.it.visual-basic
Subject: winmm.dll alcune delucidazione
Organization: Colosseum Tour
User-Agent: MT-NewsWatcher/3.1 (PPC)
Message-ID: <dontmewithme-DECD66.12191907012005@twister1.tin.it>
Lines: 85
Date: Fri, 07 Jan 2005 11:19:27 GMT
NNTP-Posting-Host: 80.116.244.12
X-Complaints-To: "Please send abuse reports to abuse@tin.it and technical notifications to newsmaster@tin.it"
X-Trace: news3.tin.it 1105096767 80.116.244.12 (Fri, 07 Jan 2005 12:19:27 MET)
NNTP-Posting-Date: Fri, 07 Jan 2005 12:19:27 MET