Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [c#] riprodurre più tracce audio contemporaneamente

    Sia utilizzando una funzione di basso livello (importando[DllImport("WinMM.dll")]) che utilizzando l'oggetto System.Media.SoundPlayer, non riesco a riprodurre due suoni contemporaneamente.. quando ne riproduce uno, mi stoppa automaticamente qualsiasi altro suono, anche se creo diverse istanze dello stesso oggetto.
    Qualcuno sa spiegarmi come fare?
    Grazie..

    Max
    Il problema dell'umanità è che gli stupidi sono strasicuri, mentre gli intelligenti sono pieni di dubbi. (cit.)

  2. #2
    Windows Media Player non supporta la riproduzione simultanea di più suoni.
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Però se avvio due istanze della applicazione (lancio due exe) mi si sentono i suoni contemporaneamente.. quindi significa che si puo fare..
    Il problema dell'umanità è che gli stupidi sono strasicuri, mentre gli intelligenti sono pieni di dubbi. (cit.)

  4. #4
    Nessuno lo sa? please help!
    Il problema dell'umanità è che gli stupidi sono strasicuri, mentre gli intelligenti sono pieni di dubbi. (cit.)

  5. #5
    Puoi provare a richiamare la funzione da due thread diversi.
    Amaro C++, il gusto pieno dell'undefined behavior.

  6. #6
    Ci ho pensato.. ho provato ad implementarlo ma senza risultati cioe il suono si sente sempre uno alla volta max
    in ogni caso ti dispiacerebbe farmi un esempio di come lo faresti tu ?

    L'oggetto in questione è System.Media.SoundPlayer
    Il metodo per caricare un file è Load (credo) e per riprodurre Play()
    Il problema dell'umanità è che gli stupidi sono strasicuri, mentre gli intelligenti sono pieni di dubbi. (cit.)

  7. #7
    Posta intanto il codice che hai provato tu...
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    lo posto appena ho un attimo di tempo adesso non ce l'ho a portata di mano
    Il problema dell'umanità è che gli stupidi sono strasicuri, mentre gli intelligenti sono pieni di dubbi. (cit.)

  9. #9
    codice:
    class PlaySound
        {
    
            private string filename;
    
            public PlaySound(string filename) {
                this.filename = filename;
            }
    
            public void play()
            {
                SoundPlayer sp = new SoundPlayer(filename);
                sp.Load();
                sp.Play();
            }
        }
    codice:
    class Program
        {
            static void Main(string[] args)
            {
                PlaySound p = new PlaySound("C:/sound1.wav");
                PlaySound q = new PlaySound("C:/sound2.wav");
    
                Thread pThread = new Thread(p.play);
                Thread aThread = new Thread(q.play);
    
                pThread.Start();
                aThread.Start();
            }
        }
    i due suoni non si sentono comtemporaneamente
    Il problema dell'umanità è che gli stupidi sono strasicuri, mentre gli intelligenti sono pieni di dubbi. (cit.)

  10. #10
    usa la classe audiovideoplayback.audio delle managed directX...
    Con quelle funziona sicuramente...

    PS: Devi scaricare le librerie managed directx da microsoft, installarle e aggiungere il rifermimento al tuo progetto.

    Ciao
    Nulla è impossibile

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.