Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    44

    [VB.NET] ritorna l'incubo combobox

    Public Class Form1
    eccoci dinuovo qua con un problema che sembrava risolto.
    sto realizzando un programmino che deve far suonare dei file wav, il programma e composto da una combobox, 3 pulsanti: play stop e open.
    sembra tutto funzionare, ma appena vado a pigiare il tasto play in debug, mi visualizza la seguente frase:

    System.IO.FileNotFoundException was unhandled
    FileName="ComboBox1"
    Message="Verificare che nel percorso specificato sia presente un file audio."
    Source="System"
    StackTrace ..................................

    sotto il codice da me compilato


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    FolderBrowserDialog1.ShowDialog()
    Dim currentdir = FolderBrowserDialog1.SelectedPath
    ComboBox1.DataSource = _
    My.Computer.FileSystem.GetDirectoryInfo(currentdir ).GetFiles
    ComboBox1.DisplayMember = "name"
    ComboBox1.ValueMember = "FullName"
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    My.Computer.Audio.Play(ComboBox1.Name)
    End Sub

    Private Sub FolderBrowserDialog1_HelpRequest(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FolderBrowserDialog1.HelpRequest

    End Sub
    End Class

  2. #2
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,536
    mi sembra chiaro l'errore...

    FileName="ComboBox1" Message="Verificare che nel percorso specificato sia presente un file audio."
    stai cercando il nome del ComboBox1 tra i file.
    dovresti passare il valore selezionato, non il nome del ComboBox1.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    44
    potresti illustrarmi come fare?

  4. #4
    Utente di HTML.it L'avatar di U235
    Registrato dal
    Mar 2006
    Messaggi
    1,536
    se selezioni prima una voce di combobox dall'elenco, questa la troverai nella proprietà selectedvalue (di combobox appunto). se invece la scrivi a mano, quindi non usi una voce dell'elenco, usa la proprietà Text (sempre di combobox).

    comunque la Text va bene in entrambi i casi, in quanto, quando selezioni una voce dall'elenco, questa viene scritta nella proprietà Text.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    44
    scusami ma non sono molto bravo a capire, potresti correggermi il file sorgente che ti ho postato prima?
    dove sbaglio?
    se uso la proprietà openfiledialog tutto funziona mentre con folderbrowserdialog mi carica ma appena vado su play non va, la funzione folderbrowserdialog e meglio perchè mi aggiunge tutta la serie di file trovati nella cartella e questa mi sta bene, ti prego aiutami grazie.
    Immagini allegate Immagini allegate

  6. #6
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Quando ti genera l'eccezione, ed il programma va in pause, verifica il valore di ComboBox1.text (selezioni con il mouse ComboBox1.text e poi premi SHIFT+F9).
    Vedrai che probabilmente ti mostrerà solo il nome del file, ma senza il percorso.

    Ovviamente il file senza percorso non può essere trovato, da qui l'eccezione, per cui devi 'combinare il percorso con il file:

    codice:
    Dim fileAudio as String = IO.Path.Combine(currentdir, ComboBox1.text)
    Ma prima devi rendere visibile la variabile currentdir, che invece è dichiarata dentro il Button1_Click, ovvero devi dichiararla a livello di form e non di routine.


  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    44
    nulla non riesco a far partire, ho capito che si tratta del percorso, infatti lui mi visualizza solo il nome con l'estenzione .wav invece della directory, ecco perchè va in crash, ma con il metodo da te spiegato non funge nemmeno.

  8. #8
    Utente di HTML.it L'avatar di gibra
    Registrato dal
    Apr 2008
    residenza
    Italy
    Messaggi
    4,244
    Originariamente inviato da fifiddu
    nulla non riesco a far partire, ho capito che si tratta del percorso, infatti lui mi visualizza solo il nome con l'estenzione .wav invece della directory, ecco perchè va in crash, ma con il metodo da te spiegato non funge nemmeno.
    Abbi pazienza, ma dire che non funziona non significa proprio niente, e non aiuta chi legge a capire alcunchè.

    A me funziona, bisogna vedere cosa hai scritto tu, e che tipo di eccezione ti da.


  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    44
    allora...sono riuscito a localizzare una cosa, senza inserire nessun'altro dato oltre a quello che avevo postato qui sopra, ho cambiato la proprietà combobox1.displaymber da name a dir, adesso mi seleziona il percorso completo del file audio da far suonare, ma non so come alcuni file wav di windows li fa funzionare altri mi da un errore, adesso sono al lavoro stasera posto l'errore ricevuto. comunque parlava di formato pcm che none valido, insomma a stasera. fatemi sapere

  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    44
    ecco la frase che mi restituisce:
    System.InvalidOperationException was unhandled
    Message="L'API audio supporta solo l'esecuzione di file audio PCM."



    qualcuno ci capisce nulla?
    tutto questo sostituendo da combobox.valuemember il nome name e mettendo il nome dir, credo che ci sono vicino, ma non riesco a capire perchè alcuni funzionano altri mi danno quella frase appena premo play

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.