এই বিভাগটি অ্যান্ড্রয়েডে উপলব্ধ বিভিন্ন হ্যাপটিক্স এপিআইগুলির একটি ভূমিকা প্রদান করে। এটি আপনার হ্যাপটিক প্রভাবগুলি আপনার ইচ্ছামতো কাজ করে তা নিশ্চিত করার জন্য প্রয়োজনীয় কোনও ডিভাইস সমর্থন কখন এবং কীভাবে পরীক্ষা করতে হবে তাও কভার করে।
হ্যাপটিক এফেক্ট তৈরি করার বিভিন্ন উপায় রয়েছে এবং সেগুলির মধ্যে থেকে বেছে নেওয়ার সময় অ্যান্ড্রয়েড হ্যাপটিক ডিজাইনের নীতিগুলি বিবেচনা করা গুরুত্বপূর্ণ। নিম্নলিখিত সারণীতে প্রতিটি পদ্ধতির এই উচ্চ স্তরের বৈশিষ্ট্যগুলির সংক্ষিপ্তসার দেওয়া হয়েছে:
- আচরণগত ফলব্যাক পরিকল্পনা করার সময় প্রাপ্যতা বিশেষভাবে গুরুত্বপূর্ণ, এবং পৃথক ডিভাইস সমর্থন পরীক্ষা করার সাথে এটি একত্রিত করা প্রয়োজন।
- ক্লিয়ার হ্যাপটিক হল তীক্ষ্ণ এবং পরিষ্কার অনুভূতি যা ব্যবহারকারীদের জন্য কম বিরক্তিকর।
- সমৃদ্ধ হ্যাপটিকের প্রকাশ ক্ষমতা বেশি থাকে এবং প্রায়শই আরও বৈশিষ্ট্য সমৃদ্ধ হার্ডওয়্যারের প্রয়োজন হয়।
| এপিআই সারফেস | উপস্থিতি | সাফ হ্যাপটিকস | সমৃদ্ধ হ্যাপটিক |
|---|---|---|---|
| হ্যাপটিকপ্রতিক্রিয়াধ্রুবক | অ্যান্ড্রয়েড ১.৫+ (প্রতি ধ্রুবক) | ||
| পূর্বনির্ধারিত কম্পন প্রভাব | অ্যান্ড্রয়েড ১০+ | ||
| কম্পন প্রভাব রচনা | অ্যান্ড্রয়েড ১১+ (প্রতি ধ্রুবক) | ||
| চালু/বন্ধ, এক-শট এবং তরঙ্গরূপ কম্পন | অ্যান্ড্রয়েড ১ |
অতিরিক্তভাবে, এই পৃষ্ঠায় বর্ণিত বিজ্ঞপ্তি API গুলি আপনাকে ইনকামিং বিজ্ঞপ্তিগুলির জন্য প্লে হওয়া হ্যাপটিক প্রভাবগুলি কাস্টমাইজ করতে দেয়।
এই পৃষ্ঠায় API পৃষ্ঠতল জুড়ে বিস্তৃত অতিরিক্ত ধারণাগুলিও বর্ণনা করা হয়েছে:
- ডিভাইসটিতে কি ভাইব্রেটর আছে?
- অ্যামপ্লিটিউড নিয়ন্ত্রণ মসৃণ, সমৃদ্ধ হ্যাপটিক প্রভাবের অনুমতি দেয়, কিন্তু সমস্ত ডিভাইস দ্বারা সমর্থিত নয়।
-
VibrationAttributes()আপনাকে কম্পনের ব্যবহারের উপর ভিত্তি করে শ্রেণীবদ্ধ করতে সাহায্য করে, যাতে এটিতে উপযুক্ত ব্যবহারকারীর সেটিংস প্রয়োগ করা হয় এবং ব্যবহারকারীর জন্য বিস্ময় এড়ানো যায়।
HapticFeedbackConstants
HapticFeedbackConstants ক্লাসটি অ্যাকশন-ভিত্তিক ধ্রুবক প্রদান করে যা অ্যাপগুলিকে ডিভাইসের অভিজ্ঞতা জুড়ে সামঞ্জস্যপূর্ণ হ্যাপটিক প্রতিক্রিয়া যোগ করার অনুমতি দেয়, প্রতিটি অ্যাপের সাধারণ ক্রিয়াকলাপের জন্য আলাদা প্রভাব থাকার পরিবর্তে।
সামঞ্জস্যতা এবং প্রয়োজনীয়তা
এই ধ্রুবকগুলির সাথে View.performHapticFeedback পদ্ধতি ব্যবহার করার জন্য অ্যাপটির জন্য কোনও বিশেষ অনুমতির প্রয়োজন হয় না। এটি View.hapticFeedbackEnabled বৈশিষ্ট্যের অধীন, যা false তে সেট করা হলে ভিউতে সমস্ত হ্যাপটিক প্রতিক্রিয়া কল অক্ষম করবে, ডিফল্ট কল সহ। প্রাথমিক সম্পর্কিত সেটিং View.hapticFeedbackEnabled বৈশিষ্ট্য, যা false তে সেট করা হলে ভিউতে সমস্ত হ্যাপটিক প্রতিক্রিয়া কল অক্ষম করবে, ডিফল্ট কল সহ। পদ্ধতিটি স্পর্শ প্রতিক্রিয়া সক্ষম করার জন্য ব্যবহারকারীর সিস্টেম সেটিংকেও সম্মান করে।
একমাত্র সামঞ্জস্য বিবেচনার বিষয় হল অ্যাকশনের জন্য নির্দিষ্ট ধ্রুবকের SDK-স্তর।
HapticFeedbackConstants ব্যবহার করার সময় ফলব্যাক আচরণ প্রদান করার কোন প্রয়োজন নেই।
HapticsFeedbackConstants ব্যবহারপ্রতিক্রিয়া ধ্রুবক
HapticFeedbackConstants ব্যবহারের বিস্তারিত তথ্যের জন্য, ইভেন্টগুলিতে হ্যাপটিক প্রতিক্রিয়া যোগ করুন দেখুন।
পূর্বনির্ধারিত VibrationEffect
VibrationEffect ক্লাসটি বেশ কয়েকটি পূর্বনির্ধারিত ধ্রুবক প্রদান করে যেমন CLICK , TICK এবং DOUBLE_CLICK । এই প্রভাবগুলি ডিভাইসের জন্য অপ্টিমাইজ করা যেতে পারে।
সামঞ্জস্যতা এবং প্রয়োজনীয়তা
যেকোনো VibrationEffect চালানোর জন্য অ্যাপ ম্যানিফেস্টে VIBRATE অনুমতি প্রয়োজন।
পূর্বনির্ধারিত VibrationEffect ব্যবহার করার সময় ফলব্যাক আচরণ প্রদান করার কোন প্রয়োজন নেই, কারণ যেসব ধ্রুবকের ডিভাইস-অপ্টিমাইজড বাস্তবায়ন নেই সেগুলি একটি স্ট্যান্ডার্ড প্ল্যাটফর্ম ফলব্যাকে ফিরে যায়।
Vibrator.areEffectsSupported এবং Vibrator.areAllEffectsSupported API গুলি ডিভাইস-অপ্টিমাইজড বাস্তবায়ন আছে কিনা তা নির্ধারণের জন্য। পূর্বনির্ধারিত প্রভাবগুলি এখনও একটি অপ্টিমাইজড বাস্তবায়ন ছাড়াই ব্যবহার করা যেতে পারে এবং স্ট্যান্ডার্ড প্ল্যাটফর্ম ফলব্যাক ব্যবহার করে। ফলস্বরূপ, এই areEffectsSupported API গুলি কেবল তখনই প্রয়োজন হয় যখন কোনও অ্যাপ্লিকেশন বিবেচনা করতে চায় যে প্রভাবটি ডিভাইসের জন্য অপ্টিমাইজ করা হয়েছে কিনা।
প্রভাব-পরীক্ষা পদ্ধতিগুলি তিনটি মানের মধ্যে একটি প্রদান করতে পারে:
-
VIBRATION_EFFECT_SUPPORT_YESনির্দেশ করে যে ডিভাইসটিতে এই প্রভাবের জন্য অপ্টিমাইজ করা সমর্থন রয়েছে। -
VIBRATION_EFFECT_SUPPORT_NOইঙ্গিত দেয় যে ডিভাইসটিতে অপ্টিমাইজড সাপোর্ট নেই, তবুও প্ল্যাটফর্ম ফলব্যাক ব্যবহার করে। -
VIBRATION_EFFECT_SUPPORT_UNKNOWNইঙ্গিত করে যে সিস্টেমটি জানে না যে বাস্তবায়নটি অপ্টিমাইজ করা হয়েছে কিনা।
যেহেতু UNKNOWN মানটি নির্দেশ করে যে চেকিং API অনুপলব্ধ, এটি সাধারণত সমস্ত প্রভাবের জন্য বা কোনওটির জন্যই ফেরত দেওয়া হয় না। এই ডিভাইসগুলি গতিশীলভাবে ফিরে আসে।
পূর্বনির্ধারিত VibrationEffect ব্যবহার
পূর্বনির্ধারিত VibrationEffect ব্যবহারের বিস্তারিত তথ্যের জন্য, হ্যাপটিক প্রতিক্রিয়া তৈরি করতে পূর্বনির্ধারিত VibrationEffect ব্যবহার করুন দেখুন।
খামের কম্পনের প্রভাব
খামভিত্তিক কম্পনগুলি নিয়ন্ত্রণ বিন্দুর ক্রম নির্ধারণ করে সময়ের সাথে সাথে কম্পনের প্রশস্ততা এবং ফ্রিকোয়েন্সির সুনির্দিষ্ট নিয়ন্ত্রণের সুযোগ করে দেয়। এটি ডেভেলপারদের আরও সমৃদ্ধ এবং আরও সূক্ষ্ম হ্যাপটিক প্রতিক্রিয়া অভিজ্ঞতা তৈরি করতে সক্ষম করে। এই কম্পনগুলি BasicEnvelopeBuilder এবং WaveformEnvelopeBuilder ক্লাস ব্যবহার করে তৈরি করা যেতে পারে।
সামঞ্জস্যতা এবং প্রয়োজনীয়তা
যেকোনো ভাইব্রেশন ইফেক্ট চালানোর জন্য, আপনার অ্যাপটিকে অ্যাপ ম্যানিফেস্টে VIBRATE অনুমতি ঘোষণা করতে হবে।
এনভেলপ ইফেক্ট সাপোর্ট আছে কিনা তা পরীক্ষা করতে, Vibrator.areEnvelopeEffectsSupported() এ কল করুন।
বেসিক এনভেলপ বিল্ডার
একটি মসৃণ এবং নিরবচ্ছিন্ন হ্যাপটিক অভিজ্ঞতা তৈরি করতে, এনভেলপ এফেক্টগুলি অবশ্যই তীব্রতার সাথে শুরু এবং শেষ করতে হবে \( 0.0 \)। API এটিকে শূন্যে শুরুর তীব্রতা স্থির করে এবং যদি শেষের তীব্রতা শূন্য না হয় তবে একটি ব্যতিক্রম প্রদান করে। এই সীমাবদ্ধতা প্রশস্ততার মধ্যে বিচ্ছিন্নতার কারণে কম্পনের ক্ষেত্রে অবাঞ্ছিত গতিশীল প্রভাব প্রতিরোধ করে যা ব্যবহারকারীর হ্যাপটিক উপলব্ধির উপর নেতিবাচক প্রভাব ফেলতে পারে।
ডিভাইস জুড়ে ধারাবাহিক এনভেলপ এফেক্ট রেন্ডারিং প্রদানের জন্য, ফ্রেমওয়ার্কের প্রয়োজন যে এই বৈশিষ্ট্যটি সমর্থনকারী ডিভাইসগুলি নিয়ন্ত্রণ পয়েন্টগুলির মধ্যে ন্যূনতম 20 মিলিসেকেন্ড এবং এনভেলপ এফেক্টের জন্য কমপক্ষে 16 পয়েন্ট সময়কাল পরিচালনা করতে পারে।
তরঙ্গরূপ খাম নির্মাতা
এই ফ্রেমওয়ার্কটি ডেভেলপার কর্তৃক প্রদত্ত অনুরোধকৃত ফ্রিকোয়েন্সি এবং অ্যামপ্লিটিউড মান পরিবর্তন করে না। তবে, মসৃণ ট্রানজিশন তৈরি করতে API শুরুর অ্যামপ্লিটিউড শূন্যে স্থির করে।
আপনার অ্যাপের ওয়েভফর্ম এনভেলপ ইফেক্টগুলিকে অপ্টিমাইজ করতে এবং ডিভাইস জুড়ে সামঞ্জস্যতা প্রদান করতে, অ্যান্ড্রয়েড গুরুত্বপূর্ণ ডিভাইসের ক্ষমতা অনুসন্ধানের জন্য API প্রদান করে। এই পদ্ধতিগুলি ডিভাইসের সীমাবদ্ধতা সম্পর্কে তথ্য প্রদান করে, যেমন নিয়ন্ত্রণ পয়েন্টের মধ্যে সর্বাধিক এবং সর্বনিম্ন স্থানান্তর সময়কাল এবং একক প্রভাবের জন্য সমর্থিত নিয়ন্ত্রণ পয়েন্টের সর্বাধিক সংখ্যা:
-
getMaxSize() - একটি এনভেলপ এফেক্টের জন্য সমর্থিত সর্বোচ্চ সংখ্যক নিয়ন্ত্রণ পয়েন্ট পুনরুদ্ধার করে।
-
getMinControlPointDurationMillis() - একটি এনভেলপ এফেক্টের মধ্যে দুটি নিয়ন্ত্রণ বিন্দুর মধ্যে মিলিসেকেন্ডে সমর্থিত সর্বনিম্ন সময়কাল পুনরুদ্ধার করে।
-
getMaxControlPointDurationMillis() - একটি এনভেলপ এফেক্টের মধ্যে দুটি নিয়ন্ত্রণ বিন্দুর মধ্যে মিলিসেকেন্ডে সর্বাধিক সমর্থিত সময়কাল পুনরুদ্ধার করে।
-
getMaxDurationMillis() - একটি এনভেলপ এফেক্টের জন্য সমর্থিত সর্বোচ্চ সময়কাল মিলিসেকেন্ডে পুনরুদ্ধার করে।
যদি কোনও প্রভাব ডিভাইসের সীমাবদ্ধতা অতিক্রম করে—যেমন অনেক বেশি নিয়ন্ত্রণ বিন্দুর অনুমতি দেওয়া বা সর্বোচ্চ সীমা অতিক্রম করার সময়কাল—তবে কাঠামোটি স্বয়ংক্রিয়ভাবে প্রভাবটিকে অনুমোদিত সীমানার মধ্যে ফিট করার জন্য সামঞ্জস্য করে। এই সমন্বয় প্রক্রিয়াটি যতটা সম্ভব নকশার মূল অভিপ্রায় এবং অনুভূতি সংরক্ষণ করার চেষ্টা করে।
খামের কম্পনের প্রভাবের ব্যবহার
এনভেলপ ওয়েভফর্ম ইফেক্ট তৈরির বিস্তারিত তথ্যের জন্য, এনভেলপ দিয়ে কম্পন ওয়েভফর্ম তৈরি করুন দেখুন।
VibrationEffect রচনা
VibrationEffect কম্পোজিশন হল VibrationEffect.startComposition API ব্যবহার করে তৈরি একটি কম্পন প্রভাব। এই API কাস্টমাইজড বিলম্ব এবং তীব্রতা সহ আদিম উপাদানের একটি ক্রম তৈরি করে অভিব্যক্তিপূর্ণ সমৃদ্ধ হ্যাপটিক্সের অনুমতি দেয়। তবে, একটি অসঙ্গতিপূর্ণ সামগ্রিক অভিজ্ঞতা এড়াতে ডিভাইসটি একত্রিত বৈশিষ্ট্যগুলিকে সমর্থন করে তা নিশ্চিত করার জন্য বিশেষ যত্ন নিন।
সামঞ্জস্যতা এবং প্রয়োজনীয়তা
যেকোনো VibrationEffect চালানোর জন্য অ্যাপ ম্যানিফেস্টে VIBRATE অনুমতি প্রয়োজন।
সমস্ত ডিভাইস কম্পোজিশন API-এর সমস্ত বৈশিষ্ট্য সমর্থন করে না, এবং প্রিমিটিভগুলি উপলব্ধ রয়েছে তা নিশ্চিত করা গুরুত্বপূর্ণ।
কম্পনের আদিম সমর্থন পরীক্ষা করুন।
Vibrator.arePrimitivesSupported পদ্ধতি ব্যবহার করে Per-primitive সাপোর্ট পুনরুদ্ধার করা যেতে পারে। বিকল্পভাবে, Vibrator.areAllPrimitivesSupported পদ্ধতি ব্যবহার করে primitives এর একটি সেট একসাথে পরীক্ষা করা যেতে পারে - এটি per-primitive সাপোর্টকে AND -ing করার সমতুল্য।
VibrationEffect রচনার ব্যবহার
VibrationEffect কম্পোজিশন ব্যবহারের বিস্তারিত তথ্যের জন্য, ভাইব্রেশন কম্পোজিশন তৈরি করুন দেখুন।
অন-অফ, ওয়ান-শট এবং ওয়েভফর্ম কম্পন
অ্যান্ড্রয়েডে সমর্থিত ভাইব্রেশনের প্রাচীনতম ধরণ হল কনফিগারযোগ্য সময়কাল সহ সহজ ভাইব্রেটর অন-অফ প্যাটার্ন। এই API গুলি সাধারণত হ্যাপটিক্স ডিজাইন নীতির সাথে ভালভাবে সামঞ্জস্যপূর্ণ নয় কারণ এগুলি ব্যস্ত হ্যাপটিক্স তৈরি করতে পারে; শেষ অবলম্বন ছাড়া এগুলি এড়িয়ে চলুন।
অন-অফ কম্পনের জন্য সবচেয়ে সাধারণ ব্যবহারের ক্ষেত্রে হল বিজ্ঞপ্তি, যেখানে, যাই হোক না কেন, কিছু কম্পন কাঙ্ক্ষিত। তরঙ্গরূপ কম্পনগুলি অনন্যভাবে একটি প্যাটার্নকে অনির্দিষ্টকালের জন্য পুনরাবৃত্তি করতে দেয়, যেমনটি আপনি একটি রিংটোনের জন্য কল্পনা করতে পারেন।
এক-শট প্যাটার্ন বলতে N মিলিসেকেন্ডের জন্য একবার কম্পনকে বোঝায়।
দুই ধরণের তরঙ্গরূপের ধরণ রয়েছে:
- শুধুমাত্র সময়। এই ধরণের তরঙ্গরূপ হল পর্যায়ক্রমে ব্যয় করা সময়কাল এবং ব্যয় করা সময়কালের বর্ণনা। সময়কাল ব্যয় করা সময়কাল দিয়ে শুরু হয়। ফলস্বরূপ, তরঙ্গরূপের ধরণগুলি প্রায়শই শূন্য মান দিয়ে শুরু হয় যা তাৎক্ষণিকভাবে কম্পন শুরু করার ইঙ্গিত দেয়।
- সময় এবং প্রশস্ততা। এই ধরণের তরঙ্গরূপে প্রথম ফর্মের অন্তর্নিহিত অন-অফের পরিবর্তে প্রতিটি সময় চিত্রের সাথে মিলিত করার জন্য অতিরিক্ত প্রশস্ততা থাকে। তবে, এটি পরীক্ষা করা গুরুত্বপূর্ণ যে ডিভাইসটি প্রশস্ততা নিয়ন্ত্রণ সমর্থন করে যাতে কাঙ্ক্ষিত স্কেলিং অর্জন করা যায়।
সামঞ্জস্যতা এবং প্রয়োজনীয়তা
যেহেতু অন-অফ কম্পনগুলি কম্পনের প্রাচীনতম রূপ, তাই এই পৃষ্ঠায় পরে বর্ণিত হিসাবে, ভাইব্রেটর সহ প্রায় সমস্ত ডিভাইসে এগুলি সমর্থিত।
যেকোনো VibrationEffect বা পুরোনো স্টাইলের vibrate কল চালানোর জন্য, অ্যাপ ম্যানিফেস্টে VIBRATE অনুমতি প্রয়োজন।
তরঙ্গরূপে বিভিন্ন প্রশস্ততা মান ব্যবহার করার সময়, আমরা দৃঢ়ভাবে সুপারিশ করি যে ডিভাইসটি প্রশস্ততা নিয়ন্ত্রণ সমর্থন করে।
প্রশস্ততা নিয়ন্ত্রণ সমর্থনের জন্য পরীক্ষা করুন
অ্যামপ্লিটিউড কন্ট্রোল ছাড়া ডিভাইসগুলিতে নন-জিরো অ্যামপ্লিটিউড মানগুলি ১০০% পর্যন্ত রাউন্ড আপ করা হয়, তাই Vibrator.hasAmplitudeControl ব্যবহার করে সাপোর্ট উপস্থিত আছে কিনা তা পরীক্ষা করা গুরুত্বপূর্ণ। আরও বিস্তারিত জানার জন্য অ্যামপ্লিটিউড কন্ট্রোল দেখুন।
আপনার সতর্কতার সাথে বিবেচনা করা উচিত যে প্রশস্ততা নিয়ন্ত্রণ ছাড়াই আপনার প্রভাব পর্যাপ্ত মানের কিনা। স্পষ্টভাবে ডিজাইন করা অন-অফ ভাইব্রেশনে ফিরে যাওয়া আরও ভালো হতে পারে।
অন-অফ কম্পনের ব্যবহার
নতুন SDK লেভেলে, সমস্ত ভাইব্রেশন মোডগুলিকে একটি একক এক্সপ্রেসিভ VibrationEffect ক্লাসে একত্রিত করা হয়েছিল, যেখানে এই সহজ ভাইব্রেশনগুলি VibrationEffect.createOneshot বা VibrationEffect.createWaveform ব্যবহার করে তৈরি করা হয়।
বিজ্ঞপ্তি API গুলি
আপনার অ্যাপ বিজ্ঞপ্তিগুলি কাস্টমাইজ করার সময়, আপনি প্রতিটি বিজ্ঞপ্তি চ্যানেলের সাথে একটি প্যাটার্ন সংযুক্ত করতে নিম্নলিখিত API গুলির মধ্যে একটি ব্যবহার করতে পারেন:
- অ্যান্ড্রয়েডএক্স
- অ্যান্ড্রয়েড
এই সমস্ত ফর্মগুলি একটি মৌলিক অন-অফ ওয়েভফর্ম প্যাটার্ন গ্রহণ করে, যেমনটি আগে বর্ণিত হয়েছে, যেখানে প্রথম এন্ট্রি হল ভাইব্রেটর চালু করার আগে বিলম্ব।
সাধারণ ধারণা
উপরে বর্ণিত API পৃষ্ঠতল জুড়ে বেশ কয়েকটি ধারণা প্রযোজ্য।
ডিভাইসটিতে কি ভাইব্রেটর আছে?
আপনি context.getSystemService(Vibrator.class) থেকে একটি নন-নাল Vibrator ক্লাস পেতে পারেন। যদি ডিভাইসে ভাইব্রেটর না থাকে, তাহলে ভাইব্রেশন API গুলিতে কলের কোনও প্রভাব পড়বে না, তাই অ্যাপগুলিকে তাদের সমস্ত হ্যাপটিক্স কোনও শর্তে গেট করার প্রয়োজন নেই। তবে, প্রয়োজনে, একটি অ্যাপ্লিকেশন hasVibrator() কল করে নির্ধারণ করতে পারে যে এটি একটি আসল ভাইব্রেটর ( true ) নাকি একটি স্টাব ( false )।
ব্যবহারকারী কি স্পর্শ সংবেদনশীলতা নিষ্ক্রিয় করেছেন?
কিছু কাস্টম বাস্তবায়নের জন্য ব্যবহারকারী অ্যান্ড্রয়েডের টাচ ফিডব্যাক সেটিং সম্পূর্ণরূপে অক্ষম করেছেন কিনা তা ম্যানুয়ালি পরীক্ষা করার প্রয়োজন হতে পারে, এই ক্ষেত্রে টাচ ফিডব্যাক প্রভাবগুলি দমন করা উচিত। এই সেটিংটি HAPTIC_FEEDBACK_ENABLED কী ব্যবহার করে জিজ্ঞাসা করা যেতে পারে, যেখানে শূন্যের মান মানে অক্ষম।
কম্পনের বৈশিষ্ট্য
কম্পনের উদ্দেশ্য সম্পর্কে সিস্টেমকে অবহিত করার জন্য কম্পন বৈশিষ্ট্য (বর্তমানে AudioAttributes আকারে) প্রদান করা যেতে পারে। আপনার অ্যাপটি ব্যাকগ্রাউন্ডে থাকাকালীন কম্পন শুরু করার সময় এটি প্রয়োজন, কারণ ব্যাকগ্রাউন্ড ব্যবহারের জন্য শুধুমাত্র মনোযোগী হ্যাপটিক সমর্থিত।
AudioAttributes তৈরির বিষয়টি এর ক্লাস ডকুমেন্টেশনে অন্তর্ভুক্ত করা হয়েছে এবং এটিকে শব্দের পরিবর্তে কম্পন হিসাবে বিবেচনা করা উচিত।
নির্দেশিকা হিসেবে, বেশিরভাগ ক্ষেত্রে, কন্টেন্টের ধরণ হল CONTENT_TYPE_SONIFICATION , এবং এর ব্যবহার হতে পারে USAGE_ASSISTANCE_SONIFICATION এর মতো মান যেমন ফোরগ্রাউন্ডে টাচ ফিডব্যাকের জন্য, অথবা USAGE_ALARM মতো মান ব্যাকগ্রাউন্ডে অ্যালার্মের জন্য। অডিও ফ্ল্যাগ কম্পনের উপর কোন প্রভাব ফেলে না।
প্রশস্ততা নিয়ন্ত্রণ
যদি একটি ভাইব্রেটরের প্রশস্ততা নিয়ন্ত্রণ থাকে, তাহলে এটি বিভিন্ন তীব্রতার কম্পন চালাতে পারে। এটি সমৃদ্ধ হ্যাপটিক উৎপাদনের জন্য একটি গুরুত্বপূর্ণ ক্ষমতা, সেইসাথে ব্যবহারকারীকে ডিফল্ট হ্যাপটিক তীব্রতা নিয়ন্ত্রণের সুযোগ করে দেয়।
Vibrator.hasAmplitudeControl কল করে অ্যামপ্লিটিউড কন্ট্রোল সাপোর্ট পরীক্ষা করা যেতে পারে। যদি কোনও ভাইব্রেটরের অ্যামপ্লিটিউড সাপোর্ট না থাকে, তাহলে সমস্ত অ্যামপ্লিটিউড মান শূন্য/অ-শূন্য কিনা তার উপর ভিত্তি করে অফ/অন ম্যাপ করা হবে । ফলস্বরূপ, বিভিন্ন অ্যামপ্লিটিউড সহ সমৃদ্ধ হ্যাপটিক্স ব্যবহারকারী অ্যাপ্লিকেশনগুলিতে যদি ডিভাইসে অ্যামপ্লিটিউড কন্ট্রোলের অভাব থাকে তবে সেগুলি অক্ষম করার কথা বিবেচনা করা উচিত।
খামের প্রভাব সমর্থন
এনভেলপ ইফেক্ট সহ ভাইব্রেটরগুলি আরও গতিশীল এবং সূক্ষ্ম কম্পন তৈরিতে সহায়তা করে এবং সক্ষম করে, যা আরও সমৃদ্ধ হ্যাপটিক অভিজ্ঞতার জন্য তীব্রতা এবং তীক্ষ্ণতার উপর আরও সুনির্দিষ্ট নিয়ন্ত্রণ প্রদান করে। আপনার ডিভাইস এই বৈশিষ্ট্যটি সমর্থন করে কিনা তা নির্ধারণ করতে Vibration.areEnvelopeEffectsSupported ব্যবহার করুন। যদি এটি না করে, তাহলে এনভেলপ ভিত্তিক কম্পনগুলি উপেক্ষা করা হয়।