قد تبدو غرف الدردشة الصوتية (المعروفة أيضًا باسم الغرف الصوتية والحفلات الصوتية والمساحات الصوتية) وكأنها “غرف للتحدث فيها”، ولكن عندما تكون متصلة بالإنترنت فعليًا، فهذه دائمًا ما تكون أسهل أربعة أماكن يمكن التنقل فيها:إدارة وضع القمح(ترتيب),التجربة الصوتية(صدى الصوت/الضوضاء/الحجم),ضعف الشبكة المتاحة(التلعثم/قطع الاتصال/إعادة الاتصال),دش (كلمة مستعارة)(التحكم في اللعب والرياح).
هذه المقالة لا تتحدث عن المفاهيم، تعطيك مباشرةً مجموعة من 0 إلى 1 يمكن أن ترتكز في “قائمة التنفيذ”، مقسمة حسب الوحدة، يمكنك اتباعها للقيام على الخط يمكن تشغيل غرفة صوتية.
1 - أولاً، دعنا أولاً نرتب “غرفة الصوت”: أيهما تفعل؟
تحدد الأنواع المختلفة مسار التكنولوجيا والتكلفة والتعقيد الذي تختاره.
1.1 غرف صغيرة ذات تفاعل قوي (نموذجي: غرف الصوت الاجتماعي)
- حجم الغرفة: من عشرات إلى مئات المشاهدين عبر الإنترنت
- عدد الأشخاص على الميكروفون: عادةً 1-12 (عادةً 8/9 ميكروفونات)
- الخصائص: تفاعل قوي، زمن استجابة منخفض، ترتيب قمح مهم
1-2 البث المتحيز في غرفة كبيرة (نموذجي: المذيع يتحدث، والجمهور يستمع)
- عدد الغرف: من آلاف إلى 100,000
- عدد الأشخاص على الميكروفون: عدد قليل (1-3)
- الخصائص: أشبه ما يكون بالبث المباشر، ستستخدم العديد من الفرق تقنية RTC لعمل ميكروفون مستمر، باستخدام CDN للقيام بتوزيع كبير (حسب شكل منتجك)
تمت كتابة هذه المقالة افتراضيًا تفاعل قوي في غرفة صغيرةلأنها أكثر مجموعة إمكانيات “الميكروفون/الميكروفون/المزيج/المجموعة الضعيفة/الهبة” شيوعًا والأكثر احتياجًا.
2 - الهيكل العام: نظام الحد الأدنى القابل للتطبيق (MVP) للغرف الصوتية
تحتاج إلى 4 روابط على الأقل:
- أنظمة الغرف والمستخدمين (الواجهة الخلفية للأعمال)
- إنشاء الغرف، والانضمام والخروج، وخصائص الغرفة (العنوان، والإعلان، وكلمة المرور، والعلامات)
- قائمة الأعضاء، والحالة على الإنترنت، والأدوار (مالك المنزل/المسؤول/الجماهير/الضيف)
- نظام الإشارات (تزامن النظام والحالة)
- التقدم بطلب للحصول على مايك أو تعليق مايك أو طرد مايك أو حظر مايك أو إغلاق مايك
- بث حالة الميكروفون (من على أي ميكروفون، كتم الصوت أم لا، أيقونة جودة الشبكة)
- رسائل الهدايا وإعلانات النظام وأحداث الغرفة
- الصوت في الوقت الحقيقي (رابط وسائط RTC)
- الدخول إلى الغرفة، ونشر الصوت، والاشتراك في الصوت
- معالجة الصوت (AEC/تقليل الضوضاء/الكسب التلقائي)
- سياسة الشبكة الضعيفة (فقدان الحزمة/ارتدادها/إعادة الاتصال)
- نظام الهدايا/المكافآت (الدفع + التحكم في المخاطر)
- تقديم الطلب، واستدعاء الدفع، والوصول، والمخزون/حقيبة الظهر (اختياري)
- رسائل عرض الهدايا، والقوائم، والمؤثرات الخاصة (يمكن إجراء الإضاءة أولاً)
خلاصة القول
إن RTC هو المسؤول عن “التحدث بوضوح، وعدم كسر الخط، والكمون المنخفض”؛ والإشارة هي المسؤولة عن “النظام”؛ والهدايا هي المسؤولة عن “الإدراك”.
3 - نظام القمح: “مركز النظام” في غرفة الصوت”
عندما لا يتم وضع الميكروفون بشكل صحيح، تصبح الغرفة عبارة عن مكالمات آلية ومحادثات متقاطعة وانهيارات إدارية.
ما هي الحالات المطلوبة لبت القمح (أقترح عليك نسخ هذا في بنية البيانات)
تحتوي كل لقمة قمح (مقعد) على الأقل:
seatIndex:: رقم القمح (0-7 أو 1-8)userId:: الشاغل الحالي (فارغ = لا أحد)lock:: ما إذا كنت تريد قفل الميكروفون أم لا (لا يمكن لأي شخص آخر الوصول إليه إذا قمت بقفله)muteBySelf:: الختم الذاتي للمستخدمmuteByAdmin:: كتم الصوت الإجباري للمديرaudioLevel:: قيمة الحجم (للرسوم المتحركة لواجهة المستخدم)networkQuality:: جودة الشبكة (الأحمر والأصفر والأخضر)role:: علامة مالك المنزل/المسؤول/المسؤول (يمكن وضعها على المستخدم)
قائمة عمليات بت القمح (وظائف المنتج الشائعة)
- قدم طلباً لتكون على المايك:: الجمهور → قائمة انتظار الطلبات (مع مهلة)
- أوافق/أرفض:: مالك المنزل/المسؤول ← الإخطار عبر الإشارة + تحديث موقع المايك
- أن تكون حراً في الهواء:: لا يوجد طلب دخول، ضع مقعد الميكروفون على (مناسب لغرفة التعارف)
- عقد الماكريل:: يقوم المسؤول بتعيين شخص إلى مايك معين
- إطلاق المايكروفون:: يقوم المسؤول بإزالة شخص ما من الميكروفون
- قفل/إلغاء قفل الميكروفون:: منع الميكروفونات الفوضوية
- ميكروفون مغلق/مفتوح:: يتحكم المسؤولون في ما إذا كان يمكن لمقصورة معينة التحدث أم لا
- تبديل القمح/تبديل مساحات القمح:: تم تبديل وضعي المايكروفونين (لتعزيز التجربة)
- مهلة على الميكروفون:: بعد مرور X ثانية من الموافقة على الطلب، سيتم إلغاؤه تلقائياً إذا لم تستخدم الميكروفون.
- مقعد غير متصل:: احتفظ بالميكروفون لمدة N ثانية بعد إسقاط الخط (مفتاح التجربة)
موصى به بشدة: “الخلفية هي السلطة” لحالة الميكروفون.”
تبدأ الكثير من الفرق باستخدام المزامنة من جانب العميل فقط وينتهي بها الأمر إلى حالة فوضوية في حالات الاتصال الضعيفة/المتعددة/المتعددة.
يمكنك القيام بذلك:
- الواجهة الخلفية تحفظ حالة مايك الغرفة(يكفي التخزين الخفيف الوزن Redis)
- تمر جميع تغييرات البت من خلال “حدث إشارة”.
- يقوم العميل بتحويل الحالة فقط ولا يحكم نفسه بنفسه
بهذه الطريقة عند إعادة الاتصال، يسحب العميل لقطة الغرفة مرة واحدة ويستعيدها.
4 - مزج الصوت وجودة الصوت: يبقى المستخدمون عندما يسمعونه جيدًا
تجربة الصوت في غرفة الصوت = “السماع بوضوح + عدم وجود خشونة + عدم وجود نفخ في الميكروفون + عدم وجود أصداء”.
4.1 رباعية معالجة الصوت (تعمل جميعها بشكل أساسي)
- إلغاء الصدى الصوتي AEC:: تجنب الصفير بسبب التشغيل الخارجي
- إلغاء الضجيج NS:: الضوضاء المحيطة (المروحة، لوحة المفاتيح، ضوضاء السيارة)
- الكسب التلقائي AGC:: يسحب الصوت المنخفض لأعلى، مع تجنب ارتفاع الصوت
- الكشف الصوتي VAD (اختياري):: ضغط خلفية أكثر ذكاءً
إذا كنت تستخدم مجموعة أدوات تطوير البرمجيات RTC SDK ناضجة، فعادةً ما يكون لها سياسات افتراضية؛ كل ما عليك فعله هو
- تزويد المستخدمين بـ “مفتاح تقليل الضوضاء”
- تزويد أصحاب المنازل بـ “كتم الصوت/إلغاء كتم الصوت بالكامل”
- نعم.“قمح مقلي”قم بحماية (قل أدناه)
4.2 الحماية من الانفجار/الانهيار (يجب القيام به)
سيناريوهات نفخ الميكروفون شائعة: اقتراب المستخدمين من الميكروفون أكثر من اللازم، أو زيادة التحميل على ميكروفون الهاتف، أو رفع صوت الموسيقى بصوت عالٍ جداً.
وسائل قابلة للتنفيذ:
- حد حد حجم الإدخال (كسب الإدخال)
- تمكين AGC/المحدد (الحد من الذروة)
- تذكير واجهة المستخدم: “الابتعاد عن الميكروفون/خفض مستوى صوت النظام”
- الكشف عن الذروات المستمرة فوق العتبة → تخفيض الكسب التلقائي
4.3 موسيقى الخلفية (BGM) والمؤثرات الصوتية (اختياري، ولكن ميزة إضافية)
الطرق الشائعة لتشغيل غرفة الصوت: تشغيل الأغاني، والمؤثرات الصوتية، وتغييرات الصوت، والنغمات.
هناك نوعان من الإدراك:
- الخلط المحلي من جانب العميل:: الكمون المنخفض والتنفيذ السريع (ولكن يجب الاهتمام بالاتساق في جميع الأطراف)
- الخلط من جانب الخادم:: الاتساق القوي (ارتفاع التكلفة والتعقيد)
توصي MVP بإجراء مزيج العميل أولاً، بشكل مضمون:
- ينخفض مستوى صوت BGM والغناء تلقائيًا (ينخفض صوت الموسيقى عندما يتحدث الأشخاص)
- اخرج من الغرفة لإيقاف التشغيل وتجنب استهلاك الطاقة في الخلفية
5 - الشبكات الضعيفة وعمليات إعادة الاتصال: مفتاح “النجاة” في غرفة الصوت
الإنترنت الضعيف ليس حالة أقلية، بل هو القاعدة: المترو، والمصاعد، وتذبذب شبكة 4G، والتبديل بين شبكات Wi-Fi.
5.1 قائمة استراتيجيات الشبكة الضعيفة التي يجب أن تكون لديك
- الإبلاغ عن جودة الشبكة:: تُظهر واجهة المستخدم اللون الأحمر والأصفر والأخضر (يمكن لصاحب المنزل معرفة من هو العالق)
- التدابير المضادة لفقدان الحزمة:: إعطاء الأولوية لاستمرارية الصوت، بما يسمح بتخفيض معدل الشفرة المناسب
- استراتيجية المخزن المؤقت للاهتزاز:: تجنب المتقطعة
- معالجة التحويل اللاسلكي/الخلوي:: يجب أن تكون التأخيرات قصيرة الأجل أثناء التبديل ذاتية الاسترداد.
- إعادة الاتصال:: إعادة الاتصال التلقائي + مؤشر حالة واجهة المستخدم أثناء إعادة الاتصال
- مقعد غير متصل:: ينقطع الاتصال ويعود في غضون N ثانية ولا يزال يشغل الميكروفون (تجربة قوية)
5.2 توصيات لعملية إعادة الاتصال (المجموعة الأضمن)
- تم اكتشاف انقطاع الاتصال بالوسائط (أو تدهور الشبكة إلى الحد الأدنى)
- تظهر واجهة المستخدم “إعادة الاتصال...”
- إعادة الاتصال بغرفة RTC أولاً (الانضمام).
- تحميل لقطات الغرفة (مايك/شخصية/حالة محظورة)
- إذا كان المستخدم في المايكروفون ولم تنتهي صلاحية حجز مقعده/مقعدها → يستأنف المايكروفون تلقائياً.
- تحديث قائمة الأعضاء بالرسوم المتحركة الصوتية بعد الانتهاء
النقاط الرئيسية:إعادة توصيل الوسائطواسترداد الحالةيجب أن يتم ذلك معًا، وإلا “يعود الصوت، لكن المايكروفون لا يزال فارغًا/مشغولاً من قبل شخص آخر”.
6 - مكافآت الهدايا: الحد الأدنى من اللعب المتاح + قائمة التحقق من النافذة
أكثر المزالق شيوعًا في نظام الهدايا في غرفة الصوت هي “اتساق الدفع” و“المنازعات المتعلقة بتمرير الهدايا/إلغاء/استرداد الأموال”.
6.1 نظام هدايا MVP كل ما تحتاجه هو هذه!
- قائمة الهدايا (المعرف، الاسم، السعر، الرمز)
- تقديم طلب (إنشاء رقم طلب)
- عمليات استدعاء الدفع (عمليات استدعاء الطرف الثالث إلى الواجهة الخلفية الخاصة بك)
- نتائج الإصدار (النجاح/الفشل)
- بث “رسالة هدية” في الغرفة (للرسوم المتحركة لواجهة المستخدم)
- قائمة بسيطة (مساهمة/مساهمة اليوم في اللعبة)
المبادئ الرئيسية لـ MVP
نجاح الدفع خاضع لـ “رد الاتصال الخلفي”.لا تثق بالعميل
6.2 التحكم في الرياح والامتثال (قم بذلك على الأقل)
- الحد من التردد:: الحد من عدد الهدايا في فترة زمنية قصيرة لنفس الحساب/الجهاز
- اكتشاف الشذوذ:: المبالغ الصغيرة عالية التردد، والضربات الثانية، والشذوذات المتقاطعة
- استراتيجية معالجة استرداد الأموال المستردة:: هل الهدايا قابلة للإلغاء؟ كيف يتم التراجع عن القائمة؟
- حماية القُصَّر:: الأسماء الحقيقية/الحدود/التنبيهات المنبثقة (حسب قواعد النظام الأساسي والمنطقة)
- حوكمة المحتوى:: عملية الإبلاغ والحظر والمنع والحظر (حتى لو كان يدويًا أولًا) للمواد الإباحية والسياسة/التعسفية، إلخ.
7 - إدارة الغرف: إذا لم تقم بذلك، فستكون غرفتك سيئة بالتأكيد!
غرفة الصوت ليست منتجاً تقنياً، بل هي “شبه مجتمع”.
امنح صاحب المنزل/المسؤول تلك القدرات على الأقل:
- التكميم/الإسكات (فردي/كامل)
- الطرد من الغرفة (مدة الحظر الاختيارية)
- القائمة السوداء/القائمة البيضاء (مطلوب بشدة للغرف المألوفة)
- حظر الكلمات الرئيسية (للرسائل النصية/أسماء الغرف)
- بوابة التقارير + المكتب الخلفي للمعالجة (الحد الأدنى من التسجيل)
8- كيفية اختيار طريقة الهبوط)
هناك طريقتان لتحقيق غرفة الصوت:
المسار أ: البناء الذاتي (WebRTC + SFU/خادم الوسائط)
المزايا: يمكن التحكم فيها، وقابلة للتخصيص، ومن المحتمل أن تكون أكثر اقتصاداً على المدى الطويل
السلبيات: ثقل في التطوير/العمليات، العديد من ثغرات التوافق/ضعف الشبكة، بطء في التشغيل
المسار ب: استخدام مجموعة أدوات تطوير البرمجيات RTC الناضجة (أسرع هبوط)
المزايا: سرعة البدء، ومعالجة الشبكة/الصوت الضعيفة الناضجة، والدعم المتبادل لمزيد من راحة البال
السلبيات: الحاجة إلى الدفع حسب الحجم، بعض إمكانيات العمق محدودة من قبل البائع
إذا كنت ترغب في تشغيل غرفة الصوت الخاصة بك وتشغيلها بأسرع ما يمكن (وضع الميكروفونات، وصدى تقليل الضوضاء، وإعادة الاتصال بالشبكة الضعيفة، كل هذه الإمكانيات متاحة بسهولة)، يمكنك الوصول مباشرةً إلى مجموعة أدوات تطوير البرمجيات SDK للصوت/الفيديو في الوقت الحقيقي الناضجة. لقد قمت بتجميع بوابة بدء سريعة (مع وحدة تحكم وعرض توضيحي) هنا:حل غرفة الدردشة الصوتية من Tencent RTC