
Android এর অডিও হার্ডওয়্যারের বিমূর্ততা লেয়ার (করতো HAL) উচ্চতর পর্যায়ের, অডিও-নির্দিষ্ট কাঠামোর API গুলি সংযোগ android.media অন্তর্নিহিত অডিও চালক ও হার্ডওয়্যারে। এই বিভাগে কার্যকারিতা উন্নতির জন্য বাস্তবায়নের নির্দেশাবলী এবং টিপস অন্তর্ভুক্ত রয়েছে।
অ্যান্ড্রয়েড অডিও আর্কিটেকচার অডিও কার্যকারিতা কীভাবে বাস্তবায়িত হয় তা সংজ্ঞায়িত করে এবং প্রয়োগের সাথে জড়িত প্রাসঙ্গিক উত্স কোডের দিকে নির্দেশ করে।

চিত্র 1. অ্যান্ড্রয়েড অডিও আর্কিটেকচার
- অ্যাপ্লিকেশন কাঠামো
- অ্যাপ্লিকেশন ফ্রেমওয়ার্কটিতে অ্যাপ কোডটি অন্তর্ভুক্ত রয়েছে, যা অডিও হার্ডওয়ারের সাথে ইন্টারেক্ট করার জন্য অ্যান্ড্রয়েড.মিডিয়া এপিআই ব্যবহার করে। অভ্যন্তরীণভাবে, এই কোডটি অডিও হার্ডওয়ারের সাথে ইন্টারেক্ট করে এমন নেটিভ কোডটি অ্যাক্সেস করার জন্য সংশ্লিষ্ট JNI আঠালো ক্লাসগুলিকে কল করে।
- জেএনআই
- অ্যান্ড্রয়েড.মিডিয়া সম্পর্কিত জেএনআই কোড অডিও হার্ডওয়্যার অ্যাক্সেস করতে নিম্ন স্তরের নেটিভ কোডকে কল করে।
frameworks/base/core/jni/
এবংframeworks/base/media/jni
। - নেটিভ কাঠামো
- নেটিভ ফ্রেমওয়ার্কটি অ্যান্ড্রয়েড.মিডিয়া প্যাকেজের একটি দেশীয় সমতুল্য সরবরাহ করে, বাইন্ডার আইপিসি প্রক্সিকে মিডিয়া সার্ভারের অডিও-নির্দিষ্ট পরিষেবাগুলিতে অ্যাক্সেস করার জন্য কল করে। নেটিভ ফ্রেমওয়ার্ক কোড
frameworks/av/media/libmedia
। - বাইন্ডার আইপিসি
- বাইন্ডার আইপিসি প্রক্সিগুলি প্রক্রিয়া সীমানার উপর যোগাযোগের সুবিধার্থে। প্রক্সিগুলি
frameworks/av/media/libmedia
অবস্থিত এবং "আমি" অক্ষর দিয়ে শুরু হয়। - মিডিয়া সার্ভার
- মিডিয়া সার্ভারে অডিও পরিষেবা রয়েছে, যা প্রকৃত কোড যা আপনার এইচএল বাস্তবায়নগুলির সাথে ইন্টারেক্ট করে। মিডিয়া সার্ভার
frameworks/av/services/audioflinger
। - এইচএএল
- এইচএএল স্ট্যান্ডার্ড ইন্টারফেসটিকে সংজ্ঞায়িত করে যা অডিও পরিষেবাগুলি কল করে এবং আপনার অডিও হার্ডওয়্যারকে সঠিকভাবে কাজ করার জন্য আপনাকে অবশ্যই প্রয়োগ করতে হবে। আরও বিশদের জন্য, সম্পর্কিত এইচএল সংস্করণ ডিরেক্টরিতে
*.hal
ফাইলগুলিতে অডিও এইচএল ইন্টারফেস এবং মন্তব্যগুলি দেখুন। - কার্নেল ড্রাইভার
- অডিও ড্রাইভারটি আপনার হার্ডওয়্যার এবং এইচএল প্রয়োগের সাথে যোগাযোগ করে। আপনি অ্যাডভান্সড লিনাক্স সাউন্ড আর্কিটেকচার (এএলএসএ), ওপেন সাউন্ড সিস্টেম (ওএসএস), বা একটি কাস্টম ড্রাইভার (এইচএল ড্রাইভার-অজোনস্টিক) ব্যবহার করতে পারেন।
দ্রষ্টব্য : আপনি যদি ALSA ব্যবহার করেন তবে ড্রাইভারের ব্যবহারকারীর অংশের জন্য উপযুক্ত
external/tinyalsa
উপযুক্ত লাইসেন্সিংয়ের কারণে আমরা স্ট্যান্ডার্ডexternal/tinyalsa
পরামর্শexternal/tinyalsa
(স্ট্যান্ডার্ড ইউজার-মোড লাইব্রেরিটি জিপিএল-লাইসেন্সযুক্ত)। - ওপেন এসএল ইএস-এর ভিত্তিতে অ্যান্ড্রয়েড নেটিভ অডিও (দেখানো হয়নি)
- এই API অংশ হিসেবে প্রকাশিত অ্যান্ড্রয়েড NDK এবং হিসাবে একই স্থাপত্য পর্যায়ে android.media ।