ارجو المساعدة في ارسال صوت من الخادم الى العميل بحيث يقوم العميل بالاتصال بالخادم ثم سماع الصوت فقط واريد الخادم يقبل كذا عميل
قمت بالبحث ولم اجد مثال بهذه الطريقة لا اعلم من اين ابداء ولكن ارجو التعديل على المثال المرفق
ارجو المساعدة في ارسال صوت من الخادم الى العميل بحيث يقوم العميل بالاتصال بالخادم ثم سماع الصوت فقط واريد الخادم يقبل كذا عميل
قمت بالبحث ولم اجد مثال بهذه الطريقة لا اعلم من اين ابداء ولكن ارجو التعديل على المثال المرفق
بســم الله الـرحمــن الرحيــم
أخي هرمان
في الملف المرفق ستجد الأداة و مثال من تصميمي بسيط و إعذرنى إذا كان التصميم سئ لأن الأداة ليست من تصميمي و لم إجيد فهمها كلهل بالكامل .
بالمناسبة قد تجد بعض الأخطاء بالأداة .
و أى إستفسار إطرحه و بإذن الله تجد الإجابه .
و السلام ختام ...
السلام على من إتبع السلام وخشي وجه ربه ذو الجلال والإكرام
اشكرك اخي على الرد :
- جربت المرفق ولكن ليس المطلوب هذا .
- والادة المستخدمة للاسف عملت مرة واحدة وتعطي صوت غير واضح وبعد ذلك التزمت الصمت لا اعلم لماذا .
ارجو من الاخوة المساعدة - اكرر شكري للكابتين
السلام عليكم :
بالنسبة لوضوح الصوت
هل جربت إستخدام voicewsk.cleanvoice
و بالنسبه لما قلته لم يكن المطلوب
فهل من الممكن التوضيح أكثر؟؟؟
و بالنسبة لعمل الأداة فهي تعمل مع أكثر من مليون مره حتى الأن.....
و السلام ختام.
السلام على من إتبع السلام وخشي وجه ربه ذو الجلال والإكرام
يبدو ان الموضوع صعب لماذا لا اجد احد يطبق لي هذه الطريقة حسب الشرحي في البداية :
الموضوع مرة اخرى كالتالي :
سيرفر يرسل صوت الى خمسة اشخاص كل شخص على جهاز مستقل يتصلون بالسيرفر ويسمعون الصوت في نفس الوقت .
أيضا لم أفهمها بشكل كامل
لكن يمكنك الربط بتلك الأداة أيضا بجعل كل عميل كسرفر voice عن طريق الأداة و تجعل السرفر الرئيسي يتصل به كعميل لكل سرفر voice أرجو أن أكون وضحت الفكره و لا تتضايق من طول فترة النقاش .
و السلام ختام.........
السلام على من إتبع السلام وخشي وجه ربه ذو الجلال والإكرام
اخواني حاولت ان ارسل الصوت من الخادم الى العميل ولكن يوجد مشكلة لم اعرف سببها من السرفر أو اعميل
علماً بان المثال المرفق كان يعمل معي قبل تحويله الى قبول عدد من العملاء المتصلين بالخادم
أمل منكم المساعدة ولكم مني خالص التحية
الموضوع مطلوب مني ضروري ارجو المساعدة
المساعدة ياخوان وينكم صعب لهذه الدرجة
الفزعه ياخوان ........ارجو العذره
اريد حلاً .....اريد حلاً
بســم الله الـرحمــن الرحيــم
السلام عليكم
إعذرنى أخي على التأخير في الرد حيث كنت مشغولا ::: و أيضا لم يعمل البرنامج معى
أعتقد أخي أن الخطأ موجود في الـ ClassModule : WaveStream_TX
في الكود
Private Function SendSoundAll(Sockets As Variant, WaveHeader As ACMSTREAMHEADER) As Long Dim rc As Long Dim I As Long If (Sockets(0).State = sckConnected) Then rc = SendSound(Sockets(0), WaveHeader) End If End Function
حيث كان يجب أن تستخدم جملة For , Next
كالأتى
For i=0 to Sockets.Count If (Sockets(i).State = sckConnected) Then rc = SendSound(Sockets(i), WaveHeader) End If Next
و أيضا لديك خطأ في
Private Function SendSound(Socket As Variant, acmHdr As ACMSTREAMHEADER) As Long Dim WaveBuffer() As Byte ReDim WaveBuffer(acmHdr.cbDstLengthUsed - 1) As Byte Call CopyPTRtoBYTES(WaveBuffer(0), acmHdr.cbDst, acmHdr.cbDstLengthUsed) Call Socket(0).SendData(WaveBuffer) End Function
حيث حددت السوكيت الذى سترسل إليه الصوت مسبقا في الكود و الذى لن تستطيع الإرسال إلا إليه عبر كودك في السطر:
Call Socket(0).SendData(WaveBuffer)
و كان يجب عليك كتابة السوكيت الذى سترسل له و لكنك هنا حددت الـ index =0 أى سترسل إلى المتصل بالسوكيت 0 و أنصحك أن تكتب هذا السطر كالتالى:
Call Socket.SendData(WaveBuffer)
و تحدد السوكيت عند إستدعاء الداله كالأتى :
SendSoundAll(TCPSocket(index), acmHdr)
و أرجو أن أكون قد وفقت .
و السلام ختام ....
تم تعديل هذه المشاركة بواسطة captinflent في 22 فبراير 2009 في 09:36
السلام على من إتبع السلام وخشي وجه ربه ذو الجلال والإكرام
اخي اشكرك أولاً على الرد :
لي استفسار بسيط في الخطوة الاخيرة ماذا تقصد بتحديد السوكيت
وكيف يمكن القيام بذلك ارجو التوضيح وشكراً
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…