উচ্চ-রেজোলিউশন অডিও

Android 10 রিলিজে উচ্চ-রেজোলিউশন অডিওর জন্য নিম্নলিখিত উন্নতিগুলি অন্তর্ভুক্ত রয়েছে:

  • ফ্লোট: WAV, FLAC কোডেক এবং এক্সট্রাক্টরগুলিকে ফ্লোট সমর্থন করার জন্য আপডেট করা হয়েছে (24+ বিট লসলেস নির্ভুলতা)। ডাউনমিক্স এবং ভার্চুয়ালাইজার প্রভাবগুলি ভাসতে আপডেট করা হয়েছে। আপডেট করা নির্ভুলতা MediaPlayer (NuPlayer) দ্বারা অনুমোদিত।
  • উচ্চ-ফ্রিকোয়েন্সি: WAV, FLAC কোডেক এবং এক্সট্র্যাক্টরগুলি 192 kHz সমর্থন করার জন্য আপডেট করা হয়েছে। ডিফল্ট অ্যান্ড্রয়েড সরবরাহকৃত প্রভাবগুলি স্ট্যান্ডার্ড ফ্রিকোয়েন্সিতে 192 kHz সমর্থনের জন্য পরীক্ষা করা হয়। অনুমোদিত স্ট্যান্ডার্ড ফ্রিকোয়েন্সি হল 88.2 kHz, 96 kHz, 176.4 kHz এবং 192 kHz।
  • মাল্টিচ্যানেল: ডিফল্ট অ্যান্ড্রয়েড প্লেব্যাক প্রভাবগুলি আটটি চ্যানেলে মাল্টিচ্যানেল সমর্থনের জন্য পরীক্ষা করা হয়।
  • টাইমিং: অডিও ফ্রেমওয়ার্ক জুড়ে সময়ের তথ্য অন্তর্ভুক্ত করা হয়েছে।

Android 9 থেকে শুরু করে, নিম্নলিখিত উন্নতিগুলির জন্য কোনও অংশীদার বাস্তবায়নের প্রয়োজন নেই:

  • একযোগে ক্লায়েন্ট আউটপুট ট্র্যাকের সংখ্যা 14 থেকে 40 পর্যন্ত বৃদ্ধি পায়, কারণ AudioTrack সীমিত ক্লায়েন্ট দৃষ্টান্তগুলি Android 8.x-এ অ্যাপগুলির জন্য একটি সমস্যা হয়ে দাঁড়িয়েছে৷
  • সর্বোচ্চ ক্লায়েন্ট/সার্ভার মেমরি 4 MB থেকে 32 MB পর্যন্ত বৃদ্ধি পায় (মোট ডিভাইস মেমরির উপর নির্ভর করে) যাতে একই সাথে উচ্চ-রেজোলিউশনের অডিও ট্র্যাকগুলি মঞ্জুরি পায়৷
  • অ্যাপ্লিকেশান এবং সিস্টেম UI-এর মধ্যে সংস্থান বিবাদ রোধ করতে মোট মিশ্র ট্র্যাক 32 থেকে 256 পর্যন্ত বৃদ্ধি পায়৷

আউটপুট প্রভাব পরিবর্তন

Android 11 রিলিজের পরিবর্তনের জন্য অডিও প্রভাব দেখুন।

অ্যান্ড্রয়েড 9 প্রকাশের আগে, ইফেক্ট চেইন প্রক্রিয়াকরণ স্টেরিও int16 নমুনা বিন্যাসে প্রয়োগ করা হয়েছিল। এর বেশ কয়েকটি সীমাবদ্ধতা ছিল:

  • সমস্ত আউটপুট প্রভাব ফ্লোটিং পয়েন্ট অডিও ডেটা থেকে int16-এ রূপান্তর করতে বাধ্য করে, যার ফলে নির্ভুলতা নষ্ট হয়।
  • আউটপুট প্রভাবগুলি আউটপুট সিঙ্কগুলি থেকে প্রত্যাখ্যান করা হয়েছিল একটি চ্যানেলের সংখ্যা দুটির বেশি।

অ্যান্ড্রয়েড 9 রিলিজে, ইফেক্ট চেইন প্রসেসিং পাইপলাইন মাল্টিচ্যানেল ফ্লোট ফর্ম্যাটকে সমর্থন করার জন্য আপগ্রেড করা হয়েছে। গুরুত্বপূর্ণ দিক:

  • অ্যান্ড্রয়েড সফ্টওয়্যার প্রভাবগুলি ইতিমধ্যেই স্টেরিও ফ্লোটে স্থানান্তরিত হয়েছে৷
  • লিগ্যাসি প্রভাবগুলি ফর্ম্যাট অ্যাডাপ্টারের সাথে সমর্থিত, যা প্রয়োজন অনুসারে ফ্লোটকে int16 এ রূপান্তর করে।

আউটপুট প্রভাব বাস্তবায়ন

আউটপুট প্রভাবগুলির জন্য একটি রেফারেন্স বাস্তবায়ন frameworks/av/media/libeffects এর অধীনে উপলব্ধ।

তাদের নিজস্ব কাস্টম আউটপুট প্রভাব প্রয়োগকারী অংশীদারদের Android 10 রিলিজের জন্য নিম্নলিখিতগুলি করা উচিত:

  • মাল্টিচ্যানেল ফ্লোট বিন্যাস সমর্থন করতে আউটপুট প্রভাব আপডেট করুন:
    • Int16 প্রক্রিয়াকরণ সমর্থন আর প্রয়োজন নেই।
    • সমর্থন আউটপুট চ্যানেল গণনা 2-8 থেকে (ভবিষ্যত সামঞ্জস্যের জন্য 1-30 থেকে গণনা বিবেচনা করুন)।
    • সন্নিবেশ প্রভাব জন্য আউটপুট চ্যানেল গণনা মিলে ইনপুট চ্যানেল গণনা সমর্থন. সহায়ক প্রভাবগুলি 1 (মনো) একটি ইনপুট চ্যানেল গণনা দেখতে অবিরত।
    • চ্যানেল পজিশন মাস্ক (ক্যাননিকাল) এবং (1 << n) - 1 এর চ্যানেল সূচক মাস্ক উভয়ই সমর্থন করে।
  • আপনি যদি লিগ্যাসি ভেন্ডর আউটপুট ইফেক্টগুলিকে সমর্থন করা চালিয়ে যেতে পারেন এবং সেগুলি আপডেট করতে না পারেন, তাহলে লিগ্যাসি কোডটি নিম্নরূপ যাচাই করুন:
    • লিগ্যাসি আউটপুট (সন্নিবেশ) প্রভাবগুলিকে অবশ্যই EFFECT_CMD_SET_CONFIG এ অসমর্থিত কনফিগারেশন প্রত্যাখ্যান করতে হবে
      • ফরম্যাটটি int16 কিনা তা পরীক্ষা করুন।
      • ইনপুট এবং আউটপুট চ্যানেল মাস্কগুলি স্টেরিও কিনা তা পরীক্ষা করুন।
      • উভয় চেক ব্যর্থ হলে, রিটার্ন -EINVAL
    • আউটপুট সিঙ্ক মাল্টিচ্যানেল কিনা তার উপর নির্ভর করে লিগ্যাসি আউটপুট (সহায়ক) প্রভাবগুলি অডিওফ্লিংগার দ্বারা একটি মনো ইনপুট চ্যানেল মাস্ক এবং সম্ভাব্য মাল্টিচ্যানেল আউটপুট চ্যানেল মাস্ক সহ কনফিগার করা হয়। তাদের অবশ্যই EFFECT_CMD_SET_CONFIG এ অসমর্থিত কনফিগারেশন প্রত্যাখ্যান করতে হবে।
      • ফরম্যাটটি int16 কিনা তা পরীক্ষা করুন।
      • পরীক্ষা করুন যে ইনপুট চ্যানেল মাস্কটি মনো এবং আউটপুট চ্যানেল মাস্কটি স্টেরিও।
      • উভয় চেক ব্যর্থ হলে, রিটার্ন -EINVAL
    • উত্তরাধিকার কোড যাচাই করুন। এটা কাজ করে যে অনুমান করবেন না!