সংস্করণ: ১.২.১
সর্বশেষ হালনাগাদ: ২০২৪-০৬-১৪
কিংবদন্তি
| পণ্য ক্রিয়া | উন্নয়নমূলক পদক্ষেপ |
|---|---|
| "অবশ্যই" | বাধ্যতামূলক পণ্যের প্রয়োজনীয়তা |
| "উচিত" | ঐচ্ছিক সুপারিশ |
| "মে" | থাকলে ভালো |
সংক্ষিপ্ত বিবরণ
এই নথিতে একটি ChromeOS Compatible USB হেডসেটের জন্য প্রয়োজনীয় শর্তাবলী বর্ণনা করা হয়েছে। এই স্পেসিফিকেশনটি WWCB পণ্যের জন্য নয়, অথবা Chromebook-এর সাথে একত্রে ডিজাইন ও সার্টিফাই করা কোনো পণ্যের জন্যও নয়।
ইউএসবি
নিরাপত্তা
২.৪ গিগাহার্টজ ওয়্যারলেস ডংগল
- ২.৪ গিগাহার্টজ ওয়্যারলেস ডিভাইসটি শুধুমাত্র বক্সের সাথে আসা রিসিভারটির (ডঙ্গল) সাথেই স্বয়ংক্রিয়ভাবে পেয়ার হয়।
- হেডসেটকে অন্য রিসিভারের সাথে অথবা নতুন হেডসেটকে বিদ্যমান রিসিভারের সাথে যুক্ত করতে ব্যবহারকারীর পদক্ষেপ (ডিভাইসে অথবা অ্যাপের মাধ্যমে) প্রয়োজন।
- হেডসেট/রিসিভারের পেয়ারিং পরিবর্তন করার জন্য যদি কোনো অ্যাপের প্রয়োজন হয়, তবে অ্যাপটিকে অবশ্যই ChromeOS-এ চালাতে হবে, যেমন কোনো এক্সটেনশনের মাধ্যমে। অ্যাপটি WebUSB/WebHID ব্যবহার করে একটি ওয়েব অ্যাপও হতে পারে।
- যদি কোনো এক্সটেনশনের মাধ্যমে পেয়ারিং করা হয়, তবে এক্সটেনশনটির শুধুমাত্র ইউএসবি পোর্টে অ্যাক্সেস থাকতে হবে। কন্টেন্ট স্ক্রিপ্ট স্পষ্টভাবে নিষিদ্ধ।
ফার্মওয়্যার এবং সংযোগকারী
- হেডসেটকে অবশ্যই একটি সঠিক অডিও ইন্টারফেস (0x01) ডেসক্রিপ্টর সহ একটি অডিও ডিভাইস হিসাবে ঘোষণা করতে হবে।
- ইনপুট এবং আউটপুট টার্মিনাল উভয়ের জন্য একটি সংশ্লিষ্ট বর্ণনাকারী অবশ্যই থাকতে হবে।
- ইউএসবি অডিও ক্লাস (ইউএসি) টার্মিনাল টাইপ রিপোর্ট করার পরামর্শ দেওয়া হয়।
- হেডসেট (0x0402)
- স্পিকারফোন (0x0403-0x0405) .
- ইউএসবি অডিও ক্লাস (ইউএসি) টার্মিনাল টাইপ রিপোর্ট করার পরামর্শ দেওয়া হয়।
- ইনপুট এবং আউটপুট টার্মিনাল উভয়ের জন্য একটি সংশ্লিষ্ট বর্ণনাকারী অবশ্যই থাকতে হবে।
- যদি এতে কোনো বাটন থাকে, তবে এটিকে HID হিসেবে ঘোষণা করতে হবে।
- হেডসেটটিকে অবশ্যই WWCB ফার্মওয়্যার এবং কানেক্টরের প্রয়োজনীয়তা পূরণ করতে হবে।
সফটওয়্যার
ফর্ম্যাট
অনুগ্রহ করে অডিও ফরম্যাট দেখুন।
যে ডিভাইসে ইনপুট এবং আউটপুট উভয় অডিও ইন্টারফেস ডেসক্রিপ্টর আছে।
অডিও ইন্টারফেস বর্ণনাকারীর উদাহরণ
Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 0 iInterface 0
যদি ইনপুট এবং আউটপুটের স্যাম্পল রেট ভিন্ন হয়, তবে ডিভাইসটিকে অবশ্যই একই সময়ে ভিন্ন ভিন্ন স্যাম্পল রেটে প্লেব্যাক এবং ক্যাপচার সমর্থন করতে সক্ষম হতে হবে। অন্যথায়, ডিভাইসটিকে অবশ্যই AudioStreaming Interface Descriptor -> tSamFreq এ একই মান প্রতিফলিত করতে হবে।
৪৮কে ইউএসবি অডিও আউটপুট স্যাম্পল রেটের উদাহরণ
AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 2 bBitResolution 16 bSamFreqType 1 Discrete tSamFreq[ 0] 48000 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT(Output) bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive Usage Type Data৪৪.১কে ইউএসবি অডিও ইনপুট স্যাম্পল রেটের উদাহরণ
AudioStreaming Interface Descriptor: bLength 11 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bNrChannels 2 bSubframeSize 2 bBitResolution 16 bSamFreqType 1 Discrete tSamFreq[ 0] 44100 Endpoint Descriptor: bLength 9 bDescriptorType 5 bEndpointAddress 0x81 EP 1 In(Input) bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive Usage Type Data
এইচআইডি কোড
- প্রতিটি HID ইভেন্টের জন্য, এটি একবারে শুধুমাত্র একবারই একটি ইভেন্ট প্রেরণ করতে পারে।
- বাটনটি চাপলে সঠিক ইভেন্ট কোড এবং সংশ্লিষ্ট ইভেন্ট কোড পাওয়া উচিত।
- উদাহরণস্বরূপ, ভলিউম বাড়ান। evtest শুধুমাত্র একটি ভলিউম আপ ইভেন্ট পর্যবেক্ষণ করতে পারে এবং কোডটি অবশ্যই
KEY_VOLUME_UPহতে হবে।
- উদাহরণস্বরূপ, ভলিউম বাড়ান। evtest শুধুমাত্র একটি ভলিউম আপ ইভেন্ট পর্যবেক্ষণ করতে পারে এবং কোডটি অবশ্যই
- যদি নিম্নলিখিত কার্যকারিতাগুলি প্রদানের জন্য ডিজাইন করা কোনো ইন্টারফেস থাকে, তবে USB পেরিফেরালটিকে অবশ্যই USB.org HID স্পেসিফিকেশন অনুযায়ী সংশ্লিষ্ট HID ইভেন্টগুলি নির্গমন বা গ্রহণ সমর্থন করতে হবে।
ভোক্তা পৃষ্ঠা (0x0c)
| চাবির নাম | এইচআইডি ব্যবহারের আইডি | ব্যবহারের ধরণ |
|---|---|---|
KEY_PLAY | 0x0b0 | OOC |
KEY_PAUSE | 0x0b1 | OOC |
KEY_NEXTSONG | 0x0b5 | ওএসসি |
KEY_PREVIOUSSONG | 0x0b6 | ওএসসি |
KEY_STOPCD | 0x0b7 | ওএসসি |
KEY_PLAYPAUSE | 0x0cd | ওএসসি |
KEY_PREVIOUSSONG | 0x0b6 | ওএসসি |
KEY_MUTE | 0x0e2 | OOC |
KEY_VOLUMEUP | 0x0e9 | আরটিসি |
KEY_VOLUMEDOWN | 0x0ea | আরটিসি |
টেলিফোনি পৃষ্ঠা (0x0b)
| চাবির নাম | এইচআইডি ব্যবহারের আইডি | ব্যবহারের ধরণ |
|---|---|---|
| হুক সুইচ | 0x20 | OOC |
| রিংগার | 0x9e | OOC |
এলইডি পৃষ্ঠা (0x08)
| চাবির নাম | এইচআইডি ব্যবহারের আইডি | ব্যবহারের ধরণ |
|---|---|---|
| মূক | 0x09 | OOC |
| অফ-হুক | 0x17 | OOC |
| আংটি | 0x18 | OOC |
জ্যাক সনাক্তকরণ
যদি কোনো USB ডিভাইস USB Audio Class (UAC) সমর্থন না করে, তবে এটি ChromeOS সিস্টেম ট্রে-তে সর্বদা একটি আউটপুট নোড দেখাবে। তবে, যদি USB ডিভাইসটি UAC সমর্থন করে, তাহলে ডিভাইসটি প্রবেশ করালে সিস্টেমটি একটি 3.5mm অডিও জ্যাক সঠিকভাবে শনাক্ত করতে পারবে।
- ৩.৫ মিমি জ্যাকের জন্য CrOS-কে অবশ্যই উপস্থিতি সনাক্তকরণ ব্যবহার করতে হবে।
অডিও ফর্ম্যাট
| প্লেব্যাক | রেকর্ডিং | |
|---|---|---|
| নমুনা হার | ≥ ১৬ কিলোহার্টজ | ≥ ১৬ কিলোহার্টজ |
| ফর্ম্যাট | S16_LE | S16_LE |
- চ্যানেল নম্বর এবং কনফিগারেশন অবশ্যই সঠিক হতে হবে।
- হেডসেট দ্বারা সমর্থিত বলে ঘোষিত সমস্ত স্যাম্পলিং রেট সঠিকভাবে কাজ করতে হবে।
- পরিমাপকৃত হার এবং স্যাম্পলিং হারের মধ্যে পার্থক্য অবশ্যই ≤ ০.১% হতে হবে।
- পরিমাপকৃত হারের রৈখিক রিগ্রেশনের জন্য প্রমিত ত্রুটি অবশ্যই ৩০-এর কম হতে হবে।
হেডসেটটিকে অবশ্যই তার দাবিকৃত বিভিন্ন স্যাম্পল রেটে প্লেব্যাক বা ক্যাপচার সমর্থন করতে হবে।
উদাহরণস্বরূপ, ৪৪.১ কিলোহার্টজের নিচের অডিও চালান কিন্তু একই সাথে ৪৮ কিলোহার্টজের নিচের ভয়েস ক্যাপচার করুন।
- অন্যথায়, সিস্টেম সাইডে এটি প্রতিরোধ করার জন্য ChromeOS-কে একটি নির্দিষ্ট কনফিগারেশন ফাইল যোগ করতে হয়।
অডিও গুণমান
ক্যাপচার পাথ - মিউট
- ব্যবহারকারীদের অডিও ডিভাইসটি মিউট করার জন্য যদি কোনো ইন্টারফেস থাকে, তবে তা অবশ্যই
- এমনভাবে নীরব অবস্থা বজায় রাখুন যা নিম্নলিখিত বিষয়গুলো দ্বারা প্রভাবিত না হয়:
- ডিভাইসটি খোলা এবং বন্ধ করা।
- অন্য ইনপুট ডিভাইসে পরিবর্তন করা হচ্ছে।
- এমনভাবে নীরব অবস্থা বজায় রাখুন যা নিম্নলিখিত বিষয়গুলো দ্বারা প্রভাবিত না হয়:
- যদি ব্যবহারকারী হেডসেট বা ChromeOS-এর মিউট বাটন চাপেন, তাহলে মিউট অবস্থা অবশ্যই পরিবর্তিত হতে হবে।
- যদি মিউট অবস্থার পরিবর্তন হয়, তাহলে হেডসেটের মিউট অবস্থা নির্দেশক (যেমন: এলইডি) অবশ্যই পরিবর্তিত হতে হবে।
অডিও লেটেন্সি
বিলম্ব
- আউটপুট লেটেন্সি
- ব্যবহারকারীর কোনো পদক্ষেপের মাধ্যমে প্লেব্যাক শুরু হওয়ার ৫০০ মিলিসেকেন্ডের মধ্যে অডিও প্লেব্যাক অবশ্যই শুরু হতে হবে।
- যদি ডিভাইস প্রস্তুতকারক প্রমাণ করতে পারে যে এই শর্ত পূরণে ব্যর্থ হলেও কোনো প্রতিধ্বনি সৃষ্টি হয় না, তবে ছাড়ের জন্য অনুরোধ করা যেতে পারে।
- ব্যবহারকারীর কোনো পদক্ষেপের মাধ্যমে প্লেব্যাক শুরু হওয়ার ৫০০ মিলিসেকেন্ডের মধ্যে অডিও প্লেব্যাক অবশ্যই শুরু হতে হবে।
এ/ভি সিঙ্ক
- অডিও প্লেব্যাক ভিডিও প্লেব্যাকের সাথে সিঙ্ক্রোনাইজড হওয়া উচিত। অডিও প্লেব্যাক ভিডিওর চেয়ে ≤২৫ মিলিসেকেন্ড আগে অথবা ≤৯৫ মিলিসেকেন্ড পরে হতে পারে।
সংশোধনের ইতিহাস
| তারিখ | সংস্করণ | নোট |
|---|---|---|
| ২০২৪-০৬-১৪ | ১.২.১ | ChromeOS-এর সাথে সামঞ্জস্যপূর্ণ স্পেসিফিকেশন থেকে উদ্ভূত। অংশীদার সাইটে প্রাথমিক প্রকাশনা। |
| ২০২২-০৯-০১ | ১.২ | সম্পর্কিত WWCB স্পেসিফিকেশন v1.2 |
| ২০২২-০৬-০৬ | ১.১ | সম্পর্কিত WWCB স্পেসিফিকেশন v1.1 |
| ২০২০-০৯-২১ | ১.০ | সংশ্লিষ্ট WWCB স্পেসিফিকেশন তৈরি করা হয়েছে। |