c # - Lyden afspilles ikke i min ansøgning

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg kører 1 baggrundsproces i min ansøgning ... det kontrollerer løbende for nogle input ... Når korrekt input er indtastet af fundet .. Det vil spille Nogle wav-filer ..


Jeg har tilføjet 1 wav fyldt opkaldt som 'ding.wav' i Ressourcer.


og jeg har skrevet følgende kode i min ansøgning ...
Jeg bruger System.Media navneområde. og bruger .Net 4.0


SoundPlayer player = new SoundPlayer();
player.Stream = Properties.Resources.ding;
player.Play();


men lyden spiller ikke ...


Kan du fortælle mig, hvad jeg gør galt .. !!
Indtast billedbeskrivelse her

Bedste reference


Prøv dette:


SoundPlayer player = new SoundPlayer(Properties.Resources.ding);
player.Play();


Du kan også prøve dette:


using System;
using System.Runtime.InteropServices;
using System.Resources;
using System.IO;
namespace Win32
{
  public class Winmm
  {
    public const UInt32 SND\_ASYNC = 1;
    public const UInt32 SND\_MEMORY = 4;

    [DllImport("Winmm.dll")]
    public static extern bool PlaySound(byte[] data, IntPtr hMod, UInt32 dwFlags);
    public Winmm() { }
    public static void PlayWavResource(string wav)
    {
      // get the namespace 
      string strNameSpace= 
        System.Reflection.Assembly.GetExecutingAssembly().GetName().Name.ToString();

      // get the resource into a stream
      Stream str = 
        System.Reflection.Assembly.GetExecutingAssembly().GetManifestResourceStream(      strNameSpace +"."+ wav );
      if ( str == null ) return;
     // bring stream into a byte array
     byte[] bStr = new Byte[str.Length];
     str.Read(bStr, 0, (int)str.Length);
     // play the resource
     PlaySound(bStr, IntPtr.Zero, SND\_ASYNC | SND\_MEMORY);
    }
  }
}

Andre referencer 1


Jeg tror, ​​du skal sikre, at filen er indlæst, før du spiller den.


SoundPlayer player = new SoundPlayer(Properties.Resources.ding);
player.Load();
player.Play();

Andre referencer 2


Jeg tror, ​​du skal gøre mere end det. Tjek denne artikel. [5]