il Framework non è muto...

 mi stavo domandando come far emettere dei suoni alla mia Window Form (anche il semplice beep), prima di tutto ringrazio Daniele per la pronta soluzione.
spulciano nel Framework ci si accorge che il lato sonoro è praticamente inesistente, per ottenere qualcosa dobbiamo chiamre le Windows API attraverso COM Interop o P-Invoke.
risolto velocemente il problema del beep (rigrazie Daniele) ho spulciato la mia lista dei preferiti (mi ricordavo di avere qualcosa) e mi sono imbbattuto in questo link e poi questo

la faccio breve in pratica nel dicembre 2004 (un anno fa...mio dio come sono indietro) è stato rilasciato un aggiornamento alle DirectX 9 le DirectX 9c :) che contiene tra le varie cose le Managed DirectX ( MDX ) ovvero il supporto pieno delle DirectX al Framework e .net

volete ascoltare un Wav? una volta aggiunti i riferimento alle dll delle DirectX nel vostro progetto, usando la consueta sintassi:

using Microsoft.DirectX;

  using Microsoft.DirectX.DirectSound;

  using Buffer = Microsoft.DirectX.DirectSound.SecondaryBuffer;

  using Microsoft.Samples.DirectX.UtilityToolkit;

...quà tralascio un pò di codice..che in pratica è un 
  OpenFileDialog...

 private bool LoadSoundFile(string name)

  {

  try

  {

  ApplicationBuffer = new SecondaryBuffer(name, ApplicationDevice);

  }

  catch(Exception)

  {

  return false;

  }

  return true;

  }

..quà controlli vari dell'interfaccia

private void btnPlay_Click(object sender, System.EventArgs e)

  {

  if(null != ApplicationBuffer)

  ApplicationBuffer.Play(0, (cbLoopCheck.Checked ? BufferPlayFlags.Looping : BufferPlayFlags.Default));

  }

questa riga di codice cbLoopCheck.Checked ? BufferPlayFlags.Looping : BufferPlayFlags.Default)); in pratica controlla se una CheckBox è selezionata e in base a questo viene impostato il Looping del suono o no

naturalamente le MDX non si fermano al suone, ma spaziono da DirectDraw fino al 3d vero e proprio...

ho trovato il diverimento pomeridiano :)

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese