要使用waveout函数组,族,首先要知道几个数据结构,首先是这个 typedef struct tWAVEFORMATEX { WORD wFormatTag; /* 格式的类型 */ WORD nChannels; /* 通道数 */ DWORD nSamplesPerSec; /* 采样频率 */ DWORD nAvgBytesPerSec; /* 比特率 采样率*声道数*采样位数/8 */ WORD nBlockAlign; /* 一次采样的宽度 通道数*采样位数/8 */ WORD w…
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_…
Windows下Git Bash中VIM打开文件中文乱码,解决方法是: 步骤一 admin@DESKTOP-O99620V MINGW64 /d/项目GGE/Hard_for_GGE (master) $ cd /etc/ admin@DESKTOP-O99620V MINGW64 /etc $ vi vimrc 步骤二 在打开的vimrc文件开头添加以下代码: set nu set fencs=utf-,gbk,utf-,utf-,ucs-bom 保存并退出vimrc编辑文档. 步骤三 1.退…
虽然waveout已经过时,但是其api简单,有些时候也还是需要用到. 其实还是自己上msdn查阅相应api最靠谱,waveout也有提供暂停.设置音量等接口的,这里给个链接,需要的可以自己查找: https://msdn.microsoft.com/en-us/library/windows/desktop/dd743834(v=vs.85).aspx waveout播放音频流程: 初始化设备并获得句柄,调用waveOutOpen 初始化WAVEHDR结构体,包含了要播放的音频数据,调用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…
转:http://www.cnblogs.com/wu-wenmin/p/4250330.html 写在前面的话 最近在看"Computer Vision with Python"需要安装PIL库,平时一直在windows下开发,就去"Python Extensions for Windows"下找找看,结果下下来文件的拓展名是.whl.Google了一番才知道安装这种拓展名的包需要pip.平时习惯用.exe安装包,easy_install.pip都没装.扒拉点资料…