ChromeOS 호환 - 스피커 마이크 사양 v1.3

버전: 1.3
최종 업데이트: 2024년 9월 6일

범례

제품 동사 개발 작업
'MUST' 필수 제품 요구사항
'SHOULD' 추천(선택사항)
'MAY' 참고사항

개요

이 문서에서는 ChromeOS 호환 USB+블루투스 스피커 마이크가 충족해야 하는 요구사항을 설명합니다. 이 사양은 WWCB 제품 또는 Chromebook과 함께 설계 및 인증된 제품에는 적용되지 않습니다.

USB

보안

2.4GHz 무선 동글

  • 2.4GHz 무선 기기는 상자에 포함된 수신기(dongle)와만 자동 페어링됩니다.
  • 헤드셋을 페어링하려면 기기에서 또는 앱을 통해 사용자의 작업이 필요합니다. 다른 수신기와 연결하거나 새 헤드셋을 기존 수신기와 페어링합니다.
  • 앱에서 헤드셋/수신기 페어링을 변경해야 하는 경우 앱은 확장 프로그램을 통해 ChromeOS에서 실행되어야 합니다. 앱이 WebUSB/WebHID를 사용하는 웹 앱일 수도 있습니다.
  • 페어링이 확장 프로그램을 통해 구현된 경우 확장 프로그램은 USB 포트에 액세스할 수 있어야 합니다. 콘텐츠 스크립트는 명시적으로 허용되지 않습니다.

펌웨어 및 커넥터

  • 헤드셋은 올바른 오디오 인터페이스가 있는 오디오 기기로 선언해야 합니다. (0x01) 설명자입니다.
    • 입력과 출력 모두에 해당하는 설명어가 하나 있어야 합니다. 터미널에 연결합니다.
      • USB 오디오 등급(UAC) 단말기 유형을 보고하는 것이 좋습니다.
  • 버튼이 있는 경우 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에 동일한 값을 반영해야 합니다. 인터페이스 설명자 -> tSamFreq

  • 48k USB 오디오 출력 샘플링 레이트의 예

    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
    
  • 44.1k USB 오디오 입력 샘플링 레이트의 예

    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 코드

  • 각 HID 이벤트의 경우 한 번에 하나의 이벤트만 전송할 수 있습니다.
  • 올바른 이벤트 코드와 해당 이벤트 코드는 버튼을 눌렀을 때
    • 예를 들어 볼륨을 올립니다. evtest는 볼륨 업 이벤트를 하나만 관찰할 수 있으며 코드는 KEY_VOLUME_UP여야 합니다.
  • 다음 기능을 제공하도록 설계된 인터페이스가 있는 경우 USB 주변기기가 해당 HID를 방출 또는 수신할 수 있도록 지원해야 합니다. USB.org HID에 따른 이벤트 사양을 참조하세요.
소비자 페이지(0x0c)
키 이름 HID 사용 ID 사용 유형
KEY_PLAY 0x0b0 OOC
KEY_PAUSE 0x0b1 OOC
KEY_NEXTSONG 0x0b5 OSC
KEY_PREVIOUSSONG 0x0b6 OSC
KEY_STOPCD 0x0b7 OSC
KEY_PLAYPAUSE 0x0cd OSC
KEY_PREVIOUSSONG 0x0b6 OSC
KEY_MUTE 0x0e2 OOC
KEY_VOLUMEUP 0x0e9 RTC
KEY_VOLUMEDOWN 0x0ea RTC
전화 페이지(0x0b)
키 이름 HID 사용 ID 사용 유형
후크 스위치 0x20 OOC
벨소리 장치 0x9e OOC
LED 페이지(0x08)
키 이름 HID 사용 ID 사용 유형
음소거 0x09 OOC
Off-Hook 0x17 OOC
벨소리 0x18 OOC

잭 감지

USB 기기가 USB 오디오 클래스 (UAC)를 지원하지 않는 경우 항상 출력 노드를 실행합니다. 그러나 USB 기기가 UAC를 지원하는 경우 시스템은 기기가 삽입될 때 3.5mm 오디오 잭을 올바르게 감지할 수 있습니다.

  • CrOS는 3.5mm 잭에 인기척 감지를 사용해야 함 <ph type="x-smartling-placeholder">
      </ph>
    • 다음 중 하나를 통해 삽입 감지를 수행해야 합니다. <ph type="x-smartling-placeholder">

일반 블루투스 요구사항

ChromeOS 호환 - 블루투스 사양을 참고하세요.

오디오 형식

재생 녹화
샘플링 레이트 16kHz 이상 16kHz 이상
형식 S16_LE S16_LE
  • 채널 번호와 구성이 정확해야 합니다.
  • 헤드셋에서 지원한다고 선언하는 모든 샘플링 레이트가 올바르게 작동해야 합니다.
    • 측정된 비율과 샘플링 비율 간의 편차는 0.1% 이하여야 합니다.
    • 측정된 비율의 선형 회귀에 대한 표준 오차는 < 30.
  • 헤드셋이 다른 샘플링 레이트에서 재생 또는 캡처를 지원해야 합니다. 지원합니다

    예를 들어 44.1kHz 미만에서 오디오를 재생하지만 음성은 48kHz 미만에서 캡처합니다. 동시에 사용할 수 있습니다.

    • 그러지 않으면 ChromeOS에서 시스템 측에서 이를 방지하기 위해 특정 구성 파일을 추가해야 합니다.

오디오 품질

Capture Path - Mute

  • 사용자가 오디오 기기를 음소거할 수 있는 인터페이스가 있는 경우 <ph type="x-smartling-placeholder">
      </ph>
    • 다음에 영향을 받지 않는 방식으로 음소거 상태를 유지합니다. <ph type="x-smartling-placeholder">
        </ph>
      • 기기 열기 및 닫기
      • 다른 입력 기기로 전환합니다.
  • 사용자가 헤드셋이나 ChromeOS에서 음소거 버튼을 누르면 음소거 상태가 변경되어야 합니다.
  • 음소거 상태가 변경되면 기기의 음소거 상태 표시기 (예:LED)가 헤드셋을 바꿔야 합니다.

오디오 지연 시간

지연 시간

  • 출력 지연 시간 <ph type="x-smartling-placeholder">
      </ph>
    • 오디오 재생은 재생을 시작하는 사용자 작업 후 500밀리초 이내에 시작되어야 합니다.
      • 기기 OEM이 이 요구사항을 충족하지 못할 때 에코가 발생하지 않는다고 입증할 수 있는 경우 면제를 요청할 수 있습니다.

A/V 동기화

  • 오디오 재생은 동영상 재생과 동기화되어야 합니다. 오디오 재생이 동영상보다 25밀리초(ms)까지 앞설 수 있고 95밀리초(ms)까지 뒤처질 수 있습니다.
</ph>

업데이트 기록

날짜 버전 참고
2024-09-06 1.3 ChromeOS 호환 사양이 파생되었습니다. 최초 파트너 사이트 게시
2022-09-14 1.2 v1.2로 업데이트되었습니다.
2022-08-19 1.1 v1.1로 업데이트되었습니다.
2022-08-18 1.0 관련 WWCB 사양이 생성되었습니다.