用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 ...
随机推荐
- JS实现页面字体繁简转换
封装的JS代码 // 网页简繁体转换 // 本js用于客户在网站页面选择繁体中文或简体中文显示,默认是正常显示,即简繁体同时显示 // 在用户第一次访问网页时,会自动检测客户端语言进行操作并提示.此功 ...
- oracle数据库的一个表中,怎么设置字段的默认值
如果表已经存在,用如下方法设置默认值. alter table 表名 modify 字段名 default 默认值; 如test表中设置address字段为'浙江省',可用如下语句: alter ta ...
- (一)flutter第一天
import 'package:flutter/material.dart'; void main() => runApp(new MyApp()); class MyApp extends S ...
- Difference between ID and control.ClientID OR why use control.ClientID if I can access control through ID
https://stackoverflow.com/questions/3743582/difference-between-id-and-control-clientid-or-why-use-c ...
- Eclipse 创建maven项目 报错 one or more constraints have not been satisfied
首先 在 pom.xml > plugins 中添加 <plugin> <groupId>org.apache.maven.plugins</groupId> ...
- C# winfrom 当前程序内存读取和控制
https://zhidao.baidu.com/question/31914620.html https://www.cnblogs.com/xcsn/p/4678322.html Process ...
- Docker 开发概述
This page lists resources for application developers using Docker. Develop new apps on Docker If you ...
- 51Nod—1174 区间中最大的数 线段树模版
在大佬们题解的帮助下算是看懂了线段树吧...在这mark下防一手转头就忘. #include<iostream> #include<stdio.h> using namespa ...
- ajax 怎么重新加载页面
$.ajax({ type:"post", url:url, data:{xxx:xx}, dataType: "json", success : functi ...
- UnicodeEncodeError: 'gbk' codec can't encode character '\u25aa' in position 15: illegal multibyte sequence
UnicodeEncodeError: 'gbk' codec can't encode character '\u25aa' in position 15: illegal multibyte se ...