ش | ی | د | س | چ | پ | ج |
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
سلام دوستان در این پست می خواهیم که با سی شارپ صدا ضبط کنیم.
ابتدا یک پروژه فرم 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 یک مسیر برای ذخیره فایل از کاربر می گیرد و صدای ضبط شده را در آن مسیر ذخیره می کند.
امیدوارم که خوشتان آمده باشه
تا آموزش های دیگر خدا حافظ