用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 ...
随机推荐
- Junit 的Assertions的使用
import static org.hamcrest.CoreMatchers.allOf; import static org.hamcrest.CoreMatchers.anyOf; import ...
- topcoder srm 681 div1
problem1 link 二分答案.然后判断.将所有的机器按照$a_{i}$排序,$a_{i}$相同的按照$b_{i}$排序.用一个优先队列维护这些机器.这样对于第$i$个部分,拿出队列开始的机器来 ...
- repo forall -c 用法【转】
本文转载自:https://blog.csdn.net/u010164190/article/details/78332484 .repo forall命令 # repo forall -help # ...
- How to Install LibreOffice 6.0 on Ubuntu 16.04 LTS +
1. Add the LibreOffice 6.0 PPA The LibreOffice Fresh PPA is maintained by LibreOffice. It provides l ...
- .net core mvc 错误信息显示 ModelState.AddModelError
关于ModelState.AddModelError错误信息不在前端页面显示问题.经过一位高人指定终于知道了为什么,在次写着警示自己看文档一定要仔细.再次感谢这为兄弟 https://www.cnbl ...
- (zhuan) 深度学习全网最全学习资料汇总之模型介绍篇
This blog from : http://weibo.com/ttarticle/p/show?id=2309351000224077630868614681&u=5070353058& ...
- [转载]Linux中的网络接口及LO回环接口
转自:https://blog.csdn.net/weixin_39863747/article/details/80564358 Linux中的网络接口及LO回环接口 2018年06月04日 10: ...
- 在 2016 年学 JavaScript 是一种什么样的体验?(React从入门到放弃)
jquery 年代 vs 前端模块化 http://blog.csdn.net/offbye/article/details/52793921 ++ 嘿,我最近接到一个 Web 项目,不过老实说,我这 ...
- 集成算法——Ensemble learning
目的:让机器学习效果更好,单个不行,群殴啊! Bagging:训练多个分类器取平均 Boosting:从弱学习器开始加强,通过加权来进行训练 (加入一棵树,比原来要强) Stacking:聚合多个分类 ...
- 基因组与Python --PyVCF 好用的vcf文件处理器
vcf文件的全称是variant call file,即突变识别文件,它是基因组工作流程中产生的一种文件,保存的是基因组上的突变信息.通过对vcf文件进行分析,可以得到个体的变异信息.嗯,总之,这是很 ...