سلام دوستان در این پست می خواهیم که با سی شارپ صدا ضبط کنیم.
ابتدا یک پروژه فرم C# در ویژوآل استدیو می سازیم.
بروی فرم 2 دکمه قرار می دهیم یکی به نام start recording و دیگری به نام stop & save.
وارد کد های برنامه می شویم و فضای نام زیر را اضافه می کنیم.
1 | using System.Runtime.InteropServices; |
در داخل کلاس فرمتان کد زیر را بنویسید.
1 2 | [DllImport("winmm.dll")] private static extern int mciSendString(string MciComando, string MciRetorno, int MciRetornoLeng, int CallBack); |
تابع ما تعریف شد.
وارد رویداد کلیک دکمه start recording می شویم و کد زیر را در آن می نویسیم.
1 2 | mciSendString("open new type waveaudio alias Som", null, 0, 0); mciSendString("record Som", null, 0, 0); |
وارد رویداد کلیک دکمه stop & save می شویم و این کد را در آن قرار می دهیم.
1 2 3 4 5 6 7 8 | mciSendString("pause Som", null, 0, 0); SaveFileDialog saveFD = new SaveFileDialog(); saveFD.Filter = "MP3|*.mp3 |Wave|*.wav"; if (saveFD.ShowDialog() == DialogResult.OK) { mciSendString("save Som " + saveFD.FileName, null, 0, 0); mciSendString("close Som", null, 0, 0); } |
همانطور که می بینید ابتدا ضبط را متوقف میکند سپس با کمک یک SaveFileDialog یک مسیر برای ذخیره فایل از کاربر می گیرد و صدای ضبط شده را در آن مسیر ذخیره می کند.
امیدوارم که خوشتان آمده باشه
تا آموزش های دیگر خدا حافظ