منتديات الجوكر , شات الجوكر , منتدى الجوكر , دردشة الجوكر
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

منتديات الجوكر , شات الجوكر , منتدى الجوكر , دردشة الجوكر

منتديات الجوكر , شات الجوكر , منتدى الجوكر , دردشة الجوكر - يرحب بكل الزوار
 
الرئيسيةالبوابةأحدث الصورالتسجيلدخول
بحـث
 
 

نتائج البحث
 
Rechercher بحث متقدم
تصويت
ما رايكم بمنتدانا؟
ممتاز
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Empty78%حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Empty
 78% [ 376 ]
جيد
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Empty11%حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Empty
 11% [ 55 ]
سيئ
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Empty11%حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Empty
 11% [ 52 ]
مجموع عدد الأصوات : 483
المواضيع الأخيرة
» من أفضل شركات التشطيب في مصر
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Icon_minitimeالأربعاء فبراير 03, 2021 4:33 pm من طرف يوسف بسام

» من أفضل شركات التشطيب في مصر
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Icon_minitimeالأربعاء فبراير 03, 2021 4:31 pm من طرف يوسف بسام

» تخفيضات راس السنه من شركة دي سي اس مصر 2021
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Icon_minitimeالثلاثاء يناير 05, 2021 2:10 pm من طرف يوسف بسام

» تخفيضات راس السنه من شركة دي سي اس مصر 2021
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Icon_minitimeالثلاثاء يناير 05, 2021 2:08 pm من طرف يوسف بسام

» تخفيضات راس السنه من شركة دي سي اس مصر 2021
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Icon_minitimeالأحد ديسمبر 27, 2020 1:22 pm من طرف يوسف بسام

» تخفيضات راس السنة للتشطيبات والديكورات 2021
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Icon_minitimeالأحد ديسمبر 27, 2020 1:14 pm من طرف يوسف بسام

» عروض راس السنه من شركة دي سي اس مصر 2021
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Icon_minitimeالخميس ديسمبر 17, 2020 4:48 pm من طرف يوسف بسام

» عروض شركة تشطيبات وديكورات 2021
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Icon_minitimeالخميس ديسمبر 17, 2020 4:46 pm من طرف يوسف بسام

» عروض شركة تشطيبات وديكورات 2021
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Icon_minitimeالأربعاء ديسمبر 09, 2020 5:23 pm من طرف يوسف بسام

المواضيع الأكثر شعبية
متطلبات تشغيل لعبة جاتا اى فى gta iv 4
طعام البادجى الاسترالى كامل
ل الان جميع اجزاء كارتون القناص علي mediafire مدبلج عربي
الاحتراف, البدايه, البرمجه, الى, الشرح, الكامل, بالفيجوال, بيسك, بخطوه, تعمل, خطوه, شرح برمجة تعلم البرمجه بالفيجوال بيسك 6 خطوه بخطوه مع الشرح الكامل من البدايه الى الاحتراف ‏
تصويت ما رايكم بمنتدانا
مذكرة شرح واسئلة علم النفس والاجتماع للصف الثالث الثانوى المنهج الجديد 2014
برنامج TAQNIA CHAT اول برنامج شات عربى الجنسية روعة فى الشكل وسهل الاستحدام +شرح كامل 2013
على الموقع السريع 4shared اخر اصدار Adobe Flash Player 17.0.0.99 Beta - 2015
الاذان بالكتابة
تحميل جميع اجزاء لعبة Yu Gi Oh يوجى 6 اجزاء بروابط مباشرة على اكثر من سيرفر
المواضيع الأكثر نشاطاً
تصويت ما رايكم بمنتدانا
صينيه السمك المشوي - شرح عمل صينيه السمك المشوي 2013
7aydar haydar 7aydara arabic islamic cartoon animation imam ali movie chapter 1 part 1
انا جديد هون وابغا اشوف الكلام الحلو كترحيب
اختر من الافضل السيسى ام مرسى ؟
تحميل برنامج الا صلاتى
عيد ميلاد المشرفة هانا موتانا
مطابخ باللون الارجواني.
اكبر دورة لحمايه الكمبيوتر من الاختراق 2013
صور نادرة لبورسعيد حصريا 2013
أفضل 10 أعضاء في هذا المنتدى
المدير
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Emptyحصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ I_back_titleحصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Empty 
Fouad
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Emptyحصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ I_back_titleحصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Empty 
هانا موتانا
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Emptyحصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ I_back_titleحصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Empty 
شيتوس
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Emptyحصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ I_back_titleحصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Empty 
tarek capo
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Emptyحصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ I_back_titleحصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Empty 
كيمو المصراوى
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Emptyحصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ I_back_titleحصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Empty 
capo tarek
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Emptyحصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ I_back_titleحصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Empty 
انفجار
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Emptyحصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ I_back_titleحصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Empty 
المتوكل على الله
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Emptyحصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ I_back_titleحصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Empty 
عبد الله احمد العربى
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Emptyحصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ I_back_titleحصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Empty 
سحابة الكلمات الدلالية
طعام طائر الاسترالى القناص البادجى

 

 حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏

اذهب الى الأسفل 
كاتب الموضوعرسالة
المدير
مؤسس المنتدى
مؤسس المنتدى
المدير


عدد المساهمات : 1947
تاريخ التسجيل : 04/04/2013
المزاج : اشطا

حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Empty
مُساهمةموضوع: حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏   حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Icon_minitimeالجمعة مايو 17, 2013 2:35 pm


بسم الله نبدأ

تتلخص الفكرة الأساسية من نقل الصوت عبر بروتكول الإنترنت IP بتحويل الصوت
إلى مجموعة من ال Bits تجمع في Byte Array ثم كبسلته ليتم نقله ك Datagram
Packets عبر الشبكة ، وللاستقبال الصوت في الطرف الأخر يتم تجميع ال
Packets مرة أخرى في مصفوفة Byte Array , وتتم عملية القراءة وفق مبدأ ال
FIFO – First In First Out أي القادم أولا يعرض أولا ...

تمر عملية التقاط الصوت بمجموعة من المراحل تبدأ بالتقاط الصوت من
المايكروفون وتمثيل الذبذبات الصوتية ثم تحويلها إلى مجموعة من ال Bits
وذلك بعمل Sampling لذبذبات الصوتية الملتقطة وبعد هذه العملية يمكننا نقل
الصوت عبر الشبكة

حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ 10

كما قلنا سابقا فإن الدوت نيت لم تدعم أي من عمليات التقاط وعرض الصوت ،
لاكن لإجراء هذه العمليات لابد من استخدام مجموعة ملفات ال DLL والتي تأتي
مع نظام التشغيل ومنها ملف winmm.dll الشهير ،
والخاص بالتعامل مع وسائل ال Multimedia في نظام التشغيل ، حيث يدعم هذا
الملف مجموعة من ال Methods لالتقاط الصوت عبر المايكروفون وتخزينه في Byte
Array Buffer ومن ثم عرضه مرة أخرى وهذه ال Method هي :

waveInGetNumDevs والتي تستخدم لتحديد عدد أجهزة الإدخال والمربوطة مع ال Sound Card ولا تأخذ أي باروميترات.

waveInAddBuffer وتستخدم لتخزين ال Bits الواردة من جهاز الإدخال في Byte Array Buffer وتأخذ هذه ال Method ثلاثة باروميترات وهي:




كود:
waveInAddBuffer(hwi As IntPtr , ByRef pwh As WaveHdr ,cbwh As integer)

حيث يمرر للأول جهاز الإدخال والذي تم اختياره و يحدد في الثاني Reference
لموقع تخزين ال Buffer وفي الثالث يحدد حجم ال Buffer المستلم

الميثود waveInOpen و waveInClose لفتح وإغلاق الاتصال مع جهاز الإدخال.
الميثود waveInPrepareHeader لتجهيز وحجز ال Buffer وتأخذ نفس الباروميترات الموجودة في waveInAddBuffer.
الميثود waveInUnprepareHeader ويتم استدعائها بعد تعبئة ال Buffer حتى يتم إرسال ال Buffer ومن ثم تفريغه للاستعداد لتعبئته مرة أخرى.
الميثود waveInStart و الميثود waveInStop بدأ وإغلاق عملية الإدخال من المايكروفون.

حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ 10

ولاستخدام هذه الميثود في الدوت نيت نقوم بتعريفها أولا باستخدام DllImport وكما يلي:




كود:
<DllImport("winmm.dll")> _
Public Shared Function waveInGetNumDevs() As Integer
End Function
<DllImport("winmm.dll")> _
Public Shared Function waveInAddBuffer(ByVal hwi As IntPtr, ByRef pwh As WaveHdr, ByVal cbwh As Integer) As Integer
End Function
<DllImport("winmm.dll")> _
Public Shared Function waveInClose(ByVal hwi As IntPtr) As Integer
End Function
<DllImport("winmm.dll")> _
Public Shared Function waveInOpen(<System.Runtime.InteropServices.Out()> ByRef phwi As IntPtr, ByVal uDeviceID As Integer, ByVal lpFormat As WaveFormat, ByVal dwCallback As WaveDelegate, ByVal dwInstance As Integer, ByVal dwFlags As Integer) As Integer
End Function
<DllImport("winmm.dll")> _
Public Shared Function waveInPrepareHeader(ByVal hWaveIn As IntPtr, ByRef lpWaveInHdr As WaveHdr, ByVal uSize As Integer) As Integer
End Function
<DllImport("winmm.dll")> _
Public Shared Function waveInUnprepareHeader(ByVal hWaveIn As IntPtr, ByRef lpWaveInHdr As WaveHdr, ByVal uSize As Integer) As Integer
End Function
<DllImport("winmm.dll")> _
Public Shared Function waveInReset(ByVal hwi As IntPtr) As Integer
End Function
<DllImport("winmm.dll")> _
Public Shared Function waveInStart(ByVal hwi As IntPtr) As Integer
End Function
<DllImport("winmm.dll")> _
Public Shared Function waveInStop(ByVal hwi As IntPtr) As Integer
End Function

حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ 10

وكما سوف نستخدم مجموعة ال Methods التالية لتحويل ال Byte Array Buffer إلى صوت مرة أخرى وعرضه على جهاز الإخراج :




كود:
<DllImport("winmm.dll")> _
Public Shared Function waveOutGetNumDevs() As Integer
End Function
<DllImport("winmm.dll")> _
Public Shared Function waveOutPrepareHeader(ByVal hWaveOut As IntPtr, ByRef lpWaveOutHdr As WaveHdr, ByVal uSize As Integer) As Integer
End Function
<DllImport("winmm.dll")> _
Public Shared Function waveOutUnprepareHeader(ByVal hWaveOut As IntPtr, ByRef lpWaveOutHdr As WaveHdr, ByVal uSize As Integer) As Integer
End Function
<DllImport("winmm.dll")> _
Public Shared Function waveOutWrite(ByVal hWaveOut As IntPtr, ByRef lpWaveOutHdr As WaveHdr, ByVal uSize As Integer) As Integer
End Function
<DllImport("winmm.dll")> _
Public Shared Function waveOutOpen(<System.Runtime.InteropServices.Out()> ByRef hWaveOut As IntPtr, ByVal uDeviceID As Integer, ByVal lpFormat As WaveFormat, ByVal dwCallback As WaveDelegate, ByVal dwInstance As Integer, ByVal dwFlags As Integer) As Integer
End Function
<DllImport("winmm.dll")> _
Public Shared Function waveOutReset(ByVal hWaveOut As IntPtr) As Integer
End Function
<DllImport("winmm.dll")> _
Public Shared Function waveOutClose(ByVal hWaveOut As IntPtr) As Integer
End Function
<DllImport("winmm.dll")> _
Public Shared Function waveOutPause(ByVal hWaveOut As IntPtr) As Integer
End Function
<DllImport("winmm.dll")> _
Public Shared Function waveOutRestart(ByVal hWaveOut As IntPtr) As Integer
End Function
<DllImport("winmm.dll")> _
Public Shared Function waveOutGetPosition(ByVal hWaveOut As IntPtr, <System.Runtime.InteropServices.Out()> ByRef lpInfo As Integer, ByVal uSize As Integer) As Integer
End Function
<DllImport("winmm.dll")> _
Public Shared Function waveOutSetVolume(ByVal hWaveOut As IntPtr, ByVal dwVolume As Integer) As Integer
End Function
<DllImport("winmm.dll")> _
Public Shared Function waveOutGetVolume(ByVal hWaveOut As IntPtr, <System.Runtime.InteropServices.Out()> ByRef dwVolume As Integer) As Integer
End Function

حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ 10

البدء بإنشاء برنامج المحادثة الصوتية Voice Chat :

سوف نجزئ عملية التقاط الصوت وتخزينه في ال Buffer ثم عرضه مرة أخرى في
مجموعة من ال Classes وهو تقسيم تم استخدامه في الكثير من البرمجيات
الخاصة ب Microsoft ومنها برنامج Windows Sound Recorder وهذه ال Classes
هي:

WaveIn Class وسوف نستخدمه لوضع كافة ال Methods الخاصة بالتقاط الصوت وتخزينه في Byte Array
WaveOut Clasas وسوف نستخدمه لعرض الصوت الأتي من ال Buffer ثم عرضه
WaveStream Class والذي سوف نستخدمه لتحويل الصوت إلى Stream حيث يسهل إرساله عبر الشبكة ويشبه عمله عمل MemoryStream المستخدمة في الدوت نيت
الميثود FifoStream لتنظيم ال Stream بحيث يتم عرض الداخل أولا خارج أولا
الميثود WaveNative ويتم فيها وضع آافة التعريفات لل Methods الخاصة بالملف winmm.dll والتي شرحناها سابقاّ.

حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ 10

سوف أستخدم في هذا المثال أداة الوينسوك (Winsock) لعملية النقل وللبدء سوف يكون الشكل العام لبرنامج الاتصال كما يلي :

حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Jb12915650871

حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ 10

نقوم بتعريف ال Winsock وال Thread والذي سوف نستخدمه في البرنامج ويفضل
وضع هذه التعريفات في بداية البرنامج أي بعد تعريف ال Class الرئيسي والهدف
من هذه العملية هي القدرة على إغلاق ال Winsock وال Thread عند إطفاء
البرنامج وحتى لا تبقى في الذاآرة عند إغلاق برنامج الاتصال ، ويتم ذلك كما
يلي:




كود:
Public Class Form1
Public WithEvents WinsockIn As New MSWinsockLib.Winsock
Public WithEvents WinsockOut As New MSWinsockLib.Winsock
Public WithEvents Winsock As New MSWinsockLib.Winsock
Public Thread As Thread

وسوف نعرف Object من ال Classes السابقة ونعرف ال Buffer الذي سيتم تسجيل
الصوت المراد إرساله وال Buffer الذي سيتم عرض الصوت المستلم من ال Winsock




كود:
Public m_Player As WaveOutPlayer
Public m_Recorder As WaveInRecorder
Public m_Fifo As FifoStream = New FifoStream
Public m_PlayBuffer As Byte()
Public m_RecBuffer As Byte()

حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ 10

سوف نضع في ال Voice_In Method الكود الخاص بعملية استقبال الصوت من ال Winsock وكما يلي:




كود:
<STAThread()> _
Private Sub Voice_In()
If WinsockIn.State = MSWinsockLib.StateConstants.sckConnected Then
Dim br As Byte()
While WinsockIn.State = MSWinsockLib.StateConstants.sckConnected
br = New Byte(16383) {}
WinsockIn.GetData(br)
m_Fifo.Write(br, 0, br.Length)
End While
End If
End Sub

حيث يتم استقبال الصوت من الشبكة باستخدام ال Receive Method ثم نمرر الصوت
المستقبل إلى ال m_Fifo.Write Method وحتى يتم تنفيذه وتحويله إلى صوت مرة
أخرى.
أما ال Method التي تقوم بتسجيل الصوت وإرساله إلى الجهاز الأخر فهي:




كود:
Private Sub Voice_Out(ByVal data As IntPtr, ByVal size As Integer)
If WinsockOut.State = MSWinsockLib.StateConstants.sckConnected Then
'for Recorder
If m_RecBuffer Is Nothing OrElse m_RecBuffer.Length < size Then
m_RecBuffer = New Byte(size - 1) {}
End If
System.Runtime.InteropServices.Marshal.Copy(data, m_RecBuffer, 0, size)
'Microphone ==> data ==> m_RecBuffer ==> m_Fifo
WinsockOut.SendData(m_RecBuffer)
End If
End Sub

حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ 10

لاحظ أنه في حالة إذا ما أردنا عمل برنامج Full Duplex
بحيث يرسل ويستقبل في نفس الوقت فإننا بحاجة إلى تعريف Tow Ports واحد
للإرسال وأخرى للاستقبال وفي الطرف الأخر تكون Port الإرسال لديك هي Port
لاستقبال لديه والعكس صحيح ...


حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ 10

في زر البدء يتم تنفيذ الميثود التالية:




كود:
Private Sub StartVoice()
StopVoice()
Try
Dim fmt As WaveFormat = New WaveFormat(44100, 16, 2)
m_Player = New WaveOutPlayer(-1, fmt, 16384, 3, New BufferFillEventHandler(AddressOf Filler))
m_Recorder = New WaveInRecorder(-1, fmt, 16384, 3, New BufferDoneEventHandler(AddressOf Voice_Out))
Detector.Start()
Catch ex As Exception
MsgBox(ex.ToString)
StopVoice()
' Throw ex.Message
End Try
End Sub

حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ 10

أما في زر الإيقاف فيتم تنفيذ الميثود التالية:



كود:
Private Sub StopVoice()
Dim img As New Bitmap(Me.Width, Me.Height)
PnlMain.DrawToBitmap(img, PnlMain.Bounds)
Me.BackgroundImage = SetBrightness(ConvertImageColorToGray(img.Clone), BrightnessValue.Brightness_ToBlack_02)
PnlMain.Visible = False
If Not m_Player Is Nothing Then
Try
m_Player.Dispose()
Finally
m_Player = Nothing
End Try
End If
LblStopStatus.Text = "Stop Voice Please Wait... (50%)"
If Not m_Recorder Is Nothing Then
Try
m_Recorder.Dispose()
Finally
m_Recorder = Nothing
End Try
End If
Detector.Stop()
ProgHe.Value = 0
ProgYou.Value = 0
LblStopStatus.Text = "Stop Voice Please Wait... (100%)"
m_Fifo.Flush() ' clear all pending data
PnlMain.Visible = True
Me.BackgroundImage = Nothing
ProgHe.Value = 0
ProgYou.Value = 0
End Sub

حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ 10

الميثود التي تقوم بعرض ال Voice Buffer والمستلم من Winsock على السماعة:




كود:
Private Sub Filler(ByVal data As IntPtr, ByVal size As Integer)
If m_PlayBuffer Is Nothing OrElse m_PlayBuffer.Length < size Then
m_PlayBuffer = New Byte(size - 1) {}
End If
If m_Fifo.Length >= size Then
m_Fifo.Read(m_PlayBuffer, 0, size)
Else
Dim i As Integer = 0
Do While i < m_PlayBuffer.Length
m_PlayBuffer(i) = 0
i += 1
Loop
End If
System.Runtime.InteropServices.Marshal.Copy(m_PlayBuffer, 0, data, size)
' m_Fifo ==> m_PlayBuffer==> data ==> Speakers
End Sub

حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ 10

وسنستخدم الأداة SoundDetector لكي نقوم بجلب قوة الصوت بحيث تقوم بفحص قوة الصوت عن طريق الإتصال بالدايركت إكس

حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ 10

والآن بالنسبة للمثال قم بتحميله من هنا

حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ Mod51ay4

الأداة Winsock مرفقة مع المثال

حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏ 10

وآخر دعوانا أن الحمد لله رب العالمين

وصلى الله على سيدنا محمد وعلى أله وصحبه وسلم


الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://gekacol.123.st
 
حصريا على المشاغب (تعلم صنع برنامج محادثة صوت يعمل على الشبكة وعلى الإنترنت) VB.NET ‏
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» برنامج تعلم السواقة - برنامج لتعلم قيادة السيارة أكثر من رائع 3D driving School
» حصريا برنامج facebook messenger pc للكمبيوتر
» تحميل اخر نسخة اصدار سكايبى حصريا 2016 برنامج skypeمحادثات صوتية ,كتابى
» حصريا شرح وتحميل تنزيل برنامج متصفح اوبرا عربى 2014 opera mini
» حصريا شرح وتحميل برنامج متصفح موزيلا فايرفوكس عربى 2014 mozilla firefox

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات الجوكر , شات الجوكر , منتدى الجوكر , دردشة الجوكر :: الكمبيوتر والانترنت , computer and internet. :: الكمبيوتر والانترنت :: منتدى لغات البرمجة-
انتقل الى: