نحوه ضبط و ذخیره صدا در #C
سه شنبه 8 اردیبهشت 1394در این مقاله نحوه ضبط و ذخیره صدا را همراه با ذکر مثال توضیح خواهیم داد
برای این کار مطابق مراحل زیر عمل کنید :
1 - ابتدا یک windows form (در این مثال با نام microphone) ایجاد میکنیم
2 - سپس سه دکمه در صفحه قرار میدهیم .یک دکمه برای ظبط صدا , یک دکمه برای ذخیره و توقف عملیات ضیط و یک دکمه برای اجرای صدای ضبط شده
هنگامی که طراحی صفحه خاتمه یافت , فضای نام System.Runtime.InteropServices را اضافه میکنیم مانند کد زیر :
using System.Diagnostics; using System; using System.Windows.Forms; using System.Collections; using System.Drawing; using Microsoft.VisualBasic; using System.Data; using System.Collections.Generic; using System.Runtime.InteropServices;
سپس در ماژول کد نویسی خود یک تابع برای دسترسی به winmm.dll ایجاد میکنیم , مانند کد زیر :
[DllImport("winmm.dll",EntryPoint="mciSendStringA", ExactSpelling=true, CharSet=CharSet.Ansi, SetLastError=true)] private static extern int record(string lpstrCommand, string lpstrReturnString, int uReturnLength, int hwndCallback);
در قسمت رویداد دکمه ضبط کد زیر را مینویسیم :
timer1.Enabled = true; timer1.Start(); record("open new Type waveaudio Alias recsound", "", 0, 0); record("record recsound", "", 0, 0);
در قسمت بالا تابعی با نام record فرا خوانی میشود و هنگامی که کاربر بر روی دکمه مورد نظر کلیک می کند نرم افزار آماده ضبط صدا میشود .
و در قسمت رویداد مربوط به دکمه "ذخیره / توقف" کد زیر را می نویسیم :
{ timer1.Stop(); timer1.Enabled = false; record("save recsound d:\\mic.wav", "", 0, 0); record("close recsound", "", 0, 0); }
alias که با نام recsound در ابتدا تعریف کرده بودیم , در این قسمت فرا خوانی می شود , این دکمه صدای ضبط شده را در آدرسی که ما در نرم افزار مشخص کرده ایم و با پسوندی مشخص ذخیره می کند , به عنوان مثال ما در درایو D و با پسوند mic.wav ذخیره می کنیم .
سپس برای دکمه "اجرا " کدهای زیر را می نویسیم :
ms = 0; h = 0; s = 0; m = 0; timer1.Enabled = false; lblhur.Text = "00"; lblmin.Text = "00"; lblsecond.Text = "00";
ما تابع play را در Audio برای اجرای صدای ضبط شده استفاده می کنیم .
- C#.net
- 2k بازدید
- 4 تشکر