C# 录音话筒创建1KB文件
我正在尝试创建一个记录我自己的应用程序,每5分钟保存一次,然后开始新的记录。要做到这一点,我首先需要弄清楚如何通过C记录我的自我# 从谷歌的各种搜索中,我找到了一个教程,最终我找到了这段代码C# 录音话筒创建1KB文件,c#,audio,wav,C#,Audio,Wav,我正在尝试创建一个记录我自己的应用程序,每5分钟保存一次,然后开始新的记录。要做到这一点,我首先需要弄清楚如何通过C记录我的自我# 从谷歌的各种搜索中,我找到了一个教程,最终我找到了这段代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Runt
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp4
{
public partial class Form1 : Form
{
[DllImport("winmm.dll")]
private static extern long mciSendString(string Command, string ReturnString, int ReturnLength, IntPtr Callback);
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
mciSendString("open new type WAVEAudio alias recsound", "", 0, IntPtr.Zero);
mciSendString("record recsound", null, 0, IntPtr.Zero);
}
private void button2_Click(object sender, EventArgs e)
{
mciSendString("save recsound C://temp.wav", null, 0, IntPtr.Zero);
mciSendString("close recsound", null, 0, IntPtr.Zero);
}
}
}
到目前为止,它还可以工作,因为我确实在所需的位置获得了命名为.wav的文件,但是它的大小始终为1KB,这让我觉得我可能没有真正开始录制
如果有任何关于这可能不起作用的提示,我将非常乐于助人
编辑:不显示错误如果每个文件记录的时间完全相同,则文件大小将相同。很可能文件大小略有不同,并且文件资源管理器正在舍入文件大小。在“文件资源管理器”中右键单击文件,然后在“属性”下检查实际文件大小。我想我选择了错误的单词。当文件为emtpy时,文件大小不会更改。重放时(无论我录制的是1秒还是20秒),文件会在任何音乐播放器中打开并转到“endscreen”,请确保在关闭()之前刷新()文件。对于小文件,您将创建文件,但它不包含任何数据。您是指类似于
mciSendString(“flush recsound”,null,0,IntPtr.Zero)的内容吗代码>?编辑:如果是,则这不是导致错误的问题(已测试)