WinAPI: sndPlaySound - 播放 wav 文件】的更多相关文章

WinAPI: sndPlaySound - 播放 wav 文件 //声明: sndPlaySound(   lpszSoundName: PChar; {声音文件}   uFlags: UINT{播放选项} ): BOOL; //uFlags 参数可选值: SND_SYNC      = ; {同步播放, 程序须等到播放完毕才向下执行} SND_ASYNC    = ; {异步播放, 在函数返回之后开始播放, 不影响程序继续执行} SND_NODEFAULT = ; {声音文件缺失时, 函数自…
from http://www.vckbase.com/index.php/wv/434 平时,你在多媒体软件的设计中是怎样处理声音文件的呢?使用Windows 提供的API函数 sndPlaySound来实现WAV文件的播放?但是,你有没有遇到过这种情况呢:当WAV文件大于可用内存时,sndPlaySound 函数就不能进行播放!!!那么,如何利用MCI播放大型音频文件呢? 本文将介绍一种方法. Windows支持两种RIFF(resource interchange file format,…
C#使用HWQPlayer类播放wav文件 类的代码: using System.IO; using System.Runtime.InteropServices; namespace HoverTreeSound.HewenqiFrame { internal class HWQPlayer { [DllImport("winmm.dll")] private static extern int sndPlaySoundA(byte[] lpszSoundName, int uFla…
未使用其他库, 只是使用 pywin32 调用系统底层 API 播放 wav 文件. # Our raison d'etre - playing sounds import pywintypes import struct import win32event import win32com.directsound.directsound as ds import os WAV_HEADER_SIZE = struct.calcsize('<4sl4s4slhhllhh4sl') def wav_…
开更 大概最后做了一个能播放无损音乐(无压缩.不需解码)的播放器 原理是基于dosbox的模拟声卡,通过硬件之间的相互通讯做到的 关于详细内容接下来再讲. 一.从dosbox入手 我们知道cpu可以直接输出到蜂鸣器的端口,然后让蜂鸣器发声.但是蜂鸣器的局限性很大,大多数蜂鸣器只支持两种电压,也就只能发出非常单一的声音.所以,从播放音乐角度来讲,调用蜂鸣器是比较简单但局限性很大的.所以这里不会采用调用蜂鸣器的做法. 要用8086发出复杂的声音,最简单的想法就是调用声卡,但在dos环境下,想调用wi…
在UBUNTU系统上使用alsa库完成了对外播放的wav文件的案例. 案例代码: /** *test.c * *注意:这个例子在Ubuntu 12.04.1环境下编译运行成功. * */ #include <stdio.h> #include <stdlib.h> #include <alsa/asoundlib.h> int main(int argc, char *argv[]) { int i; int ret; int buf[128]; unsigned in…
//方法一(要符合RIFF规范) 1 QSound::play("E:/Projects/报警声1-1.wav"); //方法二(要符合RIFF规范) 1 QSoundEffect in_effect; 2 in_effect.setSource(QUrl::fromLocalFile("E:/Projects/报警声1-1.wav")); 3 in_effect.setLoopCount(QSoundEffect::Infinite); 4 in_effect.s…
要使用waveout函数组,族,首先要知道几个数据结构,首先是这个 typedef struct tWAVEFORMATEX { WORD wFormatTag; /* 格式的类型 */ WORD nChannels; /* 通道数 */ DWORD nSamplesPerSec; /* 采样频率 */ DWORD nAvgBytesPerSec; /* 比特率 采样率*声道数*采样位数/8 */ WORD nBlockAlign; /* 一次采样的宽度 通道数*采样位数/8 */ WORD w…
using System; using System.Media; namespace ConsoleApplication { class Program { static void Main(string[] args) { SoundPlayer s = new SoundPlayer("test.wav"); s.Play(); Console.Read(); } } }…
import java.io.File; import java.io.IOException; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioInputStream; import javax.sound.sampled.AudioSystem; import javax.sound.sampled.DataLine.Info; import javax.sound.sampled.LineUna…
用 Qt 的 QAudioOutput 类播放 WAV 音频文件 最近有一个项目,需要同时控制 4 个声卡播放不同的声音,声音文件很简单就是没有任何压缩的 wav 文件. 如果只是播放 wav 文件,那么 Qt 里简单的 QSound 类是最适合的.但是 QSound 有一个很大的缺陷就是无法选择用哪个声卡.一番研究之后,决定用 QAudioOutput 来播放 WAV 音频文件. 网上也能找到几篇相关的文章,比如: http://blog.csdn.net/qyee16/article/det…
目录 第1章保存    1 1.1 操作    1 1.2 波形说明    4 1.3 波形整形    5 1.4 压缩    8 第2章载入    9 2.1 操作    9 2.2 音量    9 第3章 wav2bin代码解析    10 3.1 读取一个数据位    10 第1章保存 本章将介绍如何把PC-1500机内的BASIC代码保存到PC的wav文件内.您需要:PC-1500的底座(CE-150).录音软件(本章以Cool Edit 2.1为例进行说明).E500Comm14.11…
对于WAV文件来说,可以直接使用ffplay命令播放,而且不用像PCM那样增加额外的参数.因为WAV的文件头中已经包含了相关的音频参数信息. ffplay in.wav 接下来演示一下如何使用SDL播放WAV文件. 初始化子系统 // 初始化Audio子系统 if (SDL_Init(SDL_INIT_AUDIO)) { qDebug() << "SDL_Init error:" << SDL_GetError(); return; } 加载WAV文件 // 存…
html5的audio标签只在火狐下支持wav格式的音频播放,无法兼容IE和google , 使用audioplayer.js 基本上能支持大部分浏览器播放wav音频文件,经测试IE.火狐.google浏览器都可以播放编码格式为: 的wav格式的音频 当audio标签不支持或者audio不能播放相应格式的文件时,播放器将使用迷你模式,使用embed元素来播放音频,支持的功能将较少,并且各浏览器支持功能不一致 使用方法: 1.html中加入audio标签 <audio controls="c…
虽然waveout已经过时,但是其api简单,有些时候也还是需要用到. 其实还是自己上msdn查阅相应api最靠谱,waveout也有提供暂停.设置音量等接口的,这里给个链接,需要的可以自己查找: https://msdn.microsoft.com/en-us/library/windows/desktop/dd743834(v=vs.85).aspx waveout播放音频流程: 初始化设备并获得句柄,调用waveOutOpen 初始化WAVEHDR结构体,包含了要播放的音频数据,调用wav…
本设计思路:先打开一个普通wav音频文件,从定义的文件头前面的44个字节中,取出文件头的定义消息,置于一个文件头的结构体中.然后打开alsa音频驱动,从文件头结构体取出采样精度,声道数,采样频率三个重要参数,利用alsa音频驱动的API设置好参数,最后打开wav文件,定位到数据区,把音频数据依次写到音频驱动中去,开始播放,当写入完成后,退出写入的循环. 注意:本设计需要alsa的libasound-dev的库,编译链接时需要连接 —lasound. #include<stdio.h>#incl…
下面我们一wav头文件来分析一下: 下面是双声道的,16位,48000采样录的wav文件: 打开属性,能看到的有用信息只有比特率了: 上图的比特率就是 wav头文件里的bitrate: 1536kbps=量化采样点*位深*声道数 这个比特率是按照 '位' 来算的,,, * 2  :每秒内消耗多少位 用GoldWave软件打开,滑动滚轮进行放大: 200us总共输出了20个数据,,但是每个数据是16位(因为消耗两个8位得到的数据) 这20个数据是由40个8位的音频数据组成的. 200us消耗了40…
use mmsystem;SndPlaySound('hello.wav',SND_FILENAME or SND_SYNC) ///////////////////////////////////unit PlaySnd1; interface uses  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,  StdCtrls; type  TForm1 = class(TForm)    Play…
#include<stdio.h> #include<stdlib.h> #include <string.h> #include <alsa/asoundlib.h> struct WAV_HEADER { char rld[4]; //riff 标志符号 int rLen; char wld[4]; //格式类型(wave) char fld[4]; //"fmt" int fLen; //sizeof(wave format mat…
合并两个 Wav 文件的函数 实例一 unit Unit1; interface usesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls; typeTForm1 = class(TForm)Button1: TButton;procedure Button1Click(Sender: TObject);end; varForm1: TForm1; impleme…
#include <unistd.h> #include <fcntl.h> #include <sys/types.h> #include <sys/ioctl.h> #include <stdlib.h> #include <stdio.h> #include <linux/soundcard.h> /* 下面的三个参数是跟具体文件相关 * cmd: file 音频文件 * [file pass.wav] =>&…
//MmSystem播放Wav格式声音 //MmSystem 支持 *.wav声音格式 snd ->SoundRecorderuses MmSystem; //引用MmSystem//播放系统声音{.Default //这个只要是字符串('str')就好MailBeepSystemExclamationSystemExitSystemHand}PlaySound ('SystemExit',0, snd_Async);//PChar类型字符串//播放列表框中的声音PlaySound(PChar(…
声明:本教程版权归Lizcst Software Lab所有,欢迎转载,但是转载必须保留本段声明文字,并注明文章来源:http://blog.csdn.net/kflizcst 谢谢合作! 播放媒体是有趣的程序所必须具备的一个重要的功能,尤其是游戏程序.一个没有任何媒体效果(包括音频或者视频)的游戏,将无法给人带来想要玩下去的冲动.这篇乃至接下来的一系列教程将向大家介绍如何在使用幻世引擎开发的程序中播放各种媒体文件. 在幻世引擎中,有两个接口是专门用来处理和播放媒体文件的,分别是ISoundSy…
源代码:http://download.csdn.net/detail/nuptboyzhb/3961698 Alpha融合菜单项 1.      增加alpha融合菜单项,修改相应的属性,建立类向导,编辑消息处理函数. 2.      在消息处理函数中添加如下代码 void CCVMFCView::OnAlphaMix() { //TODO: Add your command handler code here //TODO: Add your command handler code her…
前提:最近要求做一个在winform端做一个音频文件播放的功能,至此,总结最近搜寻的相关资料. 一.微软提供了三种方式来播放音频文件 1.通过System.Media.SoundPlayer来播放 2.通过Com组件,添加axWindowsMediaPlayer控件播放. 3.通过ApI函数mcisendstring播放 ————————————————————————————————————————分割线—————————————————————————————————————————— 二:…
最近遇到一个客户需求,希望在会议室建立起来后,自动播放一段指定的声音. 已知会议室命令,假设建立起一个会议室号码3000,很容易实现以下功能: 一.播放一个声音文件一次 conference 3000 play /home/test.wav 二.播放一个声音文件二次 conference 3000 play file_string:///home/test.wav!/home/test.wav 三.播放不同的声音文件(原理同二) conference 3000 play file_string:…
1.  #include <mmsystem.h>#pragma comment(lib,"winmm.lib")PlaySound(TEXT("c:\\temp\\up.wav"), NULL, SND_FILENAME | SND_ASYNC | SND_LOOP ); wav文件在播放前将被装入内存,所以不能太大.只能同时播放一个声音.后一个声音会关闭前一个声音. 2. 参考speexdrop的waveOut系列函数调用 3. DirectSoun…
音视频系列 什么是wav wav是一种无损的音频文件格式,wav文件有两部分,第一部分是文件头,记录一些重要的参数信息,如音频的采样率,通道数,数据位宽,第二部分是数据部分,数据部分可以是PCM,也可以是其它的编码格式的数据 为什么要将音频存储wav格式 存储为该格式,音乐播放器可以通过读取wav头,识别出它是音频文件,从而进行播放. 因为后缀名是可以任意修改的,不能简单的通过后缀名来判断该文件是否是音频文件 wav与pcm的区别 pcm是一种未经压缩的编码方式 wav是一种无损的音频文件格式…
资源下载 #本文PDF版下载 Python解析Wav文件并绘制波形的方法 #本文代码下载 Wav波形绘图代码 #本文实例音频文件night.wav下载 音频文件下载 (石进-夜的钢琴曲) 前言 在现在繁忙的生活中,我们经常会听些歌来放松一下自己,我们经常会从各种播放软件中听自己喜欢的歌,并且往往我们会下载一部分歌曲,而现在音频的种类也相当繁多,像是Wav,Mp3,FLAC,AAC等等很多格式,最近由于需要做一个能够分析Wav格式音频的波形来取得一些数据比如获取人录音时是否说完等等用途.本周先对解…