سؤال

هل لدى أي شخص هذا العمل؟ أعتقد أن لدي برنامج ترميز الترميز الترميز المفارش، لكن لا يمكنني العثور على أي forsattags الموجي التي يبدو أنها تعمل. حاولت 0xff00 و 0x1016 و 0x0116. لقد استخدمت وثائق MSDN لإكمال بقية السلسلة.

لقد وجدت هذا في mmreg.h (wave_format_mpeg_adts_aac 0x1600) الذي سيكون له صيغة (0x0016). كنت تعتقد أن هذا ما يجب أن أستخدمه، لكن هذا لا يعمل أيضا.

عند استخدام 0xFF إذا كنت أتجنب رؤوس ADTS في Stream GetSampleAeReNC، فاستدعي بشكل متكرر ولكن لا يوجد تشغيل. أعرف أن الدفق جيد لأنني أستطيع تشغيله في مشغل Foobar، VLC، ونافذة وسائط النافذة. عندما أصلع AAC RAW في حاوية MP4، فإنه يعمل بشكل جيد في Silverlight لذلك أعرف أن إعداد AAC مدعوم من Silverlight.

هل يمكن لأي شخص أن يمرضني بسلسلة ترميز ترميز هيكس التي عملت لهم؟

تحرير:

هذا مثال على سلسلة Privatecodecdata Hex التي أعتقد أنها يجب أن تعمل:

0x1016010080BB0000E02E0000010000000e000100fe00000000000000000000000000190

هذه السلسلة تذهب مباشرة من OpenMediaAsync () إلى CloseMedia () دون حتى تجربة عينة. مثال مستندات MSDN مثال نفس الشيء الموجود هنا . أتوقع ذلك على الأقل تجربة عينة قبل الإغلاق.

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

المحلول

يبدو أن Silverlight غير متوافق مع Wrapper AAC و ADTS ...

إذا قمت بتحليل ملف MP4 الخاص بك (مع MediaInfo على سبيل المثال)، سترى AAC للصوت ولكن بدون غلاف ADTS.هذا هو السبب في أن Silverlight يمكن أن يقرأ في هذه الحالة AAC الصوت المضمن في ملف MP4.

لذلك تحتاج إلى إزالة رأس ADTS لكل عينة صوتي قبل الاتصال ReportAdampleted () في MediaStreamsource.يتكون رأس ADTS من 7 أو 9 بايت (بدون أو مع CRC).لمزيد من المعلومات حول رأس ADTS، راجع هذا الرابط .

من الواضح، تحتاج إلى تكييف سلسلة Codecprivatedata الخاصة بك مع Formattag الأيمن.هنا هو Mine ل AAC LC 48KHZ @ 96kbps ملف: FF00020080BB0000E02E0000040010000200

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