tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
2467
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von JJB
    JJB JJB ist offline Cogito ergo brumm
    Registriert seit
    Jan 2004
    Ort
    Stuttgart
    Beiträge
    261
    Tach !

    Kann mir da jemand helfen ?
    Ich möchte einfach ein paar Sounds während eines C# Programms wiedergeben (mehrere gleichzeitig). Sowas wie explode.wav oder beep.mp3 oder was so üblich ist bei kurzen Tonsequenzen.

    Allerdings möchte ich keine 300 MB Runtime Sonstnochwas oder 2 GB SDK Ichbinganzwichtig in mein 200 KB Programm einbinden. Der spätere Anwender sollte dies nach möglichkeit einfach anklicken und ausführen, ohne dass dabei irgendeine Systemveränderung nötig wird.

    Ich hab etwas gefunden, doch ich brachte es bislang in keine sinnvolle Konstellation.
    Kann mir jemand sagen, wie ich am unkompliziertesten an eine Wiedergabe komme ?

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    
    using System.Runtime.InteropServices;
    const string FILE_NAME = "\\Windows\\mysound.wav";
     
       private void button1_Click(object sender, System.EventArgs e)
       {
          Sound.Play(FILE_NAME);
       }
     
       internal class Helpers 
       {
          [Flags]
             public enum PlaySoundFlags : int 
          {
             SND_SYNC = 0x0000,  /* play synchronously (default) */
             SND_ASYNC = 0x0001,  /* play asynchronously */
             SND_NODEFAULT = 0x0002,  /* silence (!default) if sound not found */
             SND_MEMORY = 0x0004,  /* pszSound points to a memory file */
             SND_LOOP = 0x0008,  /* loop the sound until next sndPlaySound */
             SND_NOSTOP = 0x0010,  /* don't stop any currently playing sound */
             SND_NOWAIT = 0x00002000, /* don't wait if the driver is busy */
             SND_ALIAS = 0x00010000, /* name is a registry alias */
             SND_ALIAS_ID = 0x00110000, /* alias is a predefined ID */
             SND_FILENAME = 0x00020000, /* name is file name */
             SND_RESOURCE = 0x00040004  /* name is resource name or atom */
          }
     
          [DllImport("coredll")]
          public static extern bool PlaySound( string szSound, IntPtr hMod, PlaySoundFlags flags );
       }
     
       public class Sound 
       {
          public static void Play( string strFileName )
          {
             Helpers.PlaySound( strFileName, IntPtr.Zero, Helpers.PlaySoundFlags.SND_FILENAME | Helpers.PlaySoundFlags.SND_ASYNC );
          }
       }

    Dürfen die Sound nur im Windows Ordner liegen ?
    Und ist das so alle komplett oder fehlt da was ?
    (und was zum Geier ist IntPtr.Zero)

    Danke
     
    PS: Ja, ich habe gegoogelt und nein, ich will kein Viagra kaufen
    PPS: Tod allen verketteten Suchmaschinen

  2. #2
    Avatar von JJB
    JJB JJB ist offline Cogito ergo brumm
    Registriert seit
    Jan 2004
    Ort
    Stuttgart
    Beiträge
    261
    Keiner der hier einen Tip gegeben kann ?
     
    PS: Ja, ich habe gegoogelt und nein, ich will kein Viagra kaufen
    PPS: Tod allen verketteten Suchmaschinen

  3. #3
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Wenn Du einen kompletten Pfad angibst, sollte das File auch abgespielt werden.
    (und was zum Geier ist IntPtr.Zero)
    Ein Handle welches NULL ist.
    ist dein Freund.

    Btw. Audioformate (*.wav;*.mp3, etc) mit C# abspielen - Thread
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  4. #4
    Avatar von JJB
    JJB JJB ist offline Cogito ergo brumm
    Registriert seit
    Jan 2004
    Ort
    Stuttgart
    Beiträge
    261
    Etwas verspätet... hab ich wohl irgendwie übersehen.
    Hab ich schon anders umgesetzt (glaube ich).

    Trotzdem Danke !
     
    PS: Ja, ich habe gegoogelt und nein, ich will kein Viagra kaufen
    PPS: Tod allen verketteten Suchmaschinen

  5. #5
    Meiki_ Meiki_ ist offline Mitglied Bronze
    Registriert seit
    Aug 2007
    Beiträge
    25
    warum so umständlich?
    .wav-Dateien kannste mit
    System.Diagnostics.Process.Start("C:\\D_TEXT.WAV");
    wiedergeben.
     

  6. #6
    Avatar von JJB
    JJB JJB ist offline Cogito ergo brumm
    Registriert seit
    Jan 2004
    Ort
    Stuttgart
    Beiträge
    261
    Jein... ich weiß es nicht mehr so genau, aber da gab es diverse Schwierigkeiten.
    Es ging auch nicht allein um wavs.

    Mit der winmm.dll und mciSendString geht es auf jeden Fall. Auch mit mp3 und anderem.
    Da sollte sogar eine Lautstärkeregelung drin sein, aber das habe ich nicht genutzt.
     
    PS: Ja, ich habe gegoogelt und nein, ich will kein Viagra kaufen
    PPS: Tod allen verketteten Suchmaschinen

Ähnliche Themen

  1. Sound wiedergeben
    Von bomberpilotmp3 im Forum PHP
    Antworten: 1
    Letzter Beitrag: 06.11.07, 16:18
  2. Sound wiedergeben
    Von ayu2k im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 15.05.07, 18:42
  3. Sound wird einfach nicht abgspielt.
    Von DelphiDell im Forum Flash Plattform
    Antworten: 7
    Letzter Beitrag: 21.01.06, 16:24
  4. Sound zufällig wiedergeben
    Von d4k4 im Forum Flash Plattform
    Antworten: 12
    Letzter Beitrag: 30.06.03, 20:04
  5. win2k probleme (spiele stürzen einfach so ab.. und der sound..)
    Von mR.fLopPy im Forum Microsoft Windows
    Antworten: 22
    Letzter Beitrag: 04.05.02, 14:10