تسجيل الصوت

سنضيف في هذا الدرس خاصية مهمة للتطبيق

وهي إمكانية تسجيل الصوت سواء من الإجهزة الخارجية بواسطة لاقط الصوت

أو من الكمبيوتر نفسة بإستخدام خاصية Mix in

نحتاج في هذا الدرس إلى إصدار جديد من مكتبة Homa_Audio

إنسخ ملف المكتبة الجديد من
هنا

وإستبدل الملف الموجود في مجلد Debug بهذا الملف

ثم من التطبيق إذهب إلى متصفح المشروح و أزل الملف القديم من References



ثم قم بإضافة الإصدار الجديد من المكتبة إلى References كما فعلنا سابقاً :






الإصدار الجديد يحتوي على كائن HAudio الذي يقوم يقوم بعمليات التسجيل

ولإستخدام هذا الكائن في التطبيق لا بد من تعريفه وليكن إسمه ra

إنسخ كود التعريف التالي تحت تعريف كائن تغيير الصوت من الدرس السابق :


كود:
private HAudio ra=new HAudio();



هذا الكائن يحتوي على إجراء التسجيل Record والذي يستقبل مدخل من نوع سلسلة نصية تمثل مسار الملف الي سيتم التسجيل إليه

مثلاً التعليمة التالي :


كود:
ra.Record(@"c:\record.wav");

تقوم بتسجيل الصوت إلى الملف record.wav في القرص المحلي c

أي أن كائن التسجيل يقوم بإنشاء الملف record.wav ثم تسجيل الصوت إليه

ولكن يجب أن لا يكون مسار الملف ثابت , يجب أن يختار المستخدم المكان الذي يرغب بتسجيل الصوت إليه

لذلك سنستخدم نافذة جاهزة أخرى وهي نافذة حفظ الملفات SaveFileDialog

التسجيل

إذهب إلى نافذة التصميم , وإسحب زر جديد من صندوق الادوات يمثل زر التسجيل وأضف إليه صورة مناسبة

إسحب أداة حفظ الملفات SaveFileDialog من صندوق الأدوات



وحددها من الشريط الأصفر في الأسفل

ثم غير خاصية Name إلى SF :



وغير خاصية FileName إلى new.wav

أنقر مزدوجا على زر التسجيل وأنسخ هذا الكود :


كود:
SF.ShowDialog(); ra.Record(SF.FileName);

السطر الأول يقوم بفتح أداة حفظ الملفات SF كما فعلنا سابقاً في أداة فتح الملفات OF

السطر الثاني يستدعي إجراء التسجيل في كائن تسجيل الصوت ra الذي عرفناه سابقاً

وإستبدلنا مدخل مسار ملف الصوت بناتج أداة حفظ الملفات حيث أن خاصية FileName في كائن SF

ترجع بقيمة سلسلة نصية تمثل المسار المختار من قبل المستخدم

إيقاف التسجيل

كائن التسجيل يحتوي على إجراء أخر يقوم بعملية إيقاف التسجيل وحفظ الملف

StopRecording هو إجراء إيقاف التسجيل , فالتعليمة التالية :


كود:
ra.StopRecording();

هي تعليمة إستدعاء إجراء إيقاف التسجيل

وهذا الإجراء يوقف عملية إلتقاط الصوت ثم يقوم بحفظ الملف الناتج

أي أن ملف التسجيل لن يتم إنشاؤه بشكل صحيح إلا بعد إستدعاء إجراء إيقاف التسجيل

إذهب إلى التصميم وأضف زر يمثل زر إيقاف التسجيل وأكتب داخله الكود المناسب

وذلك هو الواجب ..

ملاحظة :

يمكن للتطبيق الآن أن يسجل الصوت من نفسه , حيث أن إدوات التسجيل منفصلة عن ادوات التشغيل وهذه ميزه مهمة

.نهاية الدرس الرابع عشر .