用C#实现多种方式播放Wav声音
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声音的更多相关文章
- wince mobile环境下播放WAV声音
[DllImport("coredll", EntryPoint = "PlaySound")] public static extern i ...
- MmSystem播放Wav格式声音
//MmSystem播放Wav格式声音 //MmSystem 支持 *.wav声音格式 snd ->SoundRecorderuses MmSystem; //引用MmSystem//播放系统声 ...
- 通过WinAPI播放PCM声音
在Windows平台上,播放PCM声音使用的API通常有如下两种. waveOut and waveIn:传统的音频MMEAPI,也是使用的最多的 xAudio2:C++/COM API,主要针对游戏 ...
- IOS音频1:之采用四种方式播放音频文件(一)AudioToolbox AVFoundation OpenAL AUDIO QUEUE
本文转载至 http://blog.csdn.net/u014011807/article/details/40187737 在本卷你可以学到什么? 采用四种方法设计应用于各种场合的音频播放器: 基于 ...
- C++播放wav音乐和音效
1. #include <mmsystem.h>#pragma comment(lib,"winmm.lib")PlaySound(TEXT("c:\\te ...
- 用 Qt 的 QAudioOutput 类播放 WAV 音频文件
用 Qt 的 QAudioOutput 类播放 WAV 音频文件 最近有一个项目,需要同时控制 4 个声卡播放不同的声音,声音文件很简单就是没有任何压缩的 wav 文件. 如果只是播放 wav 文件, ...
- 8086汇编语言 调用声卡播放wav文件(sound blaster)
开更 大概最后做了一个能播放无损音乐(无压缩.不需解码)的播放器 原理是基于dosbox的模拟声卡,通过硬件之间的相互通讯做到的 关于详细内容接下来再讲. 一.从dosbox入手 我们知道cpu可以直 ...
- [C#] NAudio 库的各种常用使用方式: 播放 录制 转码 音频可视化
概述 在 NAudio 中, 常用类型有 WaveIn, WaveOut, WaveStream, WaveFileWriter, WaveFileReader 以及接口: IWaveProvider ...
- Java多种方式读文件,追加文件内容,等对文件的各种操作
一.多种方式读文件内容. 1.按字节读取文件内容 2.按字符读取文件内容 3.按行读取文件内容 4.随机读取文件内容 import java.io.BufferedReader; import jav ...
随机推荐
- Flask学习【第7篇】:Flask中的wtforms使用
简介flask中的wtforms WTForms是一个支持多个web框架的form组件,主要用于对用户请求数据进行验证. 安装 pip3 install wtforms 简单使用wtforms组件 用 ...
- noip模拟【ping】
70:很容易想到的是枚举每一个可能的答案来判断是否可行,取最优即可,贪心选择. 100:满足题目条件的这个距离是满足单调性的.如果x不行,那么大于x的距离都不行,二分答案. 学会运用二分,by ws_ ...
- FJUT3565 最大公约数之和(容斥)题解
题意:给n,m,求出 思路:题意为求出1~m所有数和n的gcd之和.显然gcd为n的因数.我们都知道gcd(a,b)= c,那么gcd(a/c,b/c)= 1.也就是说我们枚举n所有的因数k,然后去找 ...
- (转载)Navicat Premium 12.1.16.0安装与激活
声明:本文所提供的所有软件均来自于互联网,仅供个人研究和学习使用,请勿用于商业用途,下载后请于24小时内删除,请支持正版! 本文介绍Navicat Premium 12的安装.激活与基本使用.已于20 ...
- EPPlus实战篇——Excel写入
.net core 项目 可以向excel写入任何类型(T)的数据,只要T中的field的[Display(Name = "1233", Description = "# ...
- 51nod 1275 连续字段的差异(单调队列)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1275 题意: 思路: 固定某个端点,然后去寻找满足能满足要求的最大区间, ...
- js之鼠标随动后面跟随事件(类似于长龙跟着跑)
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- Python dict 将元祖转成字典
dict 关键字 dict3=dict(((),(),())) #dict 只有一个参数 输出:{'a': 97, 'b': 98, 'c': 99}
- bzoj 4034: [HAOI2015]树上操作 树链剖分+线段树
4034: [HAOI2015]树上操作 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 4352 Solved: 1387[Submit][Stat ...
- JaveWeb 公司项目(6)----- 通过ToolTip给控件添加动态注释
现在公司的项目进展到了视屏这一块,关于海康网页端的构建我会另外写一篇博客来详细讲解,这一篇的博文主要讲的是我刚刚遇到的一个小问题 连接上了视屏之后,将控制按钮换成图标,方位按钮比较好理解,调焦调距的按 ...