تحديد المشاكل وحلّها


لماذا لا يمكنني الوصول إلى الملفات المحلية في التطبيق التجريبي؟

فرض مساحة التخزين على النطاق من Android 11 (المستوى 30 من واجهة برمجة التطبيقات) يمنع الوصول المباشر إلى نظام الملفات. للاختبار اليدوي أثناء من التطوير، يمكن الوصول إلى الملفات المحلية عن طريق إضافة أدوات الإدارة الخارجية إذن مساحة التخزين في بيان التطبيق التجريبي:

<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE"/>

ثم امنح الإذن عبر adb:

adb shell appops set --uid androidx.media3.demo.transformer \
    MANAGE_EXTERNAL_STORAGE allow

لماذا يتعذّر التصدير على جهاز معيّن؟

يُرجى الإبلاغ عن مشكلة بشأن مشكلة Media3. جهاز تتبُّع يتضمن معلومات كافية لإعادة إنتاج المشكلة. يمكن إضافة حلول للمشاكل الخاصة بالجهاز إلى المكتبة لتحسين التوافق بمرور الوقت.

هل يتيح المحوِّل تحويل (أو تسجيل) الوسائط البعيدة؟

يتيح المحوِّل البث المباشر التدريجي عن بُعد، بما في ذلك حاويات ملفات الوسائط مثل MP4.

في ظروف الشبكة السيئة للغاية، قد يتعذّر التصدير بسبب التخزين المؤقت تؤدي الوسائط البعيدة لفترة طويلة جدًا إلى تشغيل عمليات التحقق في المستخدم التي تهدف إلى تحديد أن المسار عالق. يمكنك إلغاء السلوك الافتراضي من خلال الإعداد maxDelayBetweenMuxerSamplesMs في Transformer.Builder:

Kotlin

Transformer.Builder(context)
    .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET)
    .build()

Java

new Transformer.Builder(context)
    .setMaxDelayBetweenMuxerSamplesMs(C.TIME_UNSET)
    .build();

يؤدي اجتياز C.TIME_UNSET إلى إزالة المهلة بالكامل، ولكن إذا كان تطبيقك يعمل على شرائح العرض التي يمكن أن يتعطّل فيها MediaCodec، ويمكنك ضبط قيمة أكبر على قيمة غير صفرية المهلة.

هل يتيح المحوِّل إدخال البيانات بدقة 8k؟

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

ما علاقة أداة التحويل بتحويل ترميز الوسائط المتوافق مع النظام الأساسي؟

تحويل الترميز المتوافق مع الوسائط هي إحدى ميزات نظام Android الأساسي من Android 12 (المستوى 31 من واجهة برمجة التطبيقات) التي تحوّل وسائط لا يزيد طولها عن دقيقة واحدة وبتنسيقات يدعمها التطبيق إذا كنت الموافقة على استخدام هذه الميزة، قراءة ملف وسائط بتنسيق غير متوافق تحويل ترميزها عند الطلب، ويتم تخزين النتيجة مؤقتًا لقراءتها لاحقًا العمليات التجارية.

يدعم المحوِّل أيضًا التنسيق إحالة ناجحة، لكن فهو متاح كمكتبة دعم، ويتمتع التطبيق بالتحكم الكامل في عملية تحويل الترميز.

كيف يمكنني تقليل وقت استجابة التصدير أو زيادة سرعة معالجة البيانات؟

يعتمد المحوِّل على MediaCodec لفك الترميز الذي يتم تسريعه باستخدام الأجهزة و OpenGL لمعالجة إطارات الفيديو. بناءً على قياساتنا على الأجهزة التقليدية، فإن العامل المقيد في سرعة نقل بيانات المحول هو الأجهزة سرعة معالجة بيانات برنامج الترميز MediaCodec لحالات الاستخدام بدون تأثيرات كبيرة قيد المعالجة. ومن المحتمل أن يؤثر ذلك في عمليات التنفيذ الأخرى بالطريقة نفسها. بالنسبة على سبيل المثال، يكون أداء ميزة تحويل الترميز المتوافق مع النظام الأساسي مماثلاً لأداء المحوِّل.

تعمل معاينة تصحيح الأخطاء في التطبيق التجريبي على تقليل سرعة معالجة البيانات بشكلٍ كبير، لذا عليك إيقاف عند إجراء اختبار باستخدام إصدار إصدار من التطبيق التجريبي الفكرة الواقعية عن الأداء.