অ্যান্ড্রয়েড অটোমোটিভ OS (AAOS) বিভিন্ন বৈশিষ্ট্য সক্ষম করতে পতাকা এবং কনফিগারেশন ব্যবহার করে, গতিশীল রাউটিং থেকে শুরু করে আরও জেনেরিক বৈশিষ্ট্যের পতাকাগুলিতে, যেমন গাড়ি পরিষেবা থেকে ভলিউম নিয়ন্ত্রণ। অডিও পরিচালনার জন্য বর্তমান AAOS কনফিগারেশন পতাকা এখানে বর্ণনা করা হয়েছে।
পতাকা | উদ্দেশ্য | |
---|---|---|
audioUseDynamicRouting | AAOS রাউটিং সক্ষম করতে গাড়ি পরিষেবা কনফিগার ফাইলে সংজ্ঞায়িত করা হয়েছে। কনফিগারেশন true সেট করা আবশ্যক. যখন false , রাউটিং এবং CarAudioService এর অনেক অংশ অক্ষম করা হয় এবং OS অডিও নীতি কনফিগার করার ক্ষেত্রে বর্ণিত ডিফল্ট আচরণে ফিরে আসে। | |
audioUseCarVolumeGroupMuting | স্বতন্ত্র ভলিউম গ্রুপের নিঃশব্দ সক্রিয় করতে গাড়ী পরিষেবা কনফিগার ফাইলে সংজ্ঞায়িত করা হয়েছে। false (ডিফল্ট মান) সেট করা হলে, পৃথক ভলিউম গ্রুপের নিঃশব্দ নিষ্ক্রিয় করা হয়। পরিবর্তে, মিউট করা টগল মাস্টার মিউট করে। true সেট করা হলে, গাড়ির ভলিউম গ্রুপ মিউট করা সক্ষম হয় এবং প্রতিটি পৃথক ভলিউম গ্রুপ আলাদাভাবে নিঃশব্দ করা যায়। true হলে, অডিও কন্ট্রোল HAL- এ ভলিউম গ্রুপ মিউট করা আবশ্যক। | |
audioUseHalDuckingSignals | IAudioControl#onDevicesToDuckChange API সক্রিয় করার জন্য গাড়ি পরিষেবা কনফিগার ফাইলে সংজ্ঞায়িত করা হয়েছে HAL কে কখন ডাকতে হবে তা জানাতে। true হলে (ডিফল্ট মান), API কোন আউটপুট ডিভাইসগুলিকে ডাকতে হবে এবং কোন ব্যবহারগুলি ফোকাস ধরে রাখে তা নির্দেশ করে সংকেত পায়। false হলে, API বলা হয় না। অডিও কন্ট্রোল এইচএএল ডাকিং প্রয়োগ না করলে API কল করা হয় না। | |
config_oemCarService | গাড়ি পরিষেবা কনফিগার ফাইলে সংজ্ঞায়িত, এটি OEM কাস্টমাইজেশন পরিষেবার উপাদানের নাম। OEMগুলি বিভিন্ন নীতির জন্য গাড়ি পরিষেবা ক্রিয়াগুলি কাস্টমাইজ করতে এই পরিষেবাটি প্রয়োগ করতে বেছে নিতে পারে৷ যদি OEMগুলি এই উপাদানটি প্রয়োগ করতে বেছে নেয়, তাহলে তাদের অবশ্যই একটি পরিষেবা বাস্তবায়ন করতে হবে যাতে কার-লিব দ্বারা উন্মুক্ত OemCarService প্রসারিত হয় এবং তারপরে প্রয়োজনীয় উপাদান পরিষেবাগুলি প্রয়োগ করা হয়। গাড়ির অডিও পরিষেবার জন্য বিশেষভাবে, OEMগুলি অডিও অ্যাকশন পরিচালনা করতে অডিও সাব পরিষেবাগুলির যেকোনো একটি বাস্তবায়ন করতে পারে। বিস্তারিত জানার জন্য, গাড়ির অডিও প্লাগইন পরিষেবা দেখুন। উপাদানের নাম অবৈধ হলে, CarService কোনো OEM পরিষেবার সাথে সংযোগ করবে না। উপাদানের নাম তৃতীয় পক্ষের প্যাকেজ হতে পারে না। এটা প্রি-ইনস্টল করা আবশ্যক। | audioVolumeAdjustmentContextsVersion | গাড়ি পরিষেবা কনফিগারেশন ফাইলে সংজ্ঞায়িত করা হয়েছে, ভলিউম সমন্বয় প্রসঙ্গ অগ্রাধিকার তালিকার সংস্করণ নির্বাচন করার জন্য কনফিগারেশন। সংস্করণ 1 এই ক্রমে সমস্ত অডিও প্রসঙ্গ অন্তর্ভুক্ত করে:
সংস্করণ 2 এই ক্রমে, নিম্নলিখিত প্রসঙ্গে সীমাবদ্ধ। ডিফল্ট সংস্করণ হল
|
audioPersistMasterMuteState | কার সার্ভিস কনফিগারেশন ফাইলে সংজ্ঞায়িত করা হয়েছে, গ্লোবাল মিউট অবস্থা বজায় রাখার জন্য কনফিগারেশন। true হলে (ডিফল্ট মান) অ্যান্ড্রয়েড বুটে বিশ্বব্যাপী নিঃশব্দ অবস্থা পুনরুদ্ধার করে। যখন audioUseCarVolumeGroupMuting true হয়, তখন নিঃশব্দ পরিবর্তনগুলি স্থায়ী হওয়ার উপর এর কোন প্রভাব নেই কারণ নিঃশব্দ পরিবর্তনগুলি পৃথক ভলিউম গ্রুপের উপর ভিত্তি করে। ডিফল্ট মান true সেট করা আছে এবং যখন কোনো ডিভাইসের জন্য মাস্টার মিউট থাকা উচিত নয় তখন অবশ্যই ওভাররাইট করা উচিত। | |
audioVolumeKeyEventTimeoutMs | গাড়ি পরিষেবা কনফিগারেশন ফাইলে সংজ্ঞায়িত করা হয়েছে, মিলিসেকেন্ডে টাইমআউট নির্দেশ করার কনফিগারেশন যখন ভলিউম কী ইভেন্টের সময় ভলিউম নিয়ন্ত্রণ পরিবর্তনের জন্য একটি গাড়ির ভলিউম গ্রুপ সক্রিয় বলে বিবেচিত হয়। কনফিগারেশন নিম্নলিখিত হিসাবে ব্যবহার করা হয়:
ডিফল্ট মান হল | |
audioUseCarVolumeGroupEvent | গাড়ি পরিষেবা কনফিগারেশন ফাইলে সংজ্ঞায়িত করা হয়েছে, ভলিউম গ্রুপে কলব্যাক ইভেন্টগুলি সক্ষম করার জন্য কনফিগারেশন। true হলে, ক্লায়েন্টরা ICarVolumeGroupEvent এর মাধ্যমে ইভেন্টে কলব্যাক গ্রহণ করে যা ভলিউম গ্রুপকে প্রভাবিত করে। যখন সক্রিয় করা হয়:
ডিফল্ট মান | |
config_useFixedVolume | frameworks/base/core/res/res/values/config.xml এ সংজ্ঞায়িত। ভলিউম কন্ট্রোল পরিচালনা করার জন্য গাড়ী অডিও পরিষেবার অনুমতি দিতে true সেট করা আবশ্যক৷ যখন config_useFixedVolume পতাকা সেট করা হয় না, বা false (ডিফল্ট মান) সেট করা হয়, তখন অ্যাপগুলি AudioManager ভলিউম ম্যানেজমেন্ট API-কে কল করতে পারে এবং সফ্টওয়্যার মিক্সারে স্ট্রীম টাইপ অনুসারে ভলিউম পরিবর্তন করতে পারে। অন্যান্য অ্যাপে সম্ভাব্য প্রভাবের কারণে এটি অবাঞ্ছিত হতে পারে এবং সফ্টওয়্যার মিক্সারে ভলিউম ক্ষয় করার ফলে হার্ডওয়্যার অ্যামপ্লিফায়ারে প্রাপ্ত হলে সিগন্যালে কম উল্লেখযোগ্য বিট উপলব্ধ হতে পারে। নতুন ডিভাইসগুলি যেগুলি কনফিগার করা হয়নি এবং যেগুলি true সেট করা হয়েছে সেগুলি AudioManager ভলিউম এবং নিঃশব্দ API এর মাধ্যমে ভলিউম পরিবর্তনগুলি গ্রহণ করে৷ | |
config_handleVolumeKeysInWindowManager | frameworks/base/core/res/res/values/config.xml এ সংজ্ঞায়িত, গাড়ির অডিও পরিষেবাকে ভলিউম কী ইভেন্টগুলিকে বাধা দেওয়ার জন্য true সেট করতে হবে৷ false (ডিফল্ট মান) সেট করা হলে ভলিউম কী ইভেন্টগুলি অগ্রভাগ অ্যাপে ফরোয়ার্ড করা যেতে পারে এবং গাড়ির অডিও পরিষেবার বাইরে ভলিউম কী ইভেন্ট পরিচালনা থেকে বিরূপ ফলাফল হতে পারে। |
গাড়ী অডিও সেবা কনফিগার
Android 13-এর আগে, packages/services/Car/service/res/values/config.xml
ফাইলের জন্য একটি পণ্য কনফিগারেশন ওভারলে (আরও জানতে, রিসোর্স ওভারলে দিয়ে বিল্ড কাস্টমাইজ করা দেখুন) দিয়ে গাড়ি পরিষেবা কনফিগার ওভাররাইট করা হয়েছিল।
PRODUCT_PACKAGE_OVERLAYS := <path_to_overlay>
কনফিগার ফাইলের অবস্থান <path_to_overlay>
থেকে প্রকৃত অবস্থানে packages/services/Car/service/res/values/
অন্তর্ভুক্ত করা উচিত।
গাড়ি পরিষেবা RROs
Android 13 থেকে, AAOS রানটাইম রিসোর্স ওভারলে সমর্থন করে। গাড়ির অডিও কনফিগারেশনের মান পরিবর্তন করতে একটি RRO ব্যবহার করুন। উদাহরণ স্বরূপ, device/google/cuttlefish/shared/auto/rro_overlay/
এ স্বয়ংচালিত cuttlefish
রেফারেন্সের জন্য RRO দেখুন। audioUseDynamicRouting
কনফিগারেশন device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/values/config.xml
এ ওভাররাইড করা হয়েছে।
<resources>
<bool name="audioUseDynamicRouting">true</bool>
...
রিসোর্স ওভারলে ম্যাপটি device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/res/xml/overlays.xml
এ রয়েছে :
<overlay>
...
<item target="bool/audioUseDynamicRouting"
value="@bool/audioUseDynamicRouting" />
...
</overlay>
device/google/cuttlefish/shared/auto/rro_overlay/CarServiceOverlay/AndroidManifest.xml
এ সংজ্ঞায়িত রিসোর্স ওভারলে ম্যানিফেস্টে com.android.car.updatable
হিসাবে সেট করা targetPackage
রয়েছে।
আরও তথ্যের জন্য এই সংস্থানগুলি দেখুন:
বৈশিষ্ট্য-সক্ষম API
বৈশিষ্ট্যটি ডিভাইসে সক্রিয় থাকলে পদ্ধতিটি true
হয়ে যায়, অন্যথায় false
। CarAudioManager#isAudioFeatureEnabled
API-এ, পাস করা প্যারামিটারটি অবশ্যই এর মধ্যে একটি হতে হবে:
-
AUDIO_FEATURE_DYNAMIC_ROUTING
-
AUDIO_FEATURE_VOLUME_GROUP_MUTING
-
AUDIO_FEATURE_OEM_AUDIO_SERVICE
-
AUDIO_FEATURE_VOLUME_GROUP_EVENTS
-
AUDIO_FEATURE_AUDIO_MIRRORING