使用 DirectSound 播放 WAV 文件】的更多相关文章

未使用其他库, 只是使用 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_…
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…
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,…
开更 大概最后做了一个能播放无损音乐(无压缩.不需解码)的播放器 原理是基于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…