Sdílet prostřednictvím


Jak: použití platformy vyvolat přehrát soubor Wave (Příručka programování C#)

Následující příklad kódu jazyka C# znázorňuje použití platformy vyvolat služby přehrát zvukový wave soubor operačního systému Windows.

Příklad

Tento příklad používá DllImport import winmm.dllna PlaySound metoda vstupní bod jako Form1 PlaySound().V příkladu má jednoduchý formulář pomocí tlačítka systému Windows.Klepnutím na tlačítko otevře standardní windows OpenFileDialog dialogové okno, takže můžete otevřít soubor přehrát.Při výběru wave soubor se přehraje pomocí PlaySound() metodu winmm.Způsob sestavení knihovny DLL.Další informace o společnosti winmm.dll PlaySound metoda, viz pomocí funkce PlaySound s Waveform Audio soubory.Procházet a vyberte soubor, který má příponu WAV a potom klepněte na tlačítko otevřených přehrávání vyvolat soubor wave pomocí platformy.Textové pole zobrazuje úplnou cestu vybraný soubor.

Otevřené soubory je filtrován dialogové okno zobrazit pouze soubory s příponou WAV pomocí nastavení filtru:

dialog1.Filter = "Wav Files (*.wav)|*.wav";
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace WinSound
{
    public partial class Form1 : Form
    {
        private TextBox textBox1;
        private Button button1;

        public Form1()  //constructor
        {
            InitializeComponent();
        }

        [System.Runtime.InteropServices.DllImport("winmm.DLL", EntryPoint = "PlaySound", SetLastError = true, CharSet = CharSet.Unicode, ThrowOnUnmappableChar = true)]
        private static extern bool PlaySound(string szSound, System.IntPtr hMod, PlaySoundFlags flags);

        [System.Flags] 
        public enum PlaySoundFlags : int
        {
            SND_SYNC = 0x0000,
            SND_ASYNC = 0x0001, 
            SND_NODEFAULT = 0x0002, 
            SND_LOOP = 0x0008, 
            SND_NOSTOP = 0x0010,
            SND_NOWAIT = 0x00002000, 
            SND_FILENAME = 0x00020000, 
            SND_RESOURCE = 0x00040004 
        }

        private void button1_Click (object sender, System.EventArgs e)
        {
            OpenFileDialog dialog1 = new OpenFileDialog(); 

            dialog1.Title = "Browse to find sound file to play";
            dialog1.InitialDirectory = @"c:\";
            dialog1.Filter = "Wav Files (*.wav)|*.wav";
            dialog1.FilterIndex = 2;
            dialog1.RestoreDirectory = true;

            if(dialog1.ShowDialog() == DialogResult.OK) 
            { 
                textBox1.Text = dialog1.FileName;
                PlaySound (dialog1.FileName, new System.IntPtr(), PlaySoundFlags.SND_SYNC);
            } 
        }
    }
}

Probíhá kompilace kódu

Kompilovat kód

  1. Vytvořit nový projekt C# Windows aplikace Visual Studio s názvem WinSound.

  2. Výše uvedený kód zkopírujte a vložte nad obsah Form1.cs souboru.

  3. Zkopírujte následující kód a vložte jej do Form1.Designer.cs v souboru InitializeComponent() metoda po existující kód.

    this.button1 = new System.Windows.Forms.Button();
    this.textBox1 = new System.Windows.Forms.TextBox();
    this.SuspendLayout();
    // 
    // button1
    // 
    this.button1.Location = new System.Drawing.Point(192, 40);
    this.button1.Name = "button1";
    this.button1.Size = new System.Drawing.Size(88, 24);
    this.button1.TabIndex = 0;
    this.button1.Text = "Browse";
    this.button1.Click += new System.EventHandler(this.button1_Click);
    // 
    // textBox1
    // 
    this.textBox1.Location = new System.Drawing.Point(8, 40);
    this.textBox1.Name = "textBox1";
    this.textBox1.Size = new System.Drawing.Size(168, 20);
    this.textBox1.TabIndex = 1;
    this.textBox1.Text = "FIle path";
    // 
    // Form1
    // 
    this.AutoScaleDimensions = new System.Drawing.SizeF(5, 13);
    this.ClientSize = new System.Drawing.Size(292, 266);
    this.Controls.Add(this.textBox1);
    this.Controls.Add(this.button1);
    this.Name = "Form1";
    this.Text = "Platform Invoke WinSound C#";
    this.ResumeLayout(false);
    this.PerformLayout();
    
  4. Sestavit a spustit kód.

Zabezpečení

Další informace naleznete v .NET Framework zabezpečení.

Viz také

Referenční dokumentace

Přehled interoperability (Příručka programování C#)

Přehled interoperability (Příručka programování C#)

Koncepty

Příručka programování C#

Vyvolat prohlédnout Platform

Další zdroje

Vyvolat zařazovacího dat pomocí platformy