ضبط و پخش صدا توسط میکروفن (سی شارپ)
یکشنبه 29 دی 1392استفاده از میکروفن (microphone) در سی شارپ (#C)...<br />در این مقاله با نحواه استفاده از میکروفن در سی شارپ با استفاده از کتابخانه های موجود در ویندوز آشنا می شودید<br />ضبط صدا ، ذخیره صدای ضبط شده ، پخش صدای ذخیره شده

سلام دوستان
امروز می خوام یادتون بدون توسط سی شارپ صدا رو با میکروفن بط کنید
و پخش هم کنید
خب ابتدا فرم را ساخته
سپس فضاهای نام را اضافه می کنیم
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices;
برای ضبط صدا از کتابخانه داخل ویندوز استفاده میکنیم
ولی چون این کتابخانه دات نت نیست از دستور زیر استفاده میکنیم
[DllImport("winmm.dll")]
public partial class Form1 : Form { [DllImport("winmm.dll")] private static extern int mciSendString(string MciComando, string MciRetorno, int MciRetornoLeng, int CallBack);
خب باید دستورات را ارسال کنیم
کلید ضبط
label1.Visible = true; mciSendString("open new type waveaudio alias Som", null, 0, 0); mciSendString("record Som", null, 0, 0);
کلید ایست که بعد از توقف مسیری برای ذخیره فایل رکورد شده از شما دریافت میکند و ذخیره میکند
label1.Visible = false; mciSendString("pause Som", null, 0, 0); SaveFileDialog save = new SaveFileDialog(); save.Filter = "wave|*.wav"; if (save.ShowDialog() == DialogResult.OK) { mciSendString("save Som " + save.FileName, null, 0, 0); mciSendString("close Som", null, 0, 0); }
و در نهایت کلید پخش که فایل انتخاب میکنید و پخش میکند
if (musica == "") { OpenFileDialog open = new OpenFileDialog(); open.Filter = "Wave|*.wav"; if (open.ShowDialog() == DialogResult.OK) { musica = open.FileName; } } mciSendString("play " + musica, null, 0, 0);
خب تایمر هم وجود داره برای نمایش زمان ضبط که در ساعت شروع را دریافت میکند و در هر لحظه با ساعت جاری مقایسه میکنه
TimeSpan dt = DateTime.Now - StartTime; lblTime.Text = dt.Hours + ":" + dt.Minutes + ":" + dt.Seconds;
نمونه هم ضمیمه کردم
امیدوارم خوشتون اومده باشه
- C#.net
- 8k بازدید
- 19 تشکر