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();   }   }   }

用C#实现多种方式播放Wav声音的更多相关文章

  1. wince mobile环境下播放WAV声音

     [DllImport("coredll", EntryPoint = "PlaySound")]         public static extern i ...

  2. MmSystem播放Wav格式声音

    //MmSystem播放Wav格式声音 //MmSystem 支持 *.wav声音格式 snd ->SoundRecorderuses MmSystem; //引用MmSystem//播放系统声 ...

  3. 通过WinAPI播放PCM声音

    在Windows平台上,播放PCM声音使用的API通常有如下两种. waveOut and waveIn:传统的音频MMEAPI,也是使用的最多的 xAudio2:C++/COM API,主要针对游戏 ...

  4. IOS音频1:之采用四种方式播放音频文件(一)AudioToolbox AVFoundation OpenAL AUDIO QUEUE

    本文转载至 http://blog.csdn.net/u014011807/article/details/40187737 在本卷你可以学到什么? 采用四种方法设计应用于各种场合的音频播放器: 基于 ...

  5. C++播放wav音乐和音效

    1.  #include <mmsystem.h>#pragma comment(lib,"winmm.lib")PlaySound(TEXT("c:\\te ...

  6. 用 Qt 的 QAudioOutput 类播放 WAV 音频文件

    用 Qt 的 QAudioOutput 类播放 WAV 音频文件 最近有一个项目,需要同时控制 4 个声卡播放不同的声音,声音文件很简单就是没有任何压缩的 wav 文件. 如果只是播放 wav 文件, ...

  7. 8086汇编语言 调用声卡播放wav文件(sound blaster)

    开更 大概最后做了一个能播放无损音乐(无压缩.不需解码)的播放器 原理是基于dosbox的模拟声卡,通过硬件之间的相互通讯做到的 关于详细内容接下来再讲. 一.从dosbox入手 我们知道cpu可以直 ...

  8. [C#] NAudio 库的各种常用使用方式: 播放 录制 转码 音频可视化

    概述 在 NAudio 中, 常用类型有 WaveIn, WaveOut, WaveStream, WaveFileWriter, WaveFileReader 以及接口: IWaveProvider ...

  9. Java多种方式读文件,追加文件内容,等对文件的各种操作

    一.多种方式读文件内容. 1.按字节读取文件内容 2.按字符读取文件内容 3.按行读取文件内容 4.随机读取文件内容 import java.io.BufferedReader; import jav ...

随机推荐

  1. UVa 12099 The Bookcase - 动态规划

    题目大意 给定一些书,每个书有一个高度和宽度,然后将它们放到一个三层的书架里(要求每一层都不为空).定义书架的大小为每层最大的高度和 乘 每层宽度和的最大值.求最小的书架大小. 显然动态规划(直觉,没 ...

  2. 利用Selenium自动化测试android wap页

    http://blogs.360.cn/360qtest/2014/04/01/%E5%88%A9%E7%94%A8selenium%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5% ...

  3. sha0dow0socks

    秋水的一键安装脚本 #!/usr/bin/env bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bi ...

  4. 终于明白vim 和 grep 中 的正则表达式的用法, vim 正则表达式 和grep基本正则表达式 几乎一样

    要搞清楚 vim中的正则和普通的Perl正则表达式的区别: 因为在perl中所有的元字符 都可以直接使用, 不需要在 元字符的前面加 反斜杠. 但是在vim, 包括grep中就有所区别, 同样是元字符 ...

  5. 【做题】neerc2017的A、C、I、L

    A - Archery Tournament 一开始往化简公式的方向去想,结果没什么用. 考虑与一条垂线相交的圆的个数.不难YY,当圆的个数最多时,大概就是这个样子的: 我们稍微推一下式子,然后就能发 ...

  6. 论文笔记:Person Re-identification with Deep Similarity-Guided Graph Neural Network

    Person Re-identification with Deep Similarity-Guided Graph Neural Network 2018-07-27 17:41:45 Paper: ...

  7. Microsoft.EntityFrameworkCore.Sqlite的学习

    SQLite in ASP.NET Core with EntityFrameworkCore ASP.NET Core 2: Using SQLite as a light weight datab ...

  8. VirtualBox-- 虚拟机网络设置2--主机与虚拟机互相访问且均上外网

    转载自:http://blog.sina.com.cn/s/blog_7de9d5d80100t2uw.html   VirtualBox中有4中网络连接方式:NATBridged AdapterIn ...

  9. python requests post和get

    import requests import time import hashlib import os import json from contextlib import closing impo ...

  10. java 四种线程池的异同

    四种线程池的区别仅仅在于executors让threadpoolexecutor的构造器的参数不同,即核心线程池数,最大线程池数等不同.但是其他的,例如终止线程池等都是一样的