Cambiare periferica AUDIO PLAY/REC

di il
31 risposte

31 Risposte - Pagina 2

  • Re: Cambiare periferica AUDIO PLAY/REC

    AntoAnto ha scritto:


    Grazie dell'info e dell'enorme aiuto!!!

    Ho la lista delle periferiche audio da 0 a 6 uscita.
    Non ho la lista delle periferiche di entrata (line/mic) ma è già qualcosa

    Ho dovuto lasciare il FW5 perché pur avendo provato ad installare il 2 e riavviare per seguire il tuo esempio, non l'ho in lista.

    Se lascio "any cpu" non funziona, anche "preferendo il 32bit" ho forzato x86 e funziona

    Con il framework 3 dovrebbe funzionare anche a 64 bit

    Ho provato (avevo anche già), molto ignorantemente a cambiare i vari 0,0 con qualche altro numero
    ma è sempre su MIC e ALTOPARLANTI... potrà esserci una soluzione o impossibile con VBnet?

    Ciao
    Impossibile è una parola grossa, la sostituirei con: chissà come si fa?

    L' altro programma che enumera le periferiche audio usando la query, lo hai provato?

    Per gestire l'audio e non solo si usa DirectX:
    
    Imports Microsoft.DirectX.DirectSound
    
    ' Esplora Soluzioni/Riferimenti/Aggiungi riferimento.../COM/sfoglia: Microsoft.DirectX.DirectSound.dll
    ' percorso indicativo
    ' ....Windows\ assembly \ GAC \ Microsoft.DirectX.DirectSound \ 1.0.2902.0__31bf3856ad364e35\Microsoft.DirectX.DirectSound.dll
    
    ' per eseguire codice gestito esegui compilazione completa con Ctrl+F5
    ' Il Framwork di destinazione usa il 3, compila x86
    ' con DirectSound, si può inviare o ricevere flussi audio alla periferica voluta... non è semplice.
    
    Public Class Form1
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Dim deviceIN As New CaptureDevicesCollection
            Dim deviceOUT As New DevicesCollection
            Dim info As DeviceInformation
            Dim i As Integer
            For Each info In deviceIN
                ComboBox1.Items.Add("IN: " & info.Description & "  ModuleName: " & info.ModuleName)
            Next info
            For Each info In deviceOUT
                ComboBox1.Items.Add("OUT: " & info.Description & "  ModuleName: " & info.ModuleName)
            Next info
        End Sub
    End Class
    
    
  • Re: Cambiare periferica AUDIO PLAY/REC

    L' altro programma che enumera le periferiche audio usando la query, lo hai provato?
    Mi sa che mi sono perso per strada, anche cercando sopra non vedo la query che mi dici.

    Stavo provando l'ultimo esempio, ma non sono stato in grado di farlo andare.

    Anche inserendo
    Imports Microsoft.DirectX.DirectSound
    ' Esplora Soluzioni/Riferimenti/Aggiungi riferimento.../COM/sfoglia: Microsoft.DirectX.DirectSound.dll
    ' percorso indicativo
    ' ....Windows\ assembly \ GAC \ Microsoft.DirectX.DirectSound \ 1.0.2902.0__31bf3856ad364e35\Microsoft.DirectX.DirectSound.dll
    
    con DirectSound, si può inviare o ricevere flussi audio alla periferica voluta... non è semplice.
    Mi sa che devo trovare qualche esempio da poter capire e riutilizzare, ma non ho trovato molto se non quelle tre linee sopra che vanno alla grande ma purtroppo solo con la scheda di DEFAULT...

    Stavo provando questo:



    ma non son riuscito a farlo partire...


    Grazie per le varie info, per me molto, molto, molto preziose!

    ciao
  • Re: Cambiare periferica AUDIO PLAY/REC

    Mi sfugge qualcosa...
    Vuoi scrivere un programma tu? Oppure cerchi una cosa che funziona?
    Se vuoi scrivere un programma tu, continua a cercare esempi, studia VB.Net e DirectX, sarà dura ma alla fine riuscirai.
    Mi dispiace se non sono in grado di aiutarti di più.

    Se invece cerchi una cosa che funziona Audacity è gratis, multitraccia, registra e va in play su tutte le periferiche che vuoi. Lo conosco poco, non so se si può anche registrare mentre si ascolta.

    https://www.leawo.org/tutorial/best-free-multitrack-recording-software-for-mac-windows-1387.html

    Invece conosco molto bene Cool Edit Pro, fermo alla versione 2.1 da anni, acquistato e distribuito da adobe con il nome: Adobe Audition
    Cool Edit Pro/Adobe Audition fa tutto quello che si può immaginare e si può usare anche in modalità multitraccia, per ogni singola traccia si può decidere la periferica di riproduzione o registrazione, e mentre va in play e si sta ascoltando si può registrare contemporaneamente sulle tracce scelte da qualsiasi periferica di acquisizione disponibile.
  • Re: Cambiare periferica AUDIO PLAY/REC

    Vuoi scrivere un programma tu? Oppure cerchi una cosa che funziona?
    no, no... tranquillo... conosco molto bene Audacity ma (come vedi richiesta nel primo messaggio) voglio trovare il metodo in VBnet di poter registrare e ascoltare su schede diverse da quelle di default che ora faccio con le 3 "semplici" linee di base del primo messaggio che ho scritto sopra...

    Ho le mie varie schede audio e alcuni MIC e mi sembrava strano che con tre semplici linee potessi registrare salvare e ascoltare SOLO sul default...

    Vista la "semplicità" di queste per usare il default, pensavo potessi reindirizzare su altra periferica audio
    Public Class Form1
        Private Declare Function record Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            record("open new Type waveaudio Alias recsound", "", 0, 0)
            record("record recsound", "", 0, 0)
        End Sub
    
        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            record("save recsound mic.wav", "", 0, 0)
            record("close recsound", "", 0, 0)
        End Sub
    
        Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
            My.Computer.Audio.Play("mic.wav")
        End Sub
    End Class
    Ma non mi sogno manco lontanamente di fare un "Audacity", solo modificare questo "semplice" REC PLAY SAVE che va solo sul default ma con scelta I/O dei vari flussi audio sulle varie schede/periferiche audio tra virtuali, interne e USB ... che quindi poi utilizzerei in una mia applicazione.
    Se vuoi scrivere un programma tu, continua a cercare esempi, studia VB.Net e DirectX, sarà dura ma alla fine riuscirai.
    Mi dispiace se non sono in grado di aiutarti di più.
    Eh si, appunto quello che sto cercando di fare...
    Grazie dell'aiuto che qui ho già in parte trovato.
    ciao
  • Re: Cambiare periferica AUDIO PLAY/REC

    Penso che dovrò passare a qualche cosa di esterno, almeno quello ho trovato sarebbe di usare "Naudio".

    Sto cercando qualche semplice esempio da poter riutilizzare.

    Ma se creo il mio progetto che necessita della libreria Naudio, è possibile farlo con il suo "PUBBLICA"?
    Non saprei come inserire questa o altra libreria...
    Con l'icona del programma sono riuscito ma con librerie o altro non saprei...

    ciao
  • Re: Cambiare periferica AUDIO PLAY/REC

    Conosco NAudio solo di nome, ti posso indirizzare su come installare il supporto di NAudio in VisualStudio, per provare gli esempi che troverai.
    1) VisualStudio 2017 Community o superiore (VS EXprss 2017, non va bene non supporta .NetStandard)
    2) Apri un progetto VisualBasic Windows Desktop, Framework 4.7.2
    3) Nella finestra Esplora soluzioni, in alto a destra, tasto destro su riferimenti e scegli: gestisci pacchetti NuGet
    4) Su Sfoglia imposta la ricerca per NAudio, seleziona e installa NAudio


    Naudio2.png
    Naudio2.png


    Ora VS, potrà far girare gli esempi che usano tale libreria.
    NAudio che ho selezionato è la libreria di base, i tuoi esempi potrebbero usarne anche altre...

    Per esempio ho visto questa che potrebbe fare al caso tuo:
    SoundPlayerControl di Strangetimez
    Descrizione ••
    System Sound Player Control for NAudio.
    Play and record audio with Sound Player Control for NAudio.
    Can be used visially or programaticaliy.
  • Re: Cambiare periferica AUDIO PLAY/REC

    Grazie Rubik,
    sono alla ricerca...
  • Re: Cambiare periferica AUDIO PLAY/REC

    2) Apri un progetto VisualBasic Windows Desktop, Framework 4.7.2
    Mi scuso enormemente...
    Uso il VBnet2019, non ho questa voce VisualBasic Windows Desktop... o meglio... non trovo...
  • Re: Cambiare periferica AUDIO PLAY/REC

    Se riguardi questo post:

    Rubik ha scritto:


    1 ) apri VisualStudio
    2 ) scegli: Crea un nuovo progetto... (è in basso, scritto piccolo)
    3 ) nella finestra nuovo progetto scegli: Visual Basic, Windows Desktop, App Windows Form (.Net Framework)
    metti anche il nome, il percorso e il Framework che vuoi usare.

    nuovoprogetto.png
    nuovoprogetto.png

    Però se hai VBnet2019, forse non supporta .NET Standard, indispensabile per NAudio, anche se poi apri un progetto .NET Framework.
    Installa VisualStudio 2019 Community.
  • Re: Cambiare periferica AUDIO PLAY/REC

    Una cosa che non capisco quando apro un nuovo progetto che ho solo FW 3.5 e 5
    VisualStudio2019
    fw1.jpg
    fw1.jpg

    Mentre se entro in un'applicazione che "ci sto giocando" ho tutti questi in "my project > applicazione":

    fw2.jpg
    fw2.jpg

    Dove li perdo quando creo una nuova app?

    ciao
  • Re: Cambiare periferica AUDIO PLAY/REC

    Ah... non avevo aperto come .net framework ma solo APP WINDOWS FORM... sorry...


    ma stranamente non trova il pacchetto NAUDIO...

    naudio1.jpg
    naudio1.jpg



    Molto probabile sbaglio l'origine del pacchetto che non la conosco...
  • Re: Cambiare periferica AUDIO PLAY/REC

    AntoAnto ha scritto:


    Ah... non avevo aperto come .net framework ma solo APP WINDOWS FORM... sorry...
    ma stranamente non trova il pacchetto NAUDIO...
    Molto probabile sbaglio l'origine del pacchetto che non la conosco...
    L'origine del Pacchetto è nuget.org, se non fosse in elenco entra nelle opzioni con l'ingranaggio a fianco e crea l'origine (+) con url: https://api.nuget.org/v3/index.jso


    Opzioni.png
    Opzioni.png

  • Re: Cambiare periferica AUDIO PLAY/REC

    https://api.nuget.org/v3/index.jso
    Infatti non ce l'avevo proprio nell'elenco
    Grazie!

    Ho cercato il pacchetto consigliato o altri per VBnet ma non vedo dove lo hai trovato...
    SoundPlayerControl di Strangetimez
    Adesso ci provo un po' ma la vedo dura... ormai imparo...

    Poi nel caso se avessi già una mia applicazione che non usava questo NAudio, per usarlo dovrei fare la stessa procedura nei riferimenti?

    Ancora grazie
  • Re: Cambiare periferica AUDIO PLAY/REC

    Non so a me appare...


    sounplayer.png
    sounplayer.png


    Quando installi un pacchetto nuget, finisce nella cartella packages nello stesso percorso del progetto, e l'uso resta confinato a quel progetto, se operi in questo modo, ogni volta che apri un novo progetto devi installare i pacchetti che ti occorrono.

    Un'alternativa è installare il pacchetto in un percorso comune (Offline Pakages), in modo che quando apri un nuovo progetto i pacchetti installati risultino nell'elenco Installato. Questo secondo metodo evita di duplicare più e più volte il medesimo pacchetto, ma induce nell'errore di dimenticare il pacchetto quando si porta il progetto in altro PC o si distribuisce il progetto ad altro programmatore, facilmente risolvibile se il pacchetto ha origine nuget.org.
  • Re: Cambiare periferica AUDIO PLAY/REC

    Comunque GRAZIE 1000 per i vari aiuti...

    Non chiedermi come, ma sono riuscito a caricarlo e a farlo partire, purtroppo questo esempio non è in VBnet e per me complicatissimo ritradurlo.

    naudio2.jpg
    naudio2.jpg

    Ci rinuncio...
    veramente un peccato che con 3 linee riesco a gestire REC PLAY e SAVE dall'audio di default e mi sia così complicato usare una seconda carta audio non in default... pensavo fosse più semplice ma mi sbagliavo.

    Grazie mille dell'aiuto che mi hai dato ma sono fermo al palo...
Devi accedere o registrarti per scrivere nel forum
31 risposte