Bluetooth LE(저에너지) 오디오

이 문서에서는 Windows 11 버전 22H2(KB5026446)에 도입된 Bluetooth LE 오디오에 대한 개요를 제공합니다.

소개

Bluetooth LE 오디오를 사용하면 등시 전송을 통해 유니캐스트 또는 브로드캐스트 오디오를 Bluetooth LE 디바이스로 스트리밍할 수 있습니다. Bluetooth 코어 사양 버전 5.3부터 호스트 플랫폼이 Bluetooth 컨트롤러와 상호 연결된 데이터를 보내고 받을 수 있는 표준 HCI(호스트 컨트롤러 인터페이스)가 없습니다. 이 문서에서는 플랫폼이 공급업체별 솔루션을 사용하여 Bluetooth LE 오디오 스트리밍을 사용하도록 설정할 수 있도록 Windows Bluetooth 공급업체 VSAP(특정 오디오 경로)를 정의합니다. VSAP 소프트웨어 인터페이스는 이 문서에 정의된 Windows ACX( 오디오 클래스 확장 ) 및 더 많은 인터페이스 속성을 사용합니다.

용어 및 필수 구성 요소

이 표에 정의된 용어 외에도 이 문서에서는 Windows 오디오 클래스 확장에서 정의한 용어도 참조합니다.

용어 정의
LE 오디오 Bluetooth LE 오디오용 Short
클래식 오디오 HFP(핸즈프리 프로필) 및 고급 오디오 배포 프로필(A2DP)을 사용하는 Bluetooth 오디오 스트리밍
오디오 디바이스 단일 원격 Bluetooth LE 오디오 디바이스 또는 Windows 관점에서 단일 오디오 엔드포인트를 함께 구성하는 Bluetooth LE 오디오 디바이스 세트입니다.
Bap 기본 오디오 프로필은 디바이스가 BLUEtooth LE(저에너지) 통신을 사용하여 오디오를 배포하고 사용하는 방법을 정의합니다.
TMAP 전화 통신 및 미디어 오디오 프로필은 하위 수준의 오디오 서비스 및 프로필의 상호 운용 가능한 구성을 지정합니다.
ASCS 오디오 스트림 제어 서비스는 Bluetooth LE 오디오 디바이스가 유니캐스트 오디오 스트림을 구성하고 설정하는 표준 방법을 정의합니다.
Pac 게시된 오디오 기능 서비스는 Bluetooth LE 오디오 디바이스가 지원되는 오디오 코덱 기능을 보고하는 표준 방법을 정의합니다.
CIS 연결된 등시 스트림 전송은 Bluetooth LE 디바이스 간에 유니캐스트 오디오 데이터를 보내고 받는 데 사용됩니다.
BIS 브로드캐스트 등시 스트림 전송은 연결 없는 오디오 데이터 전송에 사용됩니다.
ACX 모든 오디오 드라이버가 Windows의 Bluetooth LE 오디오를 지원하는 데 필요한 드라이버 모델인 오디오 클래스 확장의 경우 짧습니다.
스트리밍 회로 해당 스트리밍 경로에 대해 공급업체별 오디오 드라이버 스택에서 만든 하나 이상의 ACXCIRCUIT 개체입니다.
프로필 회로 Windows의 Bluetooth LE Audio 프로필 구현에서 만든 ACXCIRCUIT 개체입니다. 이 ACXCIRCUIT 은 ACX 사양에 정의된 헤드 회로 역할을 하며 스트리밍 회로가 아닙니다.

이 문서에서는 Bluetooth Core 5.3 사양에 정의된 이전에 정의된 용어 및 다음 HCI 명령에 대해 잘 알고 있다고 가정합니다.

  • HCI_Read_Local_Supported_Codecs(v2)
  • HCI_Read_Local_Supported_Codec_Capabilities
  • HCI_LE_Set_CIG_Parameters
  • HCI_LE_Create_CIS
  • HCI_Configure_Data_Path
  • HCI_LE_Setup_ISO_Data_Path
  • HCI_LE_Remove_ISO_Data_Path
  • HCI_LE_Remove_CIG

Bluetooth LE 오디오 VSAP를 사용하려면 오디오 드라이버가 ACX 프레임워크를 사용해야 합니다. Bluetooth LE Audio용 ACX를 채택하면 다음과 같은 몇 가지 이점이 있습니다.

  • 앞으로 Windows용 기본 오디오 드라이버 모델을 지원합니다.
  • 드라이버 간에 전용 DDI를 요구하지 않고 다중 스택 오디오 솔루션에 대한 ACX의 기본 지원을 사용합니다.
  • IHV 오디오 드라이버가 오디오 시스템에서 Bluetooth 스택으로 요청을 릴레이할 필요가 없습니다. 대신 ACX는 프로필 회로를 통해 Bluetooth 스택에 직접 요청을 보낼 수 있습니다.

아키텍처

정의

다음 구성 요소는 다양한 VSAP 아키텍처 변형에 관련되어 있습니다.

Windows ACX 프레임워크

이 구성 요소를 사용하면 다중 스택 오디오 엔드포인트를 지원할 수 있습니다. Bluetooth LE Audio의 경우 오디오 엔드포인트를 구성하는 소프트웨어 구성 요소는 공급업체별 오디오 드라이버 스택 및 Windows Bluetooth LE 오디오 프로필입니다.

공급업체별 오디오 드라이버 스택

이 공급업체별 구성 요소는 공급업체에서 정의한 오디오 인터페이스를 통해 Bluetooth 컨트롤러와 Bluetooth LE 오디오 데이터를 보내고 받는 역할을 담당합니다. 수신 및 발신 오디오 데이터를 관리하기 위해 최소한 ACX 스트리밍 드라이버로 구성됩니다. 다중 회로 ACX 오디오 엔드포인트의 필요한 부분인 경우 더 많은 ACX 드라이버가 포함될 수 있습니다. 이 구성 요소를 이 문서에서 IHV ACX 스트리밍 드라이버라고도 합니다.

Windows Bluetooth LE 오디오 프로필

이 구성 요소에는 BAP(기본 오디오 프로필), 볼륨 제어 프로필 및 마이크 컨트롤 프로필의 구현이 포함되어 있습니다. 각 Bluetooth LE 오디오 디바이스 또는 Windows에 페어링된 디바이스 집합에 대한 헤드 ACXCIRCUIT 를 만들고, 원격 디바이스 및 Bluetooth 컨트롤러에서 보고하는 오디오 형식을 보고하고, 등시 채널 및 그룹의 상태를 관리합니다.

Windows Bluetooth 코어 스택

이 구성 요소는 Windows Bluetooth LE 오디오 프로필이 로컬 Bluetooth 컨트롤러에서 지원되는 코덱 기능을 쿼리하고 등시 채널 및 그룹의 상태를 관리할 수 있도록 하는 인터페이스를 제공합니다.

LC3 코덱

이 하위 구성 요소는 압축된 LC3 오디오와 PCM 오디오 간 변환을 담당합니다. 인코딩 및 디코딩 기능을 모두 지원하며, 소프트웨어에서 VSAP(공급업체별 오디오 드라이버) 스택의 일부로 또는 오디오 DSP 또는 Bluetooth 컨트롤러의 일부로 하드웨어에서 구현될 수 있습니다. 이 다이어그램은 Bluetooth SIG에서 지원하는 표준 코덱이므로 이름으로 LC3을 언급합니다. 그러나 Windows에서 지원하는 향후 코덱 및 공급업체별 코덱도 비슷한 방식으로 아키텍처에 통합될 수 있습니다.

아키텍처 변형

Bluetooth LE Audio VSAP 아키텍처는 스트리밍을 위해 다양한 변형을 지원합니다.

  1. 오디오 오프로드 없이 Bluetooth LE 오디오 스트리밍 사이드밴드
  2. 오디오 오프로드가 있는 사이드밴드 Bluetooth LE 오디오 스트리밍
  3. 공급업체별 인밴드 Bluetooth LE 오디오 스트리밍

다음 다이어그램에서 음영 처리된 구성 요소는 IHV에서 제공되고 섀딩되지 않은 구성 요소는 OS에서 제공합니다.

오디오 오프로드가 없는 사이드밴드 Bluetooth LE 오디오 아키텍처

사이드밴드 아키텍처는 공급업체별 오디오 인터페이스를 사용하여 오디오 드라이버 스택이 Bluetooth 컨트롤러에 오디오 데이터를 보내고 받을 수 있도록 합니다. 이 데이터 경로는 유니캐스트 클라이언트와 원격 유니캐스트 서버 간의 메시지 신호와 같은 다른 Bluetooth 데이터에 사용되는 HCI 데이터 경로와는 별개입니다. 다음 다이어그램은 LC3 코덱이 Bluetooth 컨트롤러에서 호스트되는 사이드밴드 아키텍처를 모델링합니다. 소프트웨어 인코딩 및 디코딩을 위해 공급업체별 오디오 드라이버 스택의 일부로 LC3 코덱을 호스트하는 것도 유효합니다. 이 경우 Bluetooth 컨트롤러로 전송되는 오디오는 PCM 오디오 대신 LC3 오디오 프레임으로 포맷됩니다.

다음 다이어그램은 Bluetooth 컨트롤러에 LC3 코덱이 있는 사이드밴드 Bluetooth LE 오디오 아키텍처를 보여줍니다.

Bluetooth 컨트롤러에 있는 LC3 코덱이 있는 사이드밴드 Bluetooth LE 오디오 아키텍처 다이어그램

다음 다이어그램은 오디오 드라이버 스택에 LC3 코덱이 있는 사이드밴드 Bluetooth LE 오디오 아키텍처를 보여 줍니다.

오디오 드라이버 스택에 있는 LC3 코덱이 있는 사이드밴드 Bluetooth LE 오디오 아키텍처 다이어그램

오디오 오프로드가 있는 사이드밴드 Bluetooth LE 오디오 아키텍처

오디오 오프로드가 있는 사이드밴드 아키텍처에는 절전 이점을 제공하는 Bluetooth LE 오디오 스트리밍 솔루션을 제공하는 오디오 DSP 하드웨어 구성 요소가 포함되어 있습니다. 다음 다이어그램에서는 Bluetooth 컨트롤러의 LC3 코덱과 오디오 DSP의 코덱을 사용하여 가능한 아키텍처를 보여 줍니다.

다음 다이어그램은 Bluetooth 컨트롤러에 LC3 코덱이 있는 오디오 오프로드 아키텍처가 있는 사이드밴드 Bluetooth LE Audio를 보여줍니다.

Bluetooth 컨트롤러의 LC3 코덱을 특징으로 하는 오디오 오프로드 아키텍처가 있는 사이드밴드 Bluetooth LE 오디오 다이어그램.

다음 다이어그램은 오디오 DSP에 LC3 코덱이 있는 오디오 오프로드 아키텍처가 있는 사이드밴드 Bluetooth LE Audio를 보여 줍니다.

오디오 DSP의 LC3 코덱을 특징으로 하는 오디오 오프로드 아키텍처가 있는 사이드밴드 Bluetooth LE 오디오 다이어그램.

공급업체별 인밴드 Bluetooth LE 오디오 아키텍처

VSAP 인밴드 아키텍처를 사용하면 사용자 지정 파이프라인이 공급업체별 오디오 드라이버 스택에서 Bluetooth 컨트롤러의 HCI로 Bluetooth LE 오디오 데이터를 보내고 받을 수 있습니다. 이 아키텍처에는 새 구성 요소인 "IHV ISO 병합 구성 요소"가 포함됩니다. 이 구성 요소는 ISO 데이터에 대한 흐름 제어를 관리합니다. 또한 HCI 명령을 보내야 하는 경우 Windows Bluetooth Core Stack과 HCI 명령 흐름 제어를 공유해야 합니다.

다음 다이어그램은 공급업체별 인밴드 Bluetooth LE 오디오 아키텍처를 보여줍니다.

공급업체별 인밴드 Bluetooth LE 오디오 아키텍처 다이어그램

자세한 디자인

오디오 형식 요구 사항

오디오 프레임 기간

Bluetooth LE 오디오 프로필을 사용하면 구현에서 오디오 프레임 기간이 7.5밀리초 또는 10밀리초인 오디오 스트리밍을 지원할 수 있습니다. Windows에는 Bluetooth LE Audio 액세서리 장치와의 상호 운용성 및 시스템에 연결된 다른 Bluetooth LE 디바이스와의 품질 공존을 보장하기 위해 프레임 기간을 모두 지원하기 위해 IHV에서 제공하는 코덱이 필요합니다.

신호 처리 모드 정의

Bluetooth LE Audio는 다양한 사용자 시나리오를 지원하기 위해 다양한 스트리밍 형식을 지원합니다. BAP 및 TMAP 사양은 인증에 대해 지원되는 필수 형식을 정의합니다. Windows는 오디오 신호 처리 모드를 적용하여 시스템에서 수행하는 시나리오와 사용할 형식의 상관 관계를 지정합니다. Bluetooth LE Audio를 지원하는 오디오 드라이버는 다음 표의 신호 처리 모드 및 형식에 대한 지원을 나타내야 합니다. 또한 Bluetooth LE Audio는 원시 신호 처리 모드를 지원하지 않으므로 오디오 드라이버는 이 모드에 대해 지원되는 형식을 보급하지 않습니다.

스트림 오디오 신호 처리 모드 렌더링

Bluetooth LE 오디오를 사용하려면 다음 신호 처리 모드에 대해 렌더링 오디오 형식을 선언해야 합니다.

  • 기본값(AUDIO_SIGNALPROCESSINGMODE_DEFAULT)
    • 이 모드는 음악 재생, 알림 및 비디오 게임 오디오와 같은 단방향 렌더링 시나리오에 사용됩니다.
  • 통신(AUDIO_SIGNALPROCESSINGMODE_COMMUNICATIONS)
    • 이 모드는 음성 통화와 같은 양방향 시나리오에 사용됩니다.

다음 표는 각 사용 사례 및 신호 처리 모드에 대한 형식 목록입니다. 오디오 형식은 가장 선호도에서 최소 선호도로 정렬됩니다.

스테레오 디바이스 또는 조정된 디바이스 세트에 연결된 경우 시스템 소리, 음악 재생 및 비디오 게임 오디오

신호 처리 모드: 기본값

샘플링 빈도 채널 수 비트 깊이 프레임 기간 오디오 데이터 속도 BAP 코덱 구성 ID(BAP 사양 표 3.11)
48kHz 2 16 7.5ms 96kbps 48_3
48kHz 2 16 7.5ms 80kbps 48_1
48kHz 2 16 10ms 96kbps 48_4
48kHz 2 16 10ms 80kbps 48_2
24kHz 2 16 7.5ms 48kbps 24_1
24kHz 2 16 10ms 48kbps 24_2
조정된 세트의 단일 멤버(단일 이어버드 또는 보청기)에 연결된 경우 시스템 소리, 음악 재생 및 비디오 게임 오디오

신호 처리 모드: 기본값

샘플링 빈도 채널 수 비트 깊이 프레임 기간 오디오 데이터 속도 BAP 코덱 구성 ID(BAP 사양 표 3.11)
48kHz 1 16 7.5ms 96kbps 48_3
48kHz 1 16 7.5ms 80kbps 48_1
48kHz 1 16 10ms 96kbps 48_4
48kHz 1 16 10ms 80kbps 48_2
24kHz 1 16 7.5ms 48kbps 24_1
24kHz 1 16 10ms 48kbps 24_2
16KHz 1 16 7.5ms 32kbps 16_1
16KHz 1 16 10ms 32kbps 16_2
음성 채팅을 사용하여 음성 녹음기, VOIP 통화 또는 비디오 게임 오디오 렌더링

신호 처리 모드: 통신

샘플링 빈도 채널 수 비트 깊이 프레임 기간 오디오 데이터 속도 BAP 코덱 구성 ID(BAP 사양 표 3.11)
32kHz 1 16 7.5ms 64kbps 32_1
32kHz 1 16 10ms 64kbps 32_2
24kHz 1 16 7.5ms 48kbps 24_1
24kHz 1 16 10ms 48kbps 24_2
16KHz 1 16 7.5ms 32kbps 16_1
16KHz 1 16 10ms 32kbps 16_2
스트림 오디오 신호 처리 모드 캡처

Bluetooth LE 오디오를 사용하려면 기본(AUDIO_SIGNALPROCESSINGMODE_DEFAULT) 신호 처리 모드에 대해 캡처 오디오 형식을 선언해야 합니다. 지원되는 캡처 형식 목록은 다음 표에 나와 있습니다.

오디오 형식은 가장 선호되는 것에서 가장 선호도가 가장 낮은 형식으로 정렬됩니다.

음성 채팅을 사용하여 음성 녹음기, VOIP 통화 또는 비디오 게임 오디오 캡처

신호 처리 모드: 기본값

샘플링 빈도 채널 수 비트 깊이 프레임 기간 오디오 데이터 속도 BAP 코덱 구성 ID(BAP 사양 표 3.11)
32kHz 1 16 7.5ms 64kbps 32_1
32kHz 1 16 10ms 64kbps 32_2
24kHz 1 16 7.5ms 48kbps 24_1
24kHz 1 16 10ms 48kbps 24_2
16KHz 1 16 7.5ms 32kbps 16_1
16KHz 1 16 10ms 32kbps 16_2

정의된 스트림 구성 및 토폴로지

렌더링 전용 구성
기본 오디오 프로필 구성 1

다음 오디오 구성은 Bluetooth BAP 사양의 표 4.1에 정의되어 있습니다.

기본 오디오 프로필 구성 1을 보여 주는 다이어그램

PC는 모노 스트림을 지원하는 단일 오디오 디바이스에 연결됩니다. 단일 디바이스는 독립 실행형 디바이스 또는 조정된 집합의 단일 연결된 멤버일 수 있습니다.

사용 사례 예제 Windows 오디오 설정 Bluetooth 컨트롤러 설정
미디어 재생 렌더링:
신호 처리 모드: 기본값
채널 수: 1
캡처: 없음
CIS 수: 1
CIG 수: 1
BAP QoS 설정: 높은 안정성
오디오 장치에서 마이크가 없는 음성 통화 렌더링:
신호 처리 모드: 통신
채널 수: 1
캡처: 없음
CIS 수: 1
CIG 수: 1
BAP QoS 설정: 짧은 대기 시간
비디오 게임 재생 렌더링:
신호 처리 모드: 기본값
채널 수: 1
캡처: 없음
CIS 수: 1
CIG 수: 1
BAP QoS 설정: 짧은 대기 시간
기본 오디오 프로필 구성 4

다음 오디오 구성은 Bluetooth BAP 사양의 표 4.1에 정의되어 있습니다.

기본 오디오 프로필 구성 4를 보여 주는 다이어그램

PC는 스테레오 스트림을 지원하는 단일 오디오 디바이스에 연결됩니다. 오디오 디바이스는 단일 CIS에서 두 개의 오디오 채널을 처리할 수 있습니다.

사용 사례 예제 Windows 오디오 설정 Bluetooth 컨트롤러 설정
미디어 재생 렌더링: 신호 처리 모드: 기본값
채널 수: 2
캡처: 없음
CIS 수: 1
CIG 수: 1
BAP QoS 설정: 높은 안정성 오디오 채널 할당: 앞 왼쪽 및 앞 오른쪽
비디오 게임 재생 신호 처리 모드: 기본값
채널 수: 2
캡처: 없음
CIS 수: 1
CIG 수: 1
BAP QoS 설정: 짧은 대기 시간
오디오 채널 할당: 왼쪽 앞과 오른쪽 앞
기본 오디오 프로필 구성 6(i)

다음 오디오 구성은 Bluetooth BAP 사양의 표 4.1에 정의되어 있습니다.

기본 오디오 프로필 구성 6 I를 보여 주는 다이어그램

PC는 스테레오 스트림을 지원하는 단일 오디오 디바이스에 연결됩니다. 오디오 디바이스는 두 CIS 각각에서 하나의 오디오 채널만 처리할 수 있습니다.

사용 사례 예제 Windows 오디오 설정 Bluetooth 컨트롤러 설정
미디어 재생 신호 처리 모드: 기본값
채널 수: 2
캡처: 없음
CIS 수: 2
CIG 수: 1
BAP QoS 설정: 높은 안정성
오디오 장치에서 마이크가 없는 음성 통화 신호 처리 모드: 통신
채널 수: 1
캡처: 없음
CIS 수: 2
CIG 수: 1
BAP QoS 설정: 짧은 대기 시간
오디오 채널 할당: 왼쪽 앞 또는 오른쪽 앞
비디오 게임 재생 신호 처리 모드: 기본값
채널 수: 2
캡처: 없음
CIS 수: 2
CIG 수: 1
BAP QoS 설정: 짧은 대기 시간
오디오 채널 할당: 왼쪽 앞과 오른쪽 앞
기본 오디오 프로필 구성 6(ii)

다음 오디오 구성은 Bluetooth BAP 사양의 표 4.1에 정의되어 있습니다.

기본 오디오 프로필 구성 6 II를 보여 주는 다이어그램

PC는 조정된 오디오 장치 세트에 연결됩니다. 이 집합은 각 멤버가 단일 채널을 처리하는 두 개의 오디오 채널을 처리할 수 있습니다.

사용 사례 예제 Windows 오디오 설정 Bluetooth 컨트롤러 설정
미디어 재생 신호 처리 모드: 기본값
채널 수: 2
캡처: 없음
CIS 수: 2
CIG 수: 1
BAP QoS 설정: 높은 안정성
두 장치에서 마이크가 없는 음성 통화 신호 처리 모드: 통신
채널 수: 1
캡처: 없음
CIS 수: 2
CIG 수: 1
BAP QoS 설정: 짧은 대기 시간
비디오 게임 재생 신호 처리 모드: 기본값
채널 수: 2
캡처: 없음
CIS 수: 2
CIG 수: 1
BAP QoS 설정: 짧은 대기 시간
양방향 구성

양방향 구성은 Bluetooth LE Audio 프로필이 애플리케이션이 캡처 및 렌더링 스트림을 원격 디바이스 또는 디바이스 집합에 모두 만들려는 것을 감지할 때 사용됩니다. 애플리케이션은 스트림을 별도로 캡처 및 렌더링하므로 IHV 오디오 드라이버 및 Bluetooth 컨트롤러는 HCI 명령 데이터 경로 구성 및 LE 설치 ISO 데이터 경로를 사용하여 프로비전된 후 양방향 CIS의 단일 방향으로 오디오가 흐르도록 허용해야 합니다.

기본 오디오 프로필 구성 3

다음 오디오 구성은 Bluetooth BAP 사양의 표 4.1에 정의되어 있습니다.

기본 오디오 프로필 구성 3을 보여 주는 다이어그램

PC는 단일 CIS에 양방향 모노 스트림이 설정된 단일 오디오 디바이스에 연결됩니다.

사용 사례 Windows 오디오 설정 Bluetooth 컨트롤러 설정
음성 통화 렌더링:
신호 처리 모드: 통신
채널 수: 1
캡처:
신호 처리 모드: 기본값
채널 수: 1
CIS 수: 1
CIG 수: 1
BAP QoS 설정: 짧은 대기 시간
음성 채팅을 사용하여 비디오 게임 재생 렌더링:
신호 처리 모드: 통신
채널 수: 1
캡처:
신호 처리 모드: 기본값
채널 수: 1
CIS 수: 1
CIG 수: 1
BAP QoS 설정: 짧은 대기 시간
기본 오디오 프로필 구성 8(i)

다음 오디오 구성은 Bluetooth BAP 사양의 표 4.1에 정의되어 있습니다.

기본 오디오 프로필 구성 8 I를 보여 주는 다이어그램

PC는 스테레오 렌더링 스트림 및 모노 캡처 스트림을 지원하는 단일 오디오 디바이스에 연결됩니다. 디바이스는 지정된 방향에 대해 단일 CIS에서 하나의 오디오 채널을 처리할 수 있습니다.

사용 사례 Windows 오디오 설정 Bluetooth 컨트롤러 설정
음성 통화 렌더링:
신호 처리 모드: 통신
채널 수: 1
캡처:
신호 처리 모드: 기본값
채널 수: 1
CIS 수: 2
CIG 수: 1
BAP QoS 설정: 짧은 대기 시간
음성 채팅을 사용하여 비디오 게임 재생 렌더링:
신호 처리 모드: 통신
채널 수: 2
캡처:
신호 처리 모드: 기본값
채널 수: 1
CIS 수: 2
CIG 수: 1
BAP QoS 설정: 짧은 대기 시간
기본 오디오 프로필 구성 8(ii)

다음 오디오 구성은 Bluetooth BAP 사양의 표 4.1에 정의되어 있습니다.

기본 오디오 프로필 구성 8 II를 보여 주는 다이어그램

PC는 조정된 오디오 장치 세트에 연결됩니다. 각 집합 멤버는 하나의 렌더링 오디오 채널을 수신합니다. 단일 집합 멤버에는 설정된 캡처 스트림이 있습니다. 캡처 스트림이 있는 집합 멤버는 캡처 스트림도 지원하는 PC에 연결하는 첫 번째 집합 멤버입니다.

사용 사례 Windows 오디오 설정 Bluetooth 컨트롤러 설정
음성 통화 렌더링:
신호 처리 모드: 통신
채널 수: 1
캡처:
신호 처리 모드: 기본값
채널 수: 1
CIS 수: 2
CIG 수: 1
BAP QoS 설정: 짧은 대기 시간
음성 채팅을 사용하여 비디오 게임 재생 렌더링:
신호 처리 모드: 통신
채널 수: 2
캡처:
신호 처리 모드: 기본값
채널 수: 1
CIS 수: 2
CIG 수: 1
BAP QoS 설정: 짧은 대기 시간
캡처 전용 구성
기본 오디오 프로필 구성 2

다음 오디오 구성은 Bluetooth BAP 사양의 표 4.1에 정의되어 있습니다.

기본 오디오 프로필 구성 2를 보여 주는 다이어그램

PC는 모노 캡처 스트림을 지원하는 단일 오디오 디바이스에 연결됩니다.

사용 사례 Windows 오디오 설정 Bluetooth 컨트롤러 설정
디바이스에 스피커가 없는 음성 통화 렌더링: 없음
캡처:
신호 처리 모드: 기본값
채널 수: 1
CIS 수: 1
CIG 수: 1
BAP QoS 설정: 짧은 대기 시간
기본 오디오 프로필 구성 9(i)

다음 오디오 구성은 Bluetooth BAP 사양의 표 4.1에 정의되어 있습니다.

기본 오디오 프로필 구성 9 I를 보여 주는 다이어그램

PC는 스테레오 오디오 데이터 전송을 지원하는 단일 오디오 디바이스에 연결됩니다. 디바이스는 단일 CIS에서 한 채널의 오디오를 인코딩할 수 있습니다.

사용 사례 Windows 오디오 설정 Bluetooth 컨트롤러 설정
다중 채널 마이크 캡처 렌더링: 없음
캡처:
신호 처리 모드: 기본값
채널 수: 1
CIS 수: 2
CIG 수: 1
BAP QoS 설정: 짧은 대기 시간
기본 오디오 프로필 구성 9(ii)

PC는 모노 캡처 스트림을 지원하는 단일 오디오 디바이스에 연결됩니다.

다음 오디오 구성은 Bluetooth BAP 사양의 표 4.1에 정의되어 있습니다.

PC가 단일 오디오 디바이스에 연결된 기본 오디오 프로필 구성 9(ii)을 보여 주는 다이어그램

PC는 오디오 디바이스 집합에 연결됩니다. 각 집합 멤버는 한 채널의 오디오를 PC로 보냅니다.

사용 사례 Windows 오디오 설정 Bluetooth 컨트롤러 설정
다중 채널 마이크 캡처 렌더링: 없음
캡처:
신호 처리 모드: 기본값
채널 수: 1
CIS 수: 2
CIG 수: 1
BAP QoS 설정: 짧은 대기 시간

원격 디바이스 또는 디바이스 집합이 양방향 오디오를 지원하는 경우 캡처 전용 스트림에 대한 구성은 양방향 구성과 동일합니다. 이렇게 하면 스트림을 다시 만들지 않고도 캡처 전용 시나리오에서 양방향 시나리오로 전환할 수 있습니다.

데이터 구조

Microsoft에서 정의한 Bluetooth LE 오디오 인터페이스 속성

스트림 만들기 속성

다음 속성은 스트림 만들기 시나리오와 같이 스트림 엔드포인트 만들기 및 구성에 대한 결정을 알리기 위해 ACXOBJECTBAGDDIS를 통해 공급업체별 오디오 드라이버 스택과 Bluetooth LE 오디오 프로필 간에 공유됩니다.

BluetoothLEAudio_CodecCapabilities

이 속성은 오디오 드라이버 또는 오디오 DSP에서 지원되는 오디오 스트리밍 기능에 대한 지원을 나타내기 위해 오디오 드라이버에 의해 설정됩니다. 속성 값은 DDI AcxObjectBagAddBlob 을 사용하여 설정되며 값 형식은 PACS 사양에 정의된 PAC 레코드와 동일합니다.

Windows Bluetooth LE 오디오 프로필은 속성을 읽어 사용할 수 있는 코덱 구성 및 스트림 컴퍼지션을 결정합니다.

필드 옥텟
기능 수 0
코덱 ID[i] 1-6
코덱 특정 기능 길이[i] 7
코덱 특정 기능 8... n
메타데이터 길이(m) n + 1
메타데이터 n+2... M

필드 값은 PACS 사양의 테이블 3.2 및 3.4에 정의되어 있습니다.

Bluetooth_DatapathID

이 속성은 HCI_LE_Setup_ISO_Data_Path 및 HCI_Configure_Data_Path 명령에 대한 매개 변수로 사용되는 데이터 경로 ID를 나타내기 위해 오디오 드라이버에 의해 설정됩니다. 속성 값은 AcxObjectBagAddUI8 DDI를 사용하여 설정됩니다.

Bluetooth LE 오디오 프로필은 이 속성을 읽고 사용하며 HCI_Configure_Data_Path 및 HCI_LE_Setup_ISO_Data_Path 명령의 매개 변수로 사용됩니다. 이 ID는 개체 모음과 연결된 ACXSTREAM 에 대해 만든 모든 등시 스트림에 적용됩니다.

필드 옥텟
데이터 경로 ID 0

속성이 오디오 드라이버에 의해 설정되지 않은 경우 OS는 HCI 명령에 대한 매개 변수로 값 1을 사용합니다.

Bluetooth_DatapathConfiguration

이 속성은 오디오 드라이버가 HCI_Configure_Data_Path 명령을 통해 Bluetooth 컨트롤러에 공급업체별 구성을 제공하도록 설정됩니다. Bluetooth 컨트롤러가 HCI 명령에 허용하는 가장 큰 페이로드인 255바이트보다 크지 않습니다. 속성 값은 AcxObjectBagAddBlob DDI를 사용하여 설정됩니다. 이 구성은 오디오 드라이버에서 설정한 모든 데이터 경로 ID에 적용됩니다.

BluetoothLEAudio_CodecConfiguration

이 속성은 코덱 구성이 오디오 디바이스로 구성된 후 DDI AcxObjectBagAddBlob 을 사용하여 Bluetooth LE 오디오 프로필에 의해 설정되어야 합니다. 값의 구조는 다음과 같습니다.

필드 옥텟
구성 수 0
코딩 형식[i] 3
회사 ID[i] 1-2
공급업체별 코덱 ID[i] 3-4
코덱 특정 구성 길이[i] 5
코덱 특정 구성[i] 6... n

필드 값은 Bluetooth 오디오 스트림 제어 서비스 사양의 표 4.3에 정의되어 있습니다.

공급업체별 오디오 드라이버 스택은 LC3 코덱이 ACX 스트리밍 드라이버 또는 오디오 DSP에 있는 경우 이 속성을 읽어야 합니다.

인터페이스

오디오 엔드포인트 템플릿 바인딩 ID

오디오 드라이버의 ACX 회로 팩터리에서 쌍을 이루는 Bluetooth 디바이스에 대한 ACX 회로가 만들어지는 시기를 파악하는 데 사용됩니다.

다음 구성 요소 ID는 Bluetooth LE 오디오 회로를 만드는 데 사용됩니다.

// {5C52FDB5-722A-4AB7-A342-70163B7E9B5C}
DEFINE_GUID(GUID_BLUETOOTH_LEAUDIO_RENDER_COMPONENT_ID,
0x5c52fdb5, 0x722a, 0x4ab7, 0xa3, 0x42, 0x70, 0x16, 0x3b, 0x7e, 0x9b, 0x5c);

// {1DFF2EE3-AE89-441C-BDE3-24F885C55DF8}
DEFINE_GUID(GUID_BLUETOOTH_LEAUDIO_CAPTURE_COMPONENT_ID,
0x1dff2ee3, 0xae89, 0x441c, 0xbd, 0xe3, 0x24, 0xf8, 0x85, 0xc5, 0x5d, 0xf8);

Bluetooth LE 오디오 지원 인터페이스

오디오 드라이버 스택에서 Bluetooth LE 오디오 스트리밍에 사용할 수 있음을 나타내는 데 사용됩니다. 이 인터페이스에 대한 Windows Bluetooth 오디오 서비스 수준 watch Bluetooth LE Audio 지원을 사용하도록 설정하기 전에 게시될 때까지 기다립니다.

다음 인터페이스 ID는 Bluetooth LE 오디오 지원 인터페이스를 게시하는 데 사용됩니다.

// {BA02FA1B-0FD0-4A0F-A748-4FAE2E2D2F67}
DEFINE_GUID(GUID_BLUETOOTH_LEAUDIO_SUPPORT_INTERFACE, 
0xba02fa1b, 0x0fd0, 0x4a0f, 0xa7, 0x48, 0x4f, 0xae, 0x2e, 0x2d, 0x2f, 0x67);

시퀀스

오디오 드라이버 초기화

IHV ACX 스트리밍 드라이버가 Bluetooth LE 오디오 스트리밍을 지원한다고 판단되면 ACXFACTORYCIRCUIT 개체를 만들고 오디오 엔드포인트 템플릿 바인딩 ID에 정의된 ID를 사용하여 ACX로 Bluetooth 템플릿 바인딩을 등록하여 기술에 대한 지원을 표시해야 합니다.

Bluetooth LE 오디오 드라이버 초기화 시퀀스를 보여 주는 순서도입니다.

엔드포인트 만들기

  1. LE 오디오 디바이스가 시스템과 페어링되면 Bluetooth LE 오디오 프로필:
    1. 원격 디바이스의 게시된 오디오 기능을 읽습니다.
    2. [v2] 및 HCI_Read_Local_Supported_Codec_Capabilities HCI_Read_Local_Support_Codecs 명령을 전송하여 컨트롤러 지원 기능을 검색합니다.
    3. Bluetooth 컨트롤러 및 원격 오디오 디바이스에서 지원하는 코덱 기능을 기반으로 지원되는 형식으로 ACXCIRCUIT 를 만듭니다. 코덱 지원이 오디오 DSP 또는 오디오 드라이버에 있기 때문에 컨트롤러가 코덱을 지원하지 않는 경우 지원되는 형식은 원격 오디오 디바이스에서 지원하는 형식으로 설정됩니다.
  2. ACXCIRCUIT을 만든 후 ACX는 IHV ACX 스트리밍 드라이버의 ACX 회로 팩터리에 스트림 처리를 위한 ACXCIRCUIT를 만들도록 요청합니다.
  3. 회로 만들기 요청이 수신되면 IHV ACX 스트리밍 드라이버:
    1. ACXCIRCUIT, ACXPIN, ACXOBJECTBAGACXSTREAMBRIDGE 개체를 만듭니다.
    2. LC3 또는 공급업체별 코덱이 오디오 드라이버 또는 DSP에서 호스트되는 경우 IHV ACX 스트리밍 드라이버는 ACXOBJECTBAG에서 BluetoothLEAudio_CodecCapabilities 속성을 설정합니다.
    3. IHV ACX 스트리밍 드라이버는 현재 알려진 경우 ACXOBJECTBAG에서 Bluetooth_DatapathID 또는 Bluetooth_DatapathConfiguration 설정할 수 있습니다.
  4. 두 회로를 모두 만든 후 ACX는 IHV ACX 드라이버의 브리지 핀에서 EvtAcxPinConnected 콜백을 호출합니다.
  5. EvtAcxPinConnected 콜백이 호출되면 IHV ACX 스트리밍 드라이버:
    1. AcxTarget...을 사용하여 프로필 회로의 브리지 핀을 검색합니다. 프로필 회로에서 지원하는 형식을 검색하는 API입니다.
    2. 프로필 회로에서 설정한 ACXDATAFORMAT목록을 반복합니다. Bluetooth 오디오 코덱이 오디오 드라이버 또는 오디오 DSP에서 호스트되는 경우 IHV 오디오 드라이버는 코덱 및 프로필 회로에서 지원하는 형식으로 ACXDATAFORMAT를 업데이트합니다. 그렇지 않으면 모든 형식이 IHV ACX 스트리밍 드라이버의 호스트 핀에 복사됩니다.
    3. 오프로드 스트리밍을 위해 오디오 엔진을 만든 경우 브리지 핀에서 업데이트된 형식 목록을 설정합니다.
  6. 형식이 업데이트되면 ACX는 두 인터페이스를 모두 사용하도록 설정하고 오디오 엔드포인트를 만듭니다.

Bluetooth LE 오디오 엔드포인트 만들기 프로세스를 보여 주는 순서도입니다.

스트림 만들기

  1. 애플리케이션이 오디오 스트림을 만들도록 요청하면 ACX는 IHV ACX 스트리밍 드라이버부터 시작하여 각 회로에 대해 등록된 EvtCircuitCreateStream 콜백을 호출합니다.
  2. EvtCircuitCreateStream 콜백이 호출되면 IHV ACX 스트리밍 드라이버:
    1. ACXSTREAMBRIDGE에 연결된 ACXOBJECTBAG에서 Bluetooth_DatapathId 및 Bluetooth_DataPathConfiguration 속성을 설정하거나 업데이트합니다.
    2. 스트림 상태 전환 및 RT 스트림 처리를 위해 콜백이 설정된 ACXSTREAM 을 만듭니다.
    3. 오디오 파이프라인이 오프로드 스트리밍을 지원하는 경우 스트림에 오디오 엔진 요소를 만듭니다.
    4. 스트림 브리지에 ACXSTREAM 을 추가합니다. 그러면 Bluetooth LE 오디오 프로필의 EvtCircuitCreateStream 콜백이 호출됩니다.
  3. EvtAcxCircuitCreateStream 콜백이 호출되면 Bluetooth LE 오디오 프로필은 다음과 같습니다.
    1. 향후 스트림 전환 콜백을 위해 IHV ACX 스트리밍 드라이버가 설정한 ACXOBJECTBAG 에서 속성을 로컬로 저장합니다.
    2. 오디오 엔드포인트가 Bluetooth LE 오디오 프로필을 스트리밍하는 유니캐스트용인 경우:
      1. BAP 사양에 정의된 대로 구성 코덱 작업을 수행합니다. 작업에 대한 매개 변수는 EvtAcxCircuitCreateStream 콜백에 지정된 ACXDATAFORMATACXOBJECTBAG의 다른 스트림 매개 변수 또는 Bluetooth 컨트롤러에서 지원하는 코덱 기능에서 파생됩니다.
      2. ACXOBJECTBAGBluetoothLEAudio_CodecConfiguration 속성을 원격 오디오 디바이스를 구성하는 데 사용되는 값으로 설정합니다.
  4. IHV ACX 스트리밍 드라이버가 프로필에서 설정한 개체 모음 값에 따라 데이터 경로 ID 또는 데이터 경로 구성을 업데이트해야 하는 경우 KSPROPERTY 집합 작업을 호출하여 프로필 회로에 저장된 값을 업데이트할 수 있습니다.
    1. 스트림 상태 전환에 대해 콜백이 설정된 ACXSTREAM 을 만듭니다.

Bluetooth LE 오디오 스트림 만들기 프로세스를 보여 주는 순서도입니다.

스트림 상태 전환

ACX는 오디오 흐름에 따라 스트림 상태 전환의 회로 순서와 상태가 더 활성 상태 또는 덜 활성 상태로 전환되는지 여부를 결정합니다.

  • 렌더링 스트림이 덜 활성 상태에서 더 활성 상태로 가는 경우 프로필 회로는 먼저 이벤트를 수신한 다음 스트리밍 회로를 수신합니다.
  • 더 활성 상태에서 덜 활성 상태로 가는 렌더링 스트림의 경우 스트리밍 회로는 먼저 이벤트를 수신한 다음 프로필 회로를 받습니다. 
  • 활성 상태가 낮은 상태에서 더 활성 상태로 가는 캡처 스트림의 경우 스트리밍 회로는 먼저 이벤트를 수신한 다음 프로필 회로를 받습니다. 
  • 더 활성 상태에서 덜 활성 상태로 가는 캡처 스트림의 경우 가 있는 프로필 회로는 먼저 이벤트를 수신한 다음 스트리밍 회로를 수신합니다.

스트림 준비

EvtAcxStreamPrepareHardware 콜백이 호출되면 Bluetooth LE 오디오 프로필:

  1. 다음을 통해 유니캐스트 스트림에 대한 리소스를 할당합니다.
    1. HCI_LE_Set_CIG_Parameters 명령을 사용하여 CIG 구성
    2. ASCS 구성 QoS 작업을 전송하여 설정을 원격 디바이스와 동기화합니다.

프로필 회로에 대한 Bluetooth LE 오디오 스트림 준비를 보여 주는 순서도입니다.

EvtAcxStreamPrepareHardware 콜백이 호출되면 IHV ACX 스트리밍 드라이버는 필요한 스트리밍 리소스를 할당하고 오디오 파이프라인을 획득된 상태로 초기화합니다.

스트리밍 회로에 대한 Bluetooth LE 오디오 스트림 준비를 보여 주는 순서도입니다.

스트림 시작

EvtAcxStreamRun 콜백이 호출되면 Bluetooth LE 오디오 프로필:

  1. HCI_Configure_Data_Path 명령을 사용하여 스트림 만들기 절차에서 ACX 스트리밍 드라이버가 설정한 모든 데이터 경로 구성 설정을 적용합니다.
  2. 다음을 통해 스트림 시작 절차를 시작합니다.
    1. 유니캐스트 스트림에 대한 BAP 유니캐스트 스트림 사용 프로시저 수행:
      1. 원격 엔드포인트에 사용 작업을 보냅니다.
      2. HCI_LE_Create_CIS 명령을 사용하여 아직 만들어지지 않은 경우 CIS를 만듭니다.
  3. 데이터 경로가 아직 구성되지 않은 경우 Bluetooth LE 오디오 프로필:
    1. HCI_LE_Setup_ISO_Data_Path 명령을 사용하여 ISO 데이터 경로 설정
      1. IHV ACX 스트리밍 드라이버가 BluetoothLEAudio_CodecCapabilities 속성을 설정하는 경우 HCI_LE_Setup_ISO_Data_Path Codec_ID 필드의 값은 Bluetooth 할당 번호에 정의된 대로 투명(0x3)으로 설정됩니다. 그렇지 않으면 값은 스트림 생성 프로시저의 구성 코덱 작업에 사용되는 코덱 ID와 같아야 합니다.
  4. 오디오 스트림이 유니캐스트 캡처 스트림인 경우 Bluetooth LE 오디오 프로필은 BAP 수신기 시작 준비 작업을 수행합니다.

프로필 회로에 대한 Bluetooth LE 오디오 스트림 시작 프로세스를 보여 주는 순서도입니다.

EvtAcxStreamRun 콜백이 호출되면 IHV ACX 스트리밍 드라이버는 Windows 오디오 시스템(렌더링) 또는 Bluetooth 컨트롤러(캡처)에서 들어오는 오디오 데이터를 처리하기 시작합니다.

스트리밍 회로에 대한 Bluetooth LE 오디오 스트림 시작 프로세스를 보여 주는 순서도입니다.

스트림 일시 중지

EvtAcxStreamPause 콜백이 호출되면 Bluetooth LE 오디오 프로필은 다음과 같습니다.

  1. BAP 유니캐스트 스트림 사용 안 함 프로시저를 수행합니다.
  2. HCI_LE_Remove_ISO_Data_Path 명령을 사용하여 ISO 데이터 경로를 제거합니다.
  3. 오디오 스트림이 유니캐스트 캡처 스트림인 경우 ASCS 수신기 중지 준비 프로시저를 수행합니다.

프로필 회로에 대한 Bluetooth LE 오디오 스트림 일시 중지 프로세스를 보여 주는 순서도입니다.

EvtAcxStreamPause 콜백이 호출되면 IHV ACX 스트리밍 드라이버가 오디오 처리 파이프라인을 일시 중지합니다.

스트리밍 회로에 대한 Bluetooth LE 오디오 스트림 일시 중지 프로세스를 보여 주는 순서도입니다.

릴리스 스트림

EvtAcxStreamReleaseHardware 콜백이 호출되면 Bluetooth LE 오디오 프로필은 다음을 통해 BAP 유니캐스트 스트림 릴리스 프로시저를 수행합니다.

  1. 원격 Bluetooth LE 오디오 디바이스로 ASCS 릴리스 작업 보내기
  2. 다른 활성 스트림에서 사용되지 않는 경우 CIS 연결을 끊습니다.
  3. 모든 CIS의 연결이 끊어지면 CIG를 제거합니다.

프로필 회로에 대한 Bluetooth LE 오디오 스트림 릴리스 프로세스를 보여 주는 순서도입니다.

EvtAcxStreamReleaseHardware 콜백이 호출되면 IHV ACX 스트리밍 드라이버가 오디오 파이프라인 리소스를 해제합니다.

스트리밍 회로에 대한 Bluetooth LE 오디오 스트림 릴리스 프로세스를 보여 주는 순서도입니다.

엔드포인트 연결 끊기

Windows Bluetooth LE 오디오 프로필은 원격 유니캐스트 디바이스가 PC에 대한 LE-ACL 연결이 없거나 스트리밍에 사용할 수 없는 PACS 사용 가능한 오디오 컨텍스트를 통해 보고하는 경우 엔드포인트의 연결 상태를 업데이트합니다. 엔드포인트의 연결이 끊어지면 Windows 오디오 서비스가 모든 활성 스트림을 엔드포인트로 무효화합니다. 이로 인해 스트림 일시 중지 및 릴리스 시퀀스가 발생합니다.

엔드포인트 제거

프로필 회로 또는 스트리밍 회로가 제거되면 Bluetooth LE 오디오 엔드포인트가 시스템에서 제거됩니다. 원격 유니캐스트 디바이스의 페어링이 Windows에서 제거되거나 Bluetooth 라디오를 사용하지 않도록 설정하면 프로필 회로가 제거될 수 있습니다.

  1. Windows Bluetooth LE 오디오 프로필이 회로를 제거하면 ACX는 엔드포인트 인터페이스를 사용하지 않도록 설정하여 엔드포인트를 제거해야 한다는 Windows 오디오 서비스에 신호를 보냅니다.
  2. 인터페이스를 사용하지 않도록 설정하면 Windows 오디오 서비스가 활성 스트림을 Bluetooth LE 오디오 엔드포인트로 무효화합니다. 이 작업을 수행하면 스트리밍 회로에서 스트림 일시 중지 및 해제 콜백이 호출됩니다.
  3. 엔드포인트 제거를 완료하기 위해 ACX는 IHV ACX 스트리밍 드라이버의 회로를 무효화하여 WDF가 회로의 정리 콜백을 호출합니다.
  4. 정리 콜백이 호출되면 IHV ACX 스트리밍 드라이버가 회로를 해제합니다.

Bluetooth LE 오디오 엔드포인트 제거 프로세스를 보여 주는 순서도입니다.

볼륨 및 음소거

IHV ACX 스트리밍 회로는 스트리밍 드라이버에 오디오 엔진이 필요한 경우에만 볼륨 및 음소거 요소를 포함해야 합니다. 오디오 엔진을 사용하는 경우 다음과 같이 구성 플래그를 설정해야 합니다.

ACX_AUDIOENGINE_CONFIG audioEngineCfg;
ACX_AUDIOENGINE_CONFIG_INIT(&audioEngineCfg);
…

audioEngineCfg.Flags |= AcxAudioEngineConfigVolumeSecondary; // Use this control only if endpoint doesn't have one.

audioEngineCfg.MuteElement = muteElement;

audioEngineCfg.Flags |= AcxAudioEngineConfigMuteSecondary; // Use this control only if endpoint doesn't have one.

audioEngineCfg.PeakMeterElement = peakmeterElement;
    
audioEngineCfg.Flags |= AcxAudioEngineConfigPeakMeterSecondary; // Use this control only if endpoint doesn't have one.

이는 Bluetooth LE 오디오 엔드포인트가 볼륨에 Bluetooth SIG 정의 볼륨 및 마이크 컨트롤 프로필을 사용하고 유니캐스트 오디오 엔드포인트의 변경 내용을 음소거하도록 허용하는 데 필요합니다.

원격 Bluetooth LE 오디오 디바이스가 볼륨 또는 마이크 제어 서비스를 지원하지 않거나 브로드캐스트 오디오용 엔드포인트를 만든 경우 오디오 엔진의 볼륨 및 음소거 요소는 오디오 시스템의 변경 요청을 처리하는 대체 요소로 사용됩니다. Windows 오디오 시스템은 볼륨 및 음소거 변경 내용을 처리합니다. 오디오 엔진이 없고 원격 디바이스가 볼륨을 지원하지 않거나 마이크 서비스 또는 오디오 엔드포인트가 브로드캐스트 오디오용인 경우

Bluetooth LE 및 클래식 오디오 공존

Windows는 두 기술을 모두 지원하는 페어링된 Bluetooth 오디오 디바이스에 대해 클래식 오디오 또는 LE 오디오만 활성화되어 있는지 확인해야 합니다. LE 오디오가 활성 상태이면 원격 디바이스용 A2DP 및 HFP용 사이드밴드 DDI가 비활성화되고 LE 오디오 엔드포인트에 대한 프로필 회로가 만들어집니다. 클래식 오디오가 활성 상태이면 원격 디바이스용 A2DP 및 HFP용 사이드밴드 DDI가 활성화되고 LE 오디오 엔드포인트에 대한 프로필 회로가 만들어지지 않습니다.

전원 관리

Bluetooth LE 오디오에는 WDF에서 이미 정의한 외부의 전원 관리 요구 사항 또는 흐름이 없습니다.