اعتبارًا من 27 آذار (مارس) 2025، ننصحك باستخدام android-latest-release
بدلاً من aosp-main
لإنشاء AOSP والمساهمة فيه. لمزيد من المعلومات، يُرجى الاطّلاع على التغييرات في AOSP.
قياس وقت استجابة الصوت
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
نظرًا لصعوبة قياس وقت الاستجابة للإدخال أو الإخراج بشكل منفصل باستخدام أجهزة مخصّصة، يتم قياس وقت استجابة الصوت على أنّه وقت استجابة شامل، وهو يمثّل وقت الاستجابة المجمّع للإدخال والإخراج.
الأسلوب
تتولّى برامج الاختبار تنفيذ الخطوات التالية تلقائيًا:
- ينتج البرنامج نغمة معقّدة باستخدام دفعات قصيرة من الضوضاء البيضاء بأطوال مختلفة، ما يؤدي إلى إنشاء بنية يسهل التعرّف عليها.
- يتم تشغيل النغمة من خلال مسار إخراج الصوت في الجهاز.
- يعيد الاختبار توجيه إخراج الصوت إلى إدخال الصوت.
- بالنسبة إلى مسارات مكبّر الصوت والميكروفون، لا حاجة إلى أجهزة إضافية لأنّ الميكروفون المدمج يسجّل الصوت الذي يتم تشغيله من مكبّر الصوت المدمج.
- تستخدم مقابس الصوت التناظرية مقاس 3.5 ملم دونغل مخصّصًا لإعادة توجيه الصوت.
- تستخدم منافذ USB إما محوّل USB إلى 3.5 ملم مع جهاز دونغل loopback أو واجهة صوت USB مع كابلات تربط الإخراج بالإدخال.
- يسجّل برنامج الاختبار الصوت الذي تمّت إعادة توجيهه.
- يستخدم برنامج الاختبار تدفقًا مزدوجًا لمزامنة وتسجيل تدفقات الصوت الصادر والوارد في الوقت نفسه.
يوضّح الشكل التالي إعدادات الاختبار:
الشكل 1. قياس وقت استجابة الصوت
يتم تحديد وقت الاستجابة الكامل من خلال قياس الفرق الزمني بين الإخراج والإدخال،
باستخدام خوارزمية ارتباط معدَّلة لتحديد موقع النغمة الناتجة ضمن دفق الإدخال.
يوضّح الشكل التالي كيفية احتساب وقت الاستجابة الكامل:
الشكل 2. احسب وقت الاستجابة الكامل.
يمكنك الاطّلاع على الأجهزة الطرفية الصوتية في CTS Verifier للحصول على مزيد من المعلومات حول أجهزة إعادة التوجيه.
التطبيقات التي تختبرها
يوضّح هذا القسم تطبيقَين رئيسيَّين لقياس وقت الاستجابة. تستخدم كلتاهما تقنيات متطابقة ومن المتوقّع أن تحقّقا نتائج قابلة للمقارنة.
OboeTester
توفّر حزمة الاختبار OboeTester، المصمّمة لمكتبة Oboe، اختبارات قيّمة، بما في ذلك قياس وقت الاستجابة الكامل.
يمكنك الحصول على OboeTester بإحدى الطريقتَين التاليتَين:
اتّبِع الخطوات التالية لقياس وقت الاستجابة في تطبيق OboeTester:
- شغِّل OboeTester.
- انقر على وقت الاستجابة الكامل.
- انقر على قياس.
- تحقَّق من قيمة
latency.msec
لوقت الاستجابة الكامل.
يمكنك إجراء هذا الاختبار باستخدام Intent for Continuous Integration.
أداة التحقّق في مجموعة أدوات اختبار التوافق (CTS)
راجِع اختبار زمن انتقال الصوت في حلقة التكرار في CTS Verifier
لتحديد ما إذا كان زمن الانتقال ذهابًا وإيابًا يستوفي متطلبات توافق الأجهزة.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-08-10 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-08-10 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Measure audio latency\n\nGiven the difficulty of measuring input or output latency in isolation with custom hardware, audio\nlatency is measured as *round-trip latency*, which represents the combined input and output\nlatency.\n\nTechnique\n---------\n\n\nThe following steps are automated by the test software:\n\n1. The software generates a complex tone using short bursts of white noise of varying lengths, creating an easily recognizable structure.\n2. The device's audio output path plays the tone.\n3. The test loops back the audio output to an audio input.\n - For speaker and microphone paths, no additional hardware is needed as the built-in microphone records the sound played from the built-in speaker.\n - Analog 3.5 mm jacks use a custom [Audio loopback dongle](/docs/core/audio/latency/loopback).\n - USB ports use either a USB to 3.5 mm adapter combined with the loopback dongle or a USB audio interface with cables connecting the output to the input.\n4. The test software records the looped-back audio.\n5. The test software employs a full-duplex stream to synchronize and simultaneously record both the output and input audio streams.\n\nThe following figure shows the test setup:\n\n\n**Figure 1.** Measure audio latency.\n\nRound-trip latency is determined by measuring the time offset between the output and input,\nusing a normalized correlation algorithm to locate the output tone within the input stream.\n\nThe following figure shows how the round-trip latency is calculated:\n\n\n**Figure 2.** Calculate round-trip latency.\n\nSee [CTS Verifier audio peripherals](/docs/compatibility/cts/audio-peripherals) for\nmore information about the loopback hardware.\n\nTest apps\n---------\n\n\nThis section describes two main apps for measuring latency. Both use identical techniques\nand are expected to yield comparable results.\n\n### OboeTester\n\n\nOboeTester, a test suite designed for the Oboe library, offers valuable tests, including round-trip\nlatency measurement.\n\n\nYou can get OboeTester in one of two ways:\n\n- Build the app from source, which can be found on [GitHub](https://github.com/google/oboe/tree/main/apps/OboeTester/docs).\n- Install the app from [Google Play Store](https://play.google.com/store/apps/details?id=com.mobileer.oboetester).\n\n\nFollow these steps to measure the latency on the OboeTester app:\n\n1. Launch OboeTester.\n2. Tap **ROUND TRIP LATENCY**.\n3. Tap **MEASURE**.\n4. Check the `latency.msec` value for the round-trip latency.\n\n\nYou can run this test using an [Intent for Continuous Integration](https://github.com/google/oboe/blob/main/apps/OboeTester/docs/AutomatedTesting.md).\n\n### CTS Verifier\n\n\nSee the CTS Verifier [Audio loopback latency test](/docs/compatibility/cts/audio-loopback-latency)\nto determine if round-trip latency meets CDD requirements."]]