用C#实现多种方式播放Wav声音

时间:2023-02-03 07:06:20

   using System;

   using System.Collections.Generic;

   using System.ComponentModel;

   using System.Data;

   using System.Drawing;

   using System.Text;

   using System.Windows.Forms;

   using System.Media;

   using System.Resources;

   using System.IO;

   namespace SoundPlayerApp

   {

   public partial class Form1 : Form

   {

   private SoundPlayer simpleSound;

   public Form1()

   {

   InitializeComponent();

   }

   private void button1_Click(object sender, EventArgs e)

   {

   OpenFileDialog OpenFileDialog1 = new OpenFileDialog();

   OpenFileDialog1.Filter = "Wav 文件(*.wav)|*.wav";

   if (OpenFileDialog1.ShowDialog() == DialogResult.OK)

   {

   simpleSound = new SoundPlayer(OpenFileDialog1.FileName);

   simpleSound.Play();

   }

   }

   private void button2_Click(object sender, EventArgs e)

   {

   OpenFileDialog OpenFileDialog1 = new OpenFileDialog();

   OpenFileDialog1.Filter = "Wav 文件(*.wav)|*.wav";

   if (OpenFileDialog1.ShowDialog() == DialogResult.OK)

   {

   simpleSound = new SoundPlayer(OpenFileDialog1.FileName);

   simpleSound.PlayLooping();

   }

   }

   private void button3_Click(object sender, EventArgs e)

   {

   if (simpleSound != null) simpleSound.Stop();

   }

   private void button4_Click(object sender, EventArgs e)

   {

   simpleSound = new SoundPlayer(Properties.Resources.big);

   simpleSound.Play();

   }

   
  private void button5_Click(object sender, EventArgs e)   {   simpleSound = new SoundPlayer(Properties.Resources.big);   simpleSound.PlayLooping();   }   private void button6_Click(object sender, EventArgs e)   {   if (simpleSound != null) simpleSound.Stop();   }   private void button7_Click(object sender, EventArgs e)   {   switch (comboBox1.Text)   {   case "星号(错误)":   SystemSounds.Asterisk.Play();   break;   case "默认响声(叮当声)":   SystemSounds.Beep.Play();   break;   case "感叹号(惊叹号)":   SystemSounds.Exclamation.Play();   break;   case "关键性停止(关键性终止)":   SystemSounds.Hand.Play();   break;   case "问题":   SystemSounds.Question.Play();   break;   }   }   private void button8_Click(object sender, EventArgs e)   {   ResourceManager rm = ResourceManager.CreateFileBasedResourceManager("SoundResource", Application.StartupPath, null);//资源文件不带扩展名称   byte[] buffer = (byte[])rm.GetObject("Sound.wav");   FileStream FS = new FileStream("Sound.wav", FileMode.Create);//新建文件   BinaryWriter BWriter = new BinaryWriter(FS);//以二进制打开文件流   BWriter.Write(buffer, , buffer.Length);//从资源文件读取声音文件内容,写入到一个声音文件中   BWriter.Close();   FS.Close();   simpleSound = new SoundPlayer("Sound.wav");   simpleSound.Play();   }   private void button9_Click(object sender, EventArgs e)   {   ResourceManager rm = ResourceManager.CreateFileBasedResourceManager("SoundResource", Application.StartupPath, null);//资源文件不带扩展名称   byte[] buffer = (byte[])rm.GetObject("Sound.wav");   FileStream FS = new FileStream("Sound.wav", FileMode.Create);//新建文件   BinaryWriter BWriter = new BinaryWriter(FS);//以二进制打开文件流   BWriter.Write(buffer, , buffer.Length);//从资源文件读取声音文件内容,写入到一个声音文件中   BWriter.Close();   FS.Close();   simpleSound = new SoundPlayer("Sound.wav");   simpleSound.PlayLooping();   }   private void button10_Click(object sender, EventArgs e)   {   if (simpleSound != null) simpleSound.Stop();   }   }   }