از 27 مارس 2025، توصیه می کنیم از android-latest-release
به جای aosp-main
برای ساختن و کمک به AOSP استفاده کنید. برای اطلاعات بیشتر، به تغییرات AOSP مراجعه کنید.
صدای با وضوح بالا
با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
نسخه اندروید 10 شامل بهبودهای زیر برای صدای با وضوح بالا است:
- Float: کدکهای WAV، FLAC و استخراجکنندهها برای پشتیبانی از شناور (بیش از 24 بیت با دقت بدون تلفات) بهروزرسانی میشوند. جلوه های Downmix و Virtualizer به روز می شوند تا شناور شوند. دقت به روز شده توسط MediaPlayer (NuPlayer) مجاز است.
- فرکانس بالا: کدک های WAV، FLAC و استخراج کننده ها برای پشتیبانی از 192 کیلوهرتز به روز می شوند. افکتهای پیشفرض ارائهشده اندروید برای پشتیبانی از ۱۹۲ کیلوهرتز در فرکانسهای استاندارد آزمایش میشوند. فرکانسهای استاندارد مجاز 88.2 کیلوهرتز، 96 کیلوهرتز، 176.4 کیلوهرتز و 192 کیلوهرتز هستند.
- چند کاناله: جلوههای پخش پیشفرض اندروید برای پشتیبانی چند کاناله از هشت کانال آزمایش میشوند.
- زمان: اطلاعات زمان بندی در سراسر چارچوب صوتی گنجانده شده است.
با شروع اندروید 9، بهبودهای زیر نیازی به اجرای شریک ندارند:
- تعداد تراکهای خروجی مشتری همزمان از 14 به 40 افزایش مییابد، زیرا نمونههای محدود مشتری
AudioTrack
برای برنامههای Android 8.x مشکلساز بوده است. - حداکثر حافظه کلاینت/سرور از 4 مگابایت به 32 مگابایت (بسته به کل حافظه دستگاه) افزایش می یابد تا امکان تراک های صوتی با وضوح بالا به طور همزمان بیشتر شود.
- مجموع آهنگ های ترکیبی از 32 به 256 افزایش می یابد تا از اختلاف منابع بین برنامه ها و رابط کاربری سیستم جلوگیری شود.
اثر خروجی تغییر می کند
جلوه های صوتی را برای تغییرات نسخه اندروید 11 ببینید.
قبل از انتشار اندروید 9، پردازش زنجیره افکت در قالب نمونه استریو int16 پیاده سازی می شد. این چند محدودیت داشت:
- همه جلوههای خروجی تبدیل اجباری دادههای صوتی ممیز شناور به int16 را انجام میدهند که باعث کاهش دقت میشود.
- اثرات خروجی از سینک های خروجی با تعداد کانال بیشتر از دو رد شد.
در نسخه اندروید 9، خط لوله پردازش زنجیره افکت برای پشتیبانی از فرمت شناور چند کاناله ارتقا یافته است. نکات کلیدی:
- جلوه های نرم افزار اندروید قبلاً به شناور استریو منتقل شده اند.
- جلوههای قدیمی با آداپتورهای فرمت پشتیبانی میشوند که در صورت نیاز float را به int16 تبدیل میکنند.
پیاده سازی اثرات خروجی
یک پیاده سازی مرجع برای جلوه های خروجی تحت frameworks/av/media/libeffects
موجود است.
شرکایی که جلوههای خروجی سفارشی خود را پیادهسازی میکنند باید برای نسخه اندروید 10 کارهای زیر را انجام دهند:
- افکت های خروجی را برای پشتیبانی از قالب شناور چند کاناله به روز کنید:
- پشتیبانی پردازش Int16 دیگر مورد نیاز نیست.
- تعداد کانال های خروجی را از 2 تا 8 پشتیبانی کنید (برای سازگاری در آینده تعداد 1 تا 30 را در نظر بگیرید).
- پشتیبانی از تعداد کانال های ورودی مطابق با تعداد کانال های خروجی برای جلوه های درج. جلوه های کمکی همچنان تعداد کانال های ورودی 1 (مونو) را مشاهده می کنند.
- از هر دو ماسک موقعیت کانال (متعارف) و ماسک شاخص کانال
(1 << n) - 1
پشتیبانی کنید.
- اگر باید به پشتیبانی از جلوه های خروجی فروشنده قدیمی ادامه دهید و نمی توانید آنها را به روز کنید، کد قدیمی را به صورت زیر تأیید کنید:
- جلوههای خروجی قدیمی (درج) باید پیکربندیهای پشتیبانینشده در
EFFECT_CMD_SET_CONFIG
را رد کند.- بررسی کنید که فرمت int16 باشد.
- بررسی کنید که ماسک کانال ورودی و خروجی استریو باشد.
- اگر هر یک از چک ها ناموفق بود،
-EINVAL
برگردانید.
- جلوههای خروجی قدیمی (کمکی) توسط AudioFlinger با یک ماسک کانال ورودی تک و ماسکهای کانال خروجی بالقوه چند کاناله، بسته به اینکه سینک خروجی چند کاناله باشد، پیکربندی میشود. آنها باید پیکربندی های پشتیبانی نشده در
EFFECT_CMD_SET_CONFIG
را رد کنند.- بررسی کنید که فرمت int16 باشد.
- بررسی کنید که ماسک کانال ورودی تک و ماسک کانال خروجی استریو باشد.
- اگر هر یک از چک ها ناموفق بود،
-EINVAL
برگردانید.
- کد قدیمی را تأیید کنید. تصور نکنید که کار می کند!
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-07-29 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","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-07-29 بهوقت ساعت هماهنگ جهانی."],[],[],null,["# High-resolution audio\n\nThe Android 10 release includes the following\nimprovements for high-resolution audio:\n\n- **Float:** WAV, FLAC codecs, and extractors are updated to support float (24+ bits of lossless precision). Downmix and Virtualizer effects are updated to float. Updated precision is allowed by MediaPlayer (NuPlayer).\n- **High-frequency:** WAV, FLAC codecs, and extractors are updated to support 192 kHz. The default Android supplied effects are tested for 192 kHz support at standard frequencies. The standard frequencies permitted are 88.2 kHz, 96 kHz, 176.4 kHz, and 192 kHz.\n- **Multichannel:** Default Android playback effects are tested for multichannel support to eight channels.\n- **Timing:** Timing information is included throughout the audio framework.\n\nStarting in Android 9, the following improvements\ndon't require any partner implementation:\n\n- The number of simultaneous client output tracks increases from 14 to 40, as limited client instances of `AudioTrack` have been an issue for apps in Android 8.x.\n- Maximum client/server memory increases from 4 MB to 32 MB (depending on total device memory) to allow more simultaneous high-resolution audio tracks.\n- Total mixed tracks increases from 32 to 256 to prevent resource contention between apps and the System UI.\n\nOutput effect changes\n---------------------\n\nSee [Audio\neffects](/docs/core/audio/audio-effects) for Android 11 release changes.\n\nPrior to the Android 9 release, effect chain processing\nwas implemented in stereo int16 sample format. This had several limitations:\n\n- All output effects forced conversion from floating point audio data to int16, causing loss of precision.\n- Output effects were rejected from output sinks with a channel count greater than two.\n\nIn the Android 9 release, the effect chain processing\npipeline is upgraded to support the multichannel float format. Key points:\n\n- Android software effects are already migrated to stereo float.\n- Legacy effects are supported with format adapters, which convert float to int16 as needed.\n\nImplement output effects\n------------------------\n\nA reference implementation for output effects is available under\n`frameworks/av/media/libeffects`.\n\nPartners implementing their own custom output effects should do the\nfollowing for the Android 10 release:\n\n- Update output effects to support the multichannel float format:\n - Int16 processing support is no longer required.\n - Support output channel counts from 2--8 (for future compatibility consider counts from 1--30).\n - Support input channel counts matching output channel counts for insert effects. Auxiliary effects continue to see an input channel count of 1 (mono).\n - Support both channel position masks (canonical) and channel index masks of `(1 \u003c\u003c n) - 1`.\n- If you must continue to support legacy vendor output effects and can't update them, then verify legacy code as follows:\n - Legacy output (insert) effects **must reject** unsupported configurations in `EFFECT_CMD_SET_CONFIG`.\n - Check that the format is int16.\n - Check that the input and output channel masks are stereo.\n - If either check fails, return `-EINVAL`.\n - Legacy output (auxiliary) effects are configured by AudioFlinger with a mono input channel mask and potentially multichannel output channel masks, depending on whether the output sink is multichannel. They **must reject** unsupported configurations in `\n EFFECT_CMD_SET_CONFIG`.\n - Check that the format is int16.\n - Check that the input channel mask is mono and the output channel mask is stereo.\n - If either check fails, return `-EINVAL`.\n - Verify legacy code. Don't assume that it works!"]]