سؤال

لقد حصلت على قائمة انتظار صوتية كنت ألعبها ، والتوقف ، والتوقف بشكل صحيح ، لكنني أجد وظيفة AudioQueUSTOP () لتستغرق وقتًا طويلاً للتنفيذ.

أرغب في التوقف فورًا ثم إعادة تشغيل تشغيل قائمة انتظار صوتية وكنت أتساءل عن أسرع طريقة للقيام بذلك.

في مشروعي ، لدي قوائم صوتية متعددة وأواصلها لتشغيل أصوات محددة مرارًا وتكرارًا. هناك موقف يجب أن أوقف فيه بعض هذه الأصوات ثم ألعبها على الفور والكثير غير ذلك في وقت واحد. ليس من السيئ للغاية إذا لم يكن هناك سوى اثنين من قوائم الانتظار الصوتية لدرجة أنني أقوم بذلك ، لكن يبدأ الأمر وقتًا طويلاً إذا كان هناك الكثير الذي أحتاجه إلى التوقف وإعادة التشغيل.

كان بإمكاني توزيعيها عن طريق استدعاء التوقف في قائمة انتظار صوتية ثم إنشاء صوت جديد بنفس الصوت ، لكنني كنت أتساءل عما إذا كانت هناك طريقة أفضل للقيام بذلك.

هل كانت مفيدة؟

المحلول

AudioQueue يمكن أن يكون فوضوي لهذا النوع من الأشياء. من الصعب إيقاف قائمة الانتظار في منتصف القائمة ، وهذا يعني أن المخزن المؤقت الحالي سيستمر في اللعب. بالإضافة إلى أنك يجب أن تتعامل مع قضايا الكمون.

للتوقف السريع والتشغيل مع انخفاض الكمون ، أنصح باستخدام Remoteio Audiounit.

يمكنك العثور على برنامج تعليمي رائع مع الكود هنا:

باستخدام وحدة الصوت Remoteio

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top