Ho appena scoperto questo modulo che potrebbe fare al caso mio per un
progetto che sto intraprendendo.
Il progetto è intercettare l'audio di un microfono esterno su
piattaforma windows e redirigerlo in stream tramite Socket.
Su Win32 c'è una libreria di nome winmm.dll che permette di gestire
l'audio esterno tramite le funzione waveInxxx
Per adesso sto facendo alcune prove con Visual Basic ma vorrei portare
subito il codice in Perl.
Per fortuna ho trovato su CPAN il modulo Win32::API che mi permetterebbe
di gestire winmm.dll
http://search.cpan.org/~acalpini/Win32-API-0.41/API.pm
Purtroppo non so proprio come usare questo pacchetto!
Per questo avrei bisogno che qualcono me lo spiegasse!
Per iniziare mi piacerebbe portare questo codice in Perl:
codice:
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
Grazie a tutti!
Ciao