把音频数据写入wave文件

使用DirectX SDK中带的CWaveFile类可以进行wave文件的读写,新建一个wave文件,并将头信息和音频数据写入文件:

CWavefile *g_pWaveFile;
 WAVEFORMATEX wfxInput;
 ZeroMemory(&wfxInput,sizeof(wfxInput));
 wfxInput.wFormatTag = WAVE_FORMAT_PCM;
 wfxInput.nSamplesPerSec = 48000;
 wfxInput.wBitsPerSample = 32;
 wfxInput.nChannels = 2;
 wfxInput.nBlockAlign = wfxInput.nChannels * (wfxInput.wBitsPerSample / 8);
 wfxInput.nAvgBytesPerSec = wfxInput.nBlockAlign * wfxInput.nSamplesPerSec;

 g_pWaveFile = new CWavefile;
 if (FAILED(g_pWaveFile->Open(L"C:\\Users\\Administrator\\Desktop\\test.wav", &wfxInput,WAVEFILE_WRITE)))
 {
  g_pWaveFile->Close();
 }

 UINT Wsize=0;
 if( FAILED( g_pWaveFile->Write( len, pAudioData, &Wsize ) ) )
  assert(NULL);

g_pWaveFile->Close();//不关闭文件头不会写入文件

交流QQ:1245178753

本文地址:http://blog.csdn.net/u011417605/article/details/51334003

时间: 2024-08-30 02:07:54

把音频数据写入wave文件的相关文章

Jsoup学习笔记9:Jsoup 解析saz文件,读取其中的htm文件到字符串,提取字符串中的数据写入csv文件中

本篇笔记将上篇笔记的操作做些改进,不再把saz文件中的htm文件解析出来,而是不解压直接读取其中的数据成字符串,基本思路如下: 1.自定义一个从文本文件读取内容到字符串的类:解析saz文件中的htm文档,将文件的内容读取到字符串中 2.自定义利用Jsoup解析htm字符串的类:利用Jsoup解析传入的htm字符串,将解析结果写入csv文件中 3.解析时,指定好文件路径,直接调用上面的两个工具类即可 示例代码如下: package com.daxiang.saztest; /** * 自定义一个从

程序一 用记事本建立文件src.dat,其中存放若干字符。编写程序,从文件src.dat中读取数据,统计其中的大写字母、小写字母、数字、其它字符的个数,并将这些数据写入到文件test.dat中。

用记事本建立文件src.dat,其中存放若干字符.编写程序,从文件src.dat中读取数据,统计其中的大写字母.小写字母.数字.其它字符的个数,并将这些数据写入到文件test.dat中. #include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ FILE*fp1,*fp2; char ch; int da=0,xiao=0,shuzi=0,qita=0; if((fp1=fopen("sr

JavaIO 将数据写入到文件中去

package com.Practice_FileWriter; import java.io.FileWriter; import java.io.IOException; public class JustPractice { public static void main(String[] args) throws IOException { //第一步,先建立一个可以向文件中写入数据的输出流对象,这一步的时候要给出写入文件的路径: FileWriter fw = new FileWrit

将数据写入本地文件

在平时开发过程中,可能会碰到内网测试没问题,但是更新到外网时会报错,这时我们又无法在外网进行调试.如果我们分析完业务可能产生的问题还是无法得到报错的原因,那么可以在关键的地方加上异常处理,然后将异常或者关键点的信息写入一个文本,根据打印出来的日志信息进行分析,有利于我们找到问题. 1 /// <summary> 2 /// 记录日志 3 /// </summary> 4 /// <param name="logstring"></param&g

Python爬虫爬数据写入到文件

#coding=utf-8 import requests from bs4 import BeautifulSoup import sys reload(sys)   sys.setdefaultencoding('utf8')  r=requests.get('http://html-color-codes.info/color-names/') html=r.text #print html soup=BeautifulSoup(html,'html.parser') trs=soup.f

Python数据写入csv格式文件

(只是传递,基础知识也是根基) Python读取数据,并存入Excel打开的CSV格式文件内! 这里需要用到bs4,csv,codecs,os模块. 废话不多说,直接写代码!该重要的内容都已经注释了,剩下不懂的可以自己查询一下,或者QQ群内问我.QQ群在以往的博客中! 1 #coding:utf-8 2 from bs4 import BeautifulSoup 3 import bs4 4 import os 5 import time 6 import csv 7 import codecs

Pandas dataframe数据写入文件和数据库

Pandas是Python下一个开源数据分析的库,它提供的数据结构DataFrame极大的简化了数据分析过程中一些繁琐操作,DataFrame是一张多维的表,大家可以把它想象成一张Excel表单或者Sql表.之前这篇文章已经介绍了从各种数据源将原始数据载入到dataframe中,这篇文件介绍怎么将处理好的dataframe中的数据写入到文件和数据库中. 首先我们通过二维ndarray创建一个简单的DataFrame: 1 2 3 4 5 6 7 8 import pandas as pd imp

wave文件(*.wav)格式、PCM数据格式

1. 音频简介 经常见到这样的描述: 44100HZ 16bit stereo 或者 22050HZ 8bit mono 等等. 44100HZ 16bit stereo: 每秒钟有 44100 次采样, 采样数据用 16 位(2字节)记录, 双声道(立体声); 22050HZ 8bit  mono: 每秒钟有 22050 次采样, 采样数据用 8 位(1字节)记录, 单声道; 当然也可以有 16bit 的单声道或 8bit 的立体声, 等等. 采样率是指:声音信号在"模→数"转换过程

转wave 文件解析

转 1 WAVE 文件格式分析 WAVE 文件作为多媒体中使用的声音波形文件格式之一,它是以RIFF(Resource Interchange File Format)格式为标准的.每个WAVE文件的头四个字节便是"RIFF".WAVE 文件由文件头和数据体两大部分组成.其中文件头又分为 RIFF/WAV 文件标识段和声音数据格式说明段两部分.WAVE文件各部分内容及格式见后文. 常见的声音文件主要有两种,分别对应于单声道(11.025KHz 采样率.8Bit 的采样值)和双声道(44