问题描述
- C#录音,用的DirectX,录出来的声音的太小,而且录音这声音小的话就录不到
-
C#录音,用的DirectX,录出来的声音的太小,而且录音这声音小的话就录不到,我已经把win7电脑开到最大音量了,是声卡问题?还是程序代码问题?代码就是网上搜索下来的,部分代码如下:private WaveFormat CreateWaveFormat() { WaveFormat format = new WaveFormat(); format.FormatTag = WaveFormatTag.Pcm; // PCM format.SamplesPerSecond = 16000; // 采样率:16KHz format.BitsPerSample = 16; // 采样位数:16Bit format.Channels = 1; // 声道:Mono format.BlockAlign = (short)(format.Channels * (format.BitsPerSample / 8)); // 单位采样点的字节数 format.AverageBytesPerSecond = format.BlockAlign * format.SamplesPerSecond; return format; // 按照以上采样规格,可知采样1秒钟的字节数为 16000*2=32000B 约为31K
- * }
解决方案
你先打开windows自带的录音机试试看。你开音量开的是麦克风的还是扬声器的?你说话有没有对着麦克风?换一个麦克风试试看。
解决方案二:
嗯,赞同楼上的说法,用其它的录音工具录制对比一下,如果其它工具也存在相同的问题,再查找技术原因;
通常底层调用的API都是一样的。
解决方案三:
嗯,赞同楼上的说法,用其它的录音工具录制对比一下,如果其它工具不存在相同的问题,再查找技术原因;
通常底层调用的API都是一样的。
写错了,纠正一下。
时间: 2025-01-19 04:03:30