사용법
목차
- 창
- 트레이와 플라이아웃
- Windows 시작 시 실행
- CLI 모드
- 캡처 모드
- 코덱 비교
- aptX 계열과 aptX Adaptive 호환성
- 최대 미디어 패킷 크기 (프로필별)
- 미디어 스트림 검증 (a2dpwb_decode)
- 연결 품질과 AFH
- 피어 수신기 테스트 (tools/linux_sink)
- LE 오디오 (실험적)
- 업데이트
- 문제 해결
창
시작 메뉴에서 A2DP Windows Bridge(또는 a2dpwb.exe)를 실행합니다. 왼쪽 메뉴에는 다섯 개의 화면이 있으며, 창이 좁으면 아이콘만 표시됩니다. 창은 상주 프로그램 a2dpwb-core.exe가 하는 일을 표시할 뿐이므로, 창을 닫아도 스트리밍은 멈추지 않습니다(트레이와 플라이아웃 참조).
홈
- 현재 프로필의 장치, 그 상태, 사용 중인 코덱과 비트레이트. 프로필과 다른 코덱이 사용되면 코덱 배지에 어떤 코덱인지와 그 이유가 표시됩니다
- 화면에서 가장 큰 버튼인 연결 / 연결 끊기
- 볼륨: 헤드폰의 볼륨(볼륨 참조)
- 프로필 전환, 캡처 소스(편집 포함), 작은 그래프가 있는 연결 품질
- 오류가 발생하면 원인과 함께, 해결할 수 있는 경우 해결 버튼(WinUSB 할당, 다운로드 페이지 열기, Bluetooth 다시 시작, 다시 시도, 프로필 편집 등)이 표시됩니다
프로필
프로필은 장치와 그 음향 설정을 묶은 것입니다. 카드에는 장치, 코덱, 캡처 소스가 표시되며, 연결(스트리밍 중에는 연결 끊기), 편집, 삭제 버튼이 있습니다. 새 프로필과 편집 버튼은 편집기를 엽니다.
- 장치: 장치 검색은 USB 어댑터로 주변 장치를 찾습니다(약 10초, 헤드폰을 페어링 모드로 전환하십시오). A2DPWB와 페어링한 적이 있는 장치에는 페어링됨 태그가 붙습니다. 검색에서 찾지 못하면 직접 입력:에 주소를 입력하고 사용을 클릭합니다. 입력하거나 붙여 넣은 주소는 바로 형식이 맞춰집니다(
aa-bb-cc-dd-ee-ff,AABBCCDDEEFF,AA BB CC DD EE FF는 모두AA:BB:CC:DD:EE:FF가 됨) - 프로필 이름: 직접 입력하기 전까지는 장치 이름을 따릅니다
- 코덱: 자동 또는 특정 코덱 하나를 세 개의 막대(음질, 낮은 지연, 안정성)가 있는 카드로 선택합니다. 이 코덱을 사용할 수 없으면 다른 코덱 사용(기본적으로 켜짐, 명시적으로 선택한 코덱을 제공하지 않는 경우 참조)
- 캡처 소스: 시스템 루프백, 가상 장치 또는 응용 프로그램(캡처 모드 참조)
- Windows 볼륨 동기화(볼륨 참조)
- 고급(음질, 샘플링 속도, 비트 심도, 패킷 크기): 선택한 코덱이 지원하는 항목만 표시합니다
- 음질: LDAC HQ (990 kbps) / SQ (660 kbps) / MQ (330 kbps). LHDC V5 높음 (1000 kbps) / 중상 (900 kbps) / 표준 (500 kbps) / 모바일 (400 kbps)은 Android가 제공하는 네 단계입니다. AAC와 SBC에도 음질 단계가 있으며, aptX 계열은 비트레이트가 고정되어 있습니다
- ABR(적응형 비트레이트): LDAC 및 LHDC V5용(ABR 참조)
- 샘플링 속도: 자동은 캡처 장치를 따릅니다
- 비트 심도: LDAC 및 LHDC V5는 16 또는 24비트(자동: 24비트), 그 밖의 코덱은 16비트
- 최대 미디어 패킷 크기(바이트)(최대 미디어 패킷 크기 참조)
기본값으로 최상의 음질을 얻을 수 있으며, 대부분의 프로필은 고급에서 아무것도 바꿀 필요가 없습니다.
진단
- 스트리밍 중의 연결 품질: 실제 비트레이트, 패킷, 전송 전 버린 패킷, 캡처 시 버린 오디오, 전송 대기열, 무선 사용 시간, 신호(RSSI), AFH 채널(연결 품질과 AFH 참조)
- 연결 흐름: 가장 최근 연결 시도의 11단계(시작, Bluetooth 어댑터, ACL / AVDTP 연결, 기능 검색, 코덱 선택, 오디오 캡처, 스트림 구성, 인코더, 스트림 시작, 오디오 전송, 연결 끊김 / 다시 연결을 포함한 연결 유지)를 걸린 시간과 함께 OK, 경고 또는 실패로 표시합니다. 흐름 복사로 복사할 수 있습니다
- 로그: 실시간으로 표시되며, 수준(모든 수준, 정보 이상, 경고 및 오류, 오류만)과 텍스트로 필터링할 수 있습니다. 표시된 로그 복사는 표시된 내용을 복사합니다
- HCI 캡처 시작 / HCI 캡처 중지(미디어 스트림 검증 참조)
- 진단 정보 복사: 버전, OS, 어댑터, 프로필, 흐름, 경고 / 오류, 최근 로그를 클립보드에 복사하므로 버그 보고서에 바로 붙여 넣을 수 있습니다. Bluetooth 주소 가리기(기본적으로 켜짐)는 제조사 부분만 남깁니다(
AA:BB:CC:xx:xx:xx)
설정 > 개발자 모드를 켜면 진단에 피어 수신기 테스트 탭도 표시됩니다(피어 수신기 테스트 참조).
어댑터
- 감지된 USB Bluetooth 어댑터와 그 칩, 드라이버, 펌웨어. 새로 고침으로 다시 찾습니다
- WinUSB 할당 / 드라이버 복원(설치 참조). 매번 Windows가 관리자 권한을 요청합니다
- 펌웨어용 Bluetooth 칩과 다운로드 페이지 열기, 설정 폴더 열기(펌웨어 참조)
- AFH: 자동, 끄기 또는 수동 Wi-Fi 채널(연결 품질과 AFH 참조)
- Bluetooth 스택: 중지됨(처음 검색하거나 연결할 때 시작), 시작하는 중, 준비됨 또는 오류, 그리고 Bluetooth 다시 시작
설정
| 섹션 | 설정 |
|---|---|
| 모양 | 언어, 테마 (시스템 / 밝게 / 어둡게) |
| 시작 | Windows 시작 시 실행과 트레이에서 시작 (Windows 시작 시 실행 참조), 시스템 트레이로 최소화 (트레이와 플라이아웃 참조) |
| 헤드폰 | 헤드폰 버튼으로 재생 제어 (헤드폰 버튼 참조), 헤드폰 볼륨 기억 (볼륨 참조) |
| 업데이트 | 업데이트 확인, 시작 시 업데이트 확인, 업데이트 확인 시 시험판 포함 (베타 릴리스도 제안), 지금 업데이트 (업데이트 참조) |
| 고급 | 개발자 모드 (진단에 수신기 테스트를 추가하고 로그에 더 많은 세부 정보를 남김, 다시 시작 불필요), 설정 폴더와 설정 폴더 열기, 설정 마법사 실행 |
| A2DPWB 정보 | 버전, 라이선스, 타사 라이선스, A2DPWB 종료 |
첫 실행 설정
처음 시작할 때(아직 프로필이 없거나 WinUSB가 설치된 어댑터가 없을 때) A2DPWB 설정이 열립니다. 어댑터 선택, 드라이버 및 펌웨어, 헤드폰 찾기, 테스트 순서로 진행합니다. 설치를 참조하십시오. 설정 > 설정 마법사 실행으로 다시 열 수 있습니다.
트레이와 플라이아웃
A2DPWB는 창이 열려 있든 없든 시스템 트레이에서 계속 실행됩니다.
- 트레이 아이콘을 왼쪽 클릭하면 플라이아웃이 열립니다. 장치와 그 상태, 연결 / 연결 끊기, 볼륨, 프로필 전환, 코덱, 연결 품질, 앱 열기가 표시됩니다. Esc를 누르거나 다른 곳을 클릭하면 닫힙니다. 오류를 해결하는 데 기본 창의 화면(프로필, 어댑터)이 필요하면, 그 버튼이 해당 화면으로 창을 엽니다
- 오른쪽 클릭하면 메뉴가 열립니다. A2DPWB 열기, 처음 10개의 프로필(활성 프로필에 체크 표시, 클릭하면 그 프로필로 연결), 연결 끊기, 종료가 있습니다. 메뉴는 창을 시작하지 않고 바로 열립니다
- 도구 설명에 A2DPWB가 대기 중인지 스트리밍 중인지 표시됩니다
설정 > 시스템 트레이로 최소화가 켜져 있으면(기본값) 창을 최소화하거나 닫아도 트레이로 숨겨질 뿐이며 스트리밍은 계속됩니다. 꺼져 있으면 창은 작업 표시줄로 최소화되고, 창을 닫으면 A2DPWB가 종료됩니다. 트레이 메뉴의 종료 또는 설정 > A2DPWB 종료는 스트리밍을 중지하고, 어댑터를 해제하고, A2DPWB를 완전히 종료합니다.
Windows 시작 시 실행
설정 > Windows 시작 시 실행을 켜면 로그인할 때 A2DPWB가 시작됩니다. 트레이에서 시작이 켜져 있으면 백그라운드에서 시작되어 트레이 아이콘만 나타나며, 창은 트레이 아이콘에서 엽니다. 꺼져 있으면(기본값) 기본 창이 열립니다. 이 설정은 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 아래의 A2DPWB 값이며, 데이터는 "<folder>\a2dpwb-core.exe"이고 트레이에서 시작이 켜져 있으면 뒤에 --background가 붙습니다. 직접 끄려면 이 값을 삭제하십시오. v1 위에 v2를 설치하면 트레이에서 시작이 켜집니다(v1은 항상 트레이에서 시작했기 때문).
CLI 모드
a2dpwb-core.exe --cli는 창과 같은 코어를 사용해 콘솔에서 스트리밍합니다. 어댑터는 한 번에 한 프로그램만 사용할 수 있으므로 먼저 A2DPWB를 종료하십시오(트레이 > 종료). CLI는 프로필을 읽지 않으며, 모든 것을 옵션으로 지정합니다.
기본
# Auto-select best codec
a2dpwb-core.exe --cli -d AA:BB:CC:DD:EE:FF
Ctrl+C로 스트리밍을 중지합니다. CLI는 상태, 코덱과 비트레이트를 출력하고, 마지막에 전송한 패킷 수와 버린 패킷 수를 출력합니다.
코덱 선택
a2dpwb-core.exe --cli -d AA:BB:CC:DD:EE:FF -c ldac # LDAC
a2dpwb-core.exe --cli -d AA:BB:CC:DD:EE:FF -c aptxhd # aptX HD
a2dpwb-core.exe --cli -d AA:BB:CC:DD:EE:FF -c aptxll # aptX Low Latency
a2dpwb-core.exe --cli -d AA:BB:CC:DD:EE:FF -c aptx # aptX
a2dpwb-core.exe --cli -d AA:BB:CC:DD:EE:FF -c aac # AAC
a2dpwb-core.exe --cli -d AA:BB:CC:DD:EE:FF -c sbc # SBC
a2dpwb-core.exe --cli -d AA:BB:CC:DD:EE:FF -c lhdcv5 # LHDC V5
a2dpwb-core.exe --cli -d AA:BB:CC:DD:EE:FF -c opus # Opus (experimental; 48 kHz, 256 kbps)
자동 선택 우선순위: LDAC > aptX HD > aptX LL > aptX > LHDC V5 > Opus (실험적) > AAC > SBC XQ > SBC (FastStream은 직접 선택한 경우에만)
요청한 코덱을 헤드폰이 제공하지 않으면 CLI는 그 이유를 알려 주는 오류와 함께 중지합니다. 헤드폰이 제공하는 최적의 코덱을 사용하려면 -c auto(기본값)를 사용하십시오. aptX Adaptive는 절대 선택되지 않습니다. aptX 계열과 aptX Adaptive 호환성을 참조하십시오.
음질
a2dpwb-core.exe --cli -d AA:BB:CC:DD:EE:FF -c ldac -q hq # 990 kbps (default)
a2dpwb-core.exe --cli -d AA:BB:CC:DD:EE:FF -c ldac -q sq # 660 kbps
a2dpwb-core.exe --cli -d AA:BB:CC:DD:EE:FF -c ldac -q mq # 330 kbps
# LHDC V5: hq 1000 / mhq 900 / sq 500 / mq 400 kbps (Android's four levels)
a2dpwb-core.exe --cli -d AA:BB:CC:DD:EE:FF -c lhdcv5 -q mhq # 900 kbps
ABR (적응형 비트레이트)
a2dpwb-core.exe --cli -d AA:BB:CC:DD:EE:FF -c ldac -a
a2dpwb-core.exe --cli -d AA:BB:CC:DD:EE:FF -c lhdcv5 -a
ABR은 Bluetooth 연결이 불안정하면 비트레이트를 자동으로 낮추고, 상태가 좋아지면 다시 높입니다. LDAC은 음질 모드 사이를 오가며, LHDC V5는 Android 정책에 따라 160~400 kbps 범위에서 유지됩니다. 창에서는 프로필 편집기의 고급에 ABR이 있습니다.
장치 검색
# Nearby devices, found with the USB adapter (10 seconds; --scan 20 for longer)
a2dpwb-core.exe --cli --scan
먼저 헤드폰을 페어링 모드로 전환하십시오.
전체 옵션
| 옵션 | 설명 |
|---|---|
-d <addr> | 헤드폰 / 수신기의 Bluetooth 주소 (AA:BB:CC:DD:EE:FF) |
-c <codec> | ldac, aptxhd, aptxll, aptx, aac, sbc, lhdcv5, opus, auto (기본값: auto) |
-q <mode> | 음질: hq (기본값), sq, mq; LHDC V5는 mhq (900 kbps)도 가능 |
-a | ABR (LDAC 및 LHDC V5) |
-m <mode> | 캡처 모드: loopback (기본값), virtual, app |
--audio-device <id> | -m virtual에 사용할 렌더링 장치 |
--app <exe> | -m app에 사용할 실행 파일 (예: spotify.exe) |
--rate <hz> | 캡처 샘플링 속도 (기본값: 장치의 속도) |
--bits <16\|24> | 비트 심도 (기본값: 코덱이 지원하면 24) |
--max-packet <bytes> | 최대 미디어 패킷 크기, 679-1679, 기본값 1023 (최대 미디어 패킷 크기 참조) |
--afh <auto\|off\|6,11> | AFH 호스트 채널 분류 (연결 품질과 AFH 참조) |
--remote-sink <host[:port]\|auto> | 피어 수신기가 받는 내용 표시. -d 없이 사용하면 그 수신기로 스트리밍 (피어 수신기 테스트 참조) |
--scan [seconds] | 주변 장치 목록을 표시하고 종료 (기본값 10초) |
-h | 도움말 표시 |
개발 및 테스트용으로 --hci-tcp <host:port>(WinUSB 어댑터 대신 TCP를 통한 가상 컨트롤러), --test-tone(캡처한 오디오 대신 왼쪽 1 kHz / 오른쪽 1.5 kHz), --duration <s>(지정한 초가 지나면 중지), --hci-capture <file.pklg>(실행 전체의 HCI 캡처)도 있습니다. 빌드를 참조하십시오.
--cli 없이 실행하면 a2dpwb-core.exe는 상주 프로그램으로 작동하며 창도 함께 시작합니다. 단, --background를 지정하면 트레이 아이콘만 표시됩니다(트레이에서 시작이 켜져 있을 때 Windows 시작 시 실행에서 사용). a2dpwb-core.exe --quit는 실행 중인 A2DPWB에 스트리밍을 중지하고 종료하도록 요청합니다(설치 프로그램이 사용).
캡처 모드
A2DPWB는 세 가지 오디오 캡처 모드를 지원합니다. 각 모드는 오디오 경로의 서로 다른 지점을 녹음합니다.
| 모드 | 녹음하는 내용 |
|---|---|
| 시스템 루프백 | Windows 기본 출력 장치에서 재생되는 소리: 모든 앱의 혼합 |
| 가상 장치 | 앱이 선택한 장치(예: VB-CABLE)로 재생하는 소리 |
| 응용 프로그램 | 한 앱(및 하위 프로세스)이 재생하는 소리만, 앱 자체 처리 후. Windows 11 또는 Windows 10 버전 2004(빌드 19041) 이상 필요 |
프로필 편집기의 캡처 소스 아래에도 같은 설명이 표시됩니다.
시스템 루프백은 오디오를 복사할 뿐 기본 출력 장치에서 빼앗지 않습니다. 소리는 Bluetooth 헤드폰과 함께 그 장치(스피커, HDMI TV 등)에서도 계속 재생됩니다. 헤드폰에서만 들으려면 VB-CABLE처럼 어디에서도 소리가 나지 않는 장치와 함께 가상 장치 모드를 사용하십시오.
가상 장치 모드에서는 기본 장치 자동 전환이 스트리밍 중에 선택한 장치를 Windows 기본 출력으로 설정하므로, Windows 설정을 바꾸지 않아도 앱이 그 장치로 재생합니다. 스트리밍을 중지하면 A2DPWB는 이전 기본 장치로 되돌립니다.
- 오디오 장치 목록에는 A2DPWB가 가상 오디오 장치로 감지한 장치만 표시됩니다. 가상 장치가 없으면 편집기에 VB-Cable 다운로드가 표시됩니다.
- 기본 통신 장치(통화 앱이 사용하는 장치)는 변경되지 않습니다.
- 일부 앱은 다시 시작할 때까지 이전 장치에서 계속 재생합니다.
- A2DPWB가 예기치 않게 종료되면 기본 장치가 되돌려지지 않습니다. Windows 소리 설정에서 변경하십시오.
응용 프로그램 모드
응용 프로그램 모드는 음악 플레이어, 브라우저, 효과 앱 등 한 앱의 소리를 보냅니다. 앱 목록에서 앱을 선택합니다. 목록에는 현재 오디오를 재생 중인 앱이 표시됩니다. 원하는 앱이 없으면 그 앱에서 재생을 시작하고 새로 고침을 클릭하십시오. 앱의 하위 프로세스도 포함되므로, 별도 프로세스에서 오디오를 재생하는 브라우저도 작동합니다.
- 앱이 실행 중이 아니어도 됩니다. A2DPWB는 일단 헤드폰에 연결하고, 앱이 시작되면 전송을 시작합니다. 스트리밍 중에 앱이 종료되어도 A2DPWB는 연결을 유지하며, 앱을 다시 시작하면 다시 캡처합니다.
- 앱은 자신의 출력 장치에서도 계속 재생합니다. 헤드폰에서만 들으려면 그 출력 장치(마스터 볼륨)를 음소거하십시오. A2DPWB가 캡처하는 소리에는 영향이 없습니다. 단, Windows 볼륨 믹서에서 앱을 음소거하면 헤드폰도 무음이 되므로 하지 마십시오.
- Windows 볼륨 믹서의 앱 슬라이더는 헤드폰으로 보내는 음량(및 출력 장치의 음량)을 바꿉니다. 마스터 볼륨과 볼륨 키는 전송되는 소리를 바꾸지 않으며, 프로필의 Windows 볼륨 동기화가 자동이면 대신 헤드폰 볼륨을 바꿉니다(볼륨 참조).
- Windows가 A2DPWB가 요청한 샘플링 속도로 오디오를 변환하므로, 소리 설정의 장치 형식에 제한받지 않습니다.
- 버전 2004(빌드 19041) 이전의 Windows 10에는 앱별 캡처 기능이 없습니다. 이 경우 응용 프로그램 프로필로 연결하면 다른 캡처 소스를 선택하라는 오류가 표시됩니다.
볼륨
스트리밍 중에 헤드폰이 AVRCP 절대 볼륨을 지원하면 홈과 트레이 플라이아웃에 볼륨 슬라이더가 표시됩니다. 이 슬라이더는 헤드폰 자체의 볼륨을 설정하므로, 전송되는 오디오는 원래 해상도를 유지합니다. 슬라이더는 헤드폰의 볼륨 버튼과 터치 조작도 따라갑니다.
프로필의 Windows 볼륨 동기화는 스트리밍 중에 Windows 볼륨과 헤드폰 볼륨을 하나의 볼륨으로 만듭니다.
| 선택 | 동기화되는 Windows 볼륨 |
|---|---|
| 자동 (기본값) | A2DPWB가 캡처하는 장치: 시스템 루프백 및 응용 프로그램 모드에서는 기본 출력 장치, 가상 장치 모드에서는 선택한 장치 |
| 끄기 | 없음: Windows 볼륨과 헤드폰 볼륨이 따로 작동 |
| 출력 장치 | 해당 장치의 볼륨 |
- 헤드폰의 볼륨 버튼과 제스처, 그리고 볼륨 슬라이더는 동기화된 Windows 볼륨을 움직이며, 소리 설정의 해당 슬라이더는 헤드폰 볼륨을 움직입니다.
- 볼륨 키와 Windows 볼륨 플라이아웃은 항상 기본 출력 장치에 작용하므로, 기본 출력 장치가 동기화 대상일 때만 헤드폰 볼륨을 바꿉니다(자동의 경우와 같으며, 기본 장치 자동 전환을 끈 가상 장치 모드는 예외).
- 스트리밍이 시작되면 Windows 볼륨이 헤드폰 볼륨을 이어받고, 스트리밍이 끝나면 장치는 이전 볼륨으로 돌아갑니다.
- 자동에서는 Windows 볼륨이 적용되기 전에 오디오를 캡처하므로, 볼륨은 헤드폰에서 한 번만 낮아집니다. 동기화된 볼륨이 캡처되는 오디오도 바꾸는 경우에는 볼륨이 두 번 적용되므로, 끄기를 선택하십시오(시스템 전체 효과 앱 참조).
- 음소거는 동기화되지 않습니다. 출력 장치를 음소거하면 PC는 무음이 되지만 헤드폰은 음소거되지 않습니다.
설정 > 헤드폰 볼륨 기억(기본적으로 꺼짐)은 장치별로 헤드폰 볼륨을 저장하고, 연결되자마자 오디오를 보내기 전에 다시 설정합니다. 이 기능이 없으면 헤드폰은 자체적으로 마지막에 사용한 볼륨으로 시작하는데, 이는 A2DPWB에서 마지막으로 사용한 볼륨보다 훨씬 클 수 있습니다(예: 휴대폰과 함께 사용한 후).
헤드폰 버튼
헤드폰의 재생/일시 정지, 다음 곡, 이전 곡 조작(버튼 또는 터치 제스처, 예: WH-1000XM4의 두 번 탭)은 스트리밍 중에 PC의 재생을 제어합니다. A2DPWB는 이를 미디어 키로 Windows에 전달하며, Windows 미디어 컨트롤에 표시된 앱(Spotify, 브라우저, 미디어 플레이어 등)으로 전달됩니다. 정지도 전달됩니다.
- 재생과 일시 정지는 모두 Windows의 재생/일시 정지 키로 작동하므로, 헤드폰이 인식하는 상태가 실제와 다르더라도 탭하면 항상 재생과 일시 정지가 전환됩니다.
- A2DPWB는 캡처할 오디오가 있는지에 따라 오디오 재생 여부를 헤드폰에 알리므로, 벗으면 일시 정지하는 헤드폰도 올바른 명령을 보냅니다.
- 빨리 감기 / 되감기(버튼 길게 누르기)는 대응하는 Windows 미디어 키가 없어 무시됩니다.
- 볼륨 제스처는 헤드폰 자체 볼륨을 바꾸며, Windows 볼륨 동기화를 사용하면 동기화된 Windows 볼륨도 따라 바뀝니다(볼륨 참조).
- 다른 프로그램이 이미 미디어 키에 반응해 두 번 작동하는 경우 등에는 설정 > 헤드폰 버튼으로 재생 제어로 이 기능을 끄십시오.
이 기능에는 헤드폰의 AVRCP 지원이 필요하며, 거의 모든 헤드폰이 지원합니다. 지원하지 않으면 버튼 기능만 빠지고 스트리밍은 평소대로 작동합니다.
시스템 전체 효과 앱
시스템 전체 효과 앱(이퀄라이저, 음질 향상 앱, 가상 서라운드 앱 등)은 보통 자체 가상 출력 장치를 설치합니다. 다른 앱이 그 장치로 재생하면, 효과 앱이 오디오를 처리하여 효과 앱에서 선택한 출력 장치로 결과를 재생합니다. 헤드폰에 효과가 적용되는지는 A2DPWB에서 어떤 모드를 선택하느냐에 따라 달라집니다.
| 설정 | 헤드폰에 도달하는 소리 |
|---|---|
| 가상 장치: 효과 앱 자체의 가상 장치 | 효과 적용 전 오디오: 앱이 효과 앱으로 보내는 소리 |
| 응용 프로그램: 효과 앱 | 효과 적용 후 오디오: 효과 앱이 재생하는 소리 (권장) |
| 가상 장치: 효과 앱의 출력 장치 (예: 출력으로 설정한 VB-CABLE) | 효과 적용 후 오디오 (응용 프로그램 모드가 없는 Windows 버전용) |
응용 프로그램 모드에서는 효과 앱의 출력 장치로 어떤 장치든 사용할 수 있습니다. A2DPWB는 장치가 재생하는 소리가 아니라 앱이 재생하는 소리를 가져가므로, 장치는 소리를 내보낼 곳일 뿐입니다. PC에서 동시에 소리가 나지 않게 하려면 아무도 듣지 않는 출력(예: 모니터의 HDMI 오디오)을 선택하거나 그 장치의 마스터 볼륨을 음소거하십시오. VB-CABLE 같은 가상 장치도 소리가 나지 않는 출력으로 쓸 수 있지만 필수는 아닙니다. 장치는 사용 가능 상태이고 연결되어 있어야 합니다.
효과 앱 자체의 가상 장치가 Windows 기본 출력 장치이면, 그 볼륨이 효과 앱이 받는 소리도 낮춥니다. Windows 볼륨 동기화가 자동이면 볼륨 변경이 두 번 적용됩니다(효과 앱의 입력과 헤드폰). 이 경우 해당 프로필에서 끄기로 설정하고, 헤드폰 볼륨이나 볼륨 슬라이더를 사용하십시오.
A2DPWB에 자체 가상 출력 장치가 없는 이유
효과 앱이 직접 선택할 수 있도록 Windows 출력 장치 목록에 Bluetooth 헤드폰 항목을 추가하려면 커널 모드 오디오 드라이버가 필요합니다. A2DPWB에는 이 드라이버가 포함되어 있지 않습니다.
- 커널 오디오 드라이버를 작성하고 유지 관리하는 것은 큰 작업이며, 버그가 있으면 Windows가 중단될 수 있습니다(블루스크린).
- Windows 10과 11은 Microsoft가 서명한 드라이버만 로드합니다. 이 서명을 받으려면 EV 코드 서명 인증서(연간 수백 달러)와 Microsoft 파트너 센터 계정이 필요하며, 보통 회사로 등록해야 합니다.
- 서명을 피하는 유일한 방법은 Windows 테스트 서명 모드인데, 이는 시스템 보안을 낮추고 일부 소프트웨어(예: 안티 치트가 있는 게임)를 작동하지 않게 합니다. A2DPWB는 이에 의존하지 않습니다.
응용 프로그램 모드나 VB-CABLE 같은 무료 가상 장치로 같은 용도를 해결할 수 있습니다.
- Windows에는 기본 장치를 변경하는 공개 API가 없습니다. A2DPWB는 다른 오디오 전환 도구와 마찬가지로 문서화되지 않은 IPolicyConfig 인터페이스를 사용합니다(Windows 10 및 11).
시스템 루프백과 가상 장치는 WASAPI 공유 모드를 사용하므로, 캡처 샘플링 속도는 Windows 소리 설정의 장치 기본 형식(보통 48 kHz)으로 결정됩니다. LDAC을 96 kHz로 사용하려면 소리 설정 > 장치 속성 > 고급 > 기본 형식에서 출력 장치의 형식을 96 kHz로 변경하십시오.
코덱 비교
| 코덱 | 적합한 용도 | 단점 |
|---|---|---|
| LDAC (HQ) | 최고 음질 | 지연 시간이 길고 안정적인 연결 필요 |
| LDAC (ABR) | 음질 + 안정성 | 연결 상태에 따라 비트레이트 변동 |
| aptX HD | 고음질, 더 넓은 장치 지원 | 576 kbps 고정 |
| aptX LL | 게임, 동영상 (저지연) | 음질이 낮음 (16비트) |
| aptX | 가장 넓은 aptX 장치 지원 | 16비트, 352/384 kbps |
| AAC | Apple 장치, 높은 효율 | 보통 음질 |
| SBC | 최대 호환성 | 가장 낮은 음질 |
프로필 편집기의 각 코덱 카드에도 같은 비교가 세 개의 막대로 표시됩니다.
aptX 계열과 aptX Adaptive 호환성
A2DPWB는 세 가지 aptX 코덱을 지원하며, 모두 libopenaptx로 인코딩합니다. aptX Adaptive는 지원하지 않습니다.
aptX HD와 aptX Low Latency는 실험적 기능입니다. Android / PipeWire 구현을 따르며 인코딩/디코딩 왕복 테스트를 통과했지만, 실제 헤드폰에서는 아직 검증되지 않았습니다.
기본 aptX만 필요하십니까? Windows 10의 기본 Bluetooth 스택은 이미 기본 aptX를 지원하므로(aptX HD, aptX LL, aptX Adaptive는 미지원) 이 경우 A2DPWB가 필요하지 않습니다. A2DPWB는 주로 LDAC, aptX HD, aptX Low Latency에 유용합니다.
| 코덱 | Vendor ID / Codec ID | RTP 헤더 | 상태 |
|---|---|---|---|
| aptX | 0x0000004F / 0x0001 | 없음 | 지원 (44.1/48 kHz에서 352/384 kbps) |
| aptX HD | 0x000000D7 / 0x0024 | 있음 | 지원 (576 kbps, 24비트 입력) |
| aptX Low Latency | 0x0000000A 또는 0x000000D7 / 0x0002 | 없음 | 지원 (352 kbps) |
| aptX Adaptive | 0x000000D7 / 0x00AD | – | 미지원 – 감지하여 로그에만 기록 |
aptX Adaptive를 지원하지 않는 이유
오픈 소스 aptX Adaptive 인코더가 존재하지 않습니다. libopenaptx는 aptX와 aptX HD만 구현합니다(A2DPWB는 aptX Low Latency에도 사용). arkq/openaptx는 aptX / aptX HD만 재구현하며, aptX Adaptive 인코더가 없고 바이너리 재배포도 허용하지 않습니다. 따라서 A2DPWB는 aptX Adaptive를 감지하여 로그에 기록하기만 합니다.
aptX Adaptive에서 aptX로의 “대체”는 없습니다
A2DPWB가 연결하면 헤드폰은 코덱 목록(AVDTP 스트림 엔드포인트)을 알립니다. A2DPWB는 그 목록에서 코덱 하나를 선택합니다. aptX Adaptive는 처음부터 후보가 아니므로, 그로부터 “대체”되는 일도 없습니다.
- 헤드폰이 기본 aptX도 제공하는 경우 – Qualcomm이 aptX Adaptive를 aptX / aptX HD와 하위 호환된다고 홍보하기 때문에 많은 aptX Adaptive 헤드폰이 그렇습니다. 이 경우 A2DPWB는 기본 aptX를 직접 선택합니다. 이는 헤드폰 목록에 있는 별도 코덱이며, aptX Adaptive의 축소 모드가 아닙니다.
- 헤드폰이 aptX Adaptive만 제공하는 경우 (기본 aptX, aptX HD, aptX LL 없음) – A2DPWB로는 aptX를 사용할 수 없습니다. 자동은 우선순위에서 다음 코덱, 보통 AAC 또는 SBC를 선택합니다.
자동 선택 우선순위: LDAC > aptX HD > aptX LL > aptX > LHDC V5 > Opus (실험적) > AAC > SBC XQ > SBC (FastStream은 직접 선택한 경우에만)
명시적으로 선택한 코덱을 제공하지 않는 경우
헤드폰 목록에 없는 특정 코덱을 요청한 경우:
| 위치 | 동작 |
|---|---|
| 프로필, 이 코덱을 사용할 수 없으면 다른 코덱 사용 켜짐 (기본값) | 헤드폰이 제공하는 최적의 코덱으로 자동 우선순위에 따라 연결하며, 코덱 배지에 대신 사용한 코덱과 그 이유가 표시됩니다. |
| 프로필, 옵션 꺼짐 | 오류(“장치가 …을(를) 지원하지 않습니다”)와 함께 연결이 중지됩니다. aptX, aptX HD 또는 aptX LL을 요청했는데 헤드폰이 aptX Adaptive만 제공하면, 메시지에 그 사실이 표시되고 자동, AAC 또는 SBC를 권장합니다. |
CLI (-c <codec>) | 같은 오류와 함께 중지합니다. 제공되는 최적의 코덱으로 연결하려면 -c auto를 사용하십시오. |
이 옵션은 프로필 편집기의 코덱 카드 아래에 있습니다(자동에서는 사용되지 않음).
헤드폰이 다른 장치에 연결되어 있어 코덱이 없는 경우
헤드폰은 각 코덱을 스트림 엔드포인트(SEP)로 제공합니다. 듀얼(멀티포인트) 연결에서는 휴대폰이나 PC로 스트리밍 중인 엔드포인트가 사용 중으로 보고되며, 그 스트림이 멈출 때까지 해당 코덱을 사용할 수 없습니다. 일부 헤드폰은 장치 하나만 연결되어 있을 때만 고해상도 코덱(LDAC, L2HC 등)을 제공하기도 합니다. 이때 A2DPWB는 다음과 같이 로그에 기록합니다.
remote SEP 6: sink audio, IN USE (codec not queried)
remote SEPs in use by another connection: 1 of 6 audio sink SEP(s); ...
capability discovery complete (LDAC=false ... , 1 of 6 audio sink SEP(s) in use)
그리고 오류 메시지에 엔드포인트가 다른 장치에서 사용 중이라고 표시됩니다. 휴대폰 / PC에서 헤드폰 연결을 끊고(또는 헤드폰 앱에서 듀얼 연결을 끄고) 다시 연결하십시오. 내장 Bluetooth가 아직 헤드폰과 페어링되어 있는 PC도 다른 장치로 간주됩니다.
샘플링 속도
aptX, aptX HD, aptX LL은 44.1 kHz와 48 kHz만 지원합니다. A2DPWB는 헤드폰이 알리는 속도 중 하나를 선택하고(현재 Windows 장치 속도를 우선하며, 없으면 48 kHz), 캡처는 WASAPI가 리샘플링하도록 합니다. aptX를 위해 Windows 소리 설정을 변경할 필요는 없습니다.
헤드폰이 제공하는 코덱 확인
- 헤드폰에 연결합니다.
- 진단을 열고 로그 필터에
remote를 입력합니다.
같은 줄이 설정 폴더의 로그 파일(%APPDATA%\A2DPWB\logs\a2dpwb-core.<date>.log)에도 기록되며, CLI 모드에서는 콘솔에 출력됩니다. 기능 줄에는 헤드폰이 제공하는 코덱이 정확히 표시됩니다.
remote supports aptX (SEID ..., [...])
remote supports aptX Adaptive (SEID ...) - never selected (no open encoder); classic aptX is used only if the remote lists it
remote vendor codec 0x........./0x.... (SEID ...) - unsupported
capability discovery complete (LDAC=false aptX HD=false aptX LL=false aptX=true aptX Adaptive=true [not encodable] SBC=true AAC=true LHDC V5=false Opus=false)
aptX=true– 기본 aptX를 사용할 수 있습니다(aptX Adaptive=true이어도 마찬가지).aptX Adaptive=true이면서aptX=false,aptX HD=false,aptX LL=false– 헤드폰이 aptX Adaptive만 제공합니다. 자동, AAC 또는 SBC를 사용하십시오.remote vendor codec ... - unsupported– A2DPWB가 구현하지 않은 다른 벤더 코덱입니다.
최대 미디어 패킷 크기 (프로필별)
각 프로필의 최대 미디어 패킷 크기(프로필 편집기 > 고급; CLI: --max-packet <bytes>)는 각 Bluetooth 패킷에 담기는 오디오 데이터의 상한을 679~1679바이트 범위에서 설정하므로, 다른 값이 필요한 헤드폰마다 각자의 값을 지정할 수 있습니다. 헤드폰 자체의 한도(MTU)도 항상 적용되며, A2DPWB는 둘 중 작은 값을 사용합니다. 변경 사항은 다음 연결부터 적용됩니다. 이전 버전에서 저장한 프로필은 예전에 전역으로 설정되어 있던 값을 사용합니다.
1023(기본값)을 권장합니다. Bluetooth 베이스밴드 패킷 하나(3-DH5)에 들어갑니다. 더 큰 값은 오버헤드를 1~2%만 줄일 뿐이며, 패킷 하나를 잃을 때마다 더 많은 오디오가 손실됩니다. 679는 2-DH5 패킷 하나에 들어가며 LDAC이 허용하는 최솟값입니다.
미디어 스트림 검증 (a2dpwb_decode)
대부분의 헤드폰은 사용 중인 코덱을 표시하지 못합니다. 진단 > HCI 캡처 시작 / HCI 캡처 중지는 코덱 협상과 전송된 모든 미디어 패킷을 담은 HCI 패킷 로그(설정 폴더의 hci_<date>_<time>.pklg)를 기록합니다. LDAC 990 kbps에서는 시간당 약 0.5 GB씩 커지므로 필요한 만큼만 캡처하십시오. CLI 모드에서는 --hci-capture <file.pklg>가 실행 전체를 기록합니다.
캡처는 연결 전이나 이미 스트리밍 중일 때 시작할 수 있습니다. 연결 중에 시작하면 A2DPWB가 기억해 둔 연결 설정 패킷(코덱 협상을 포함한 L2CAP 채널 설정과 AVDTP 시그널링)을 먼저 기록하므로, 파일을 분석할 수 있습니다. 진단 화면에는 기록 중과 중지 후에 파일 경로가 표시됩니다.
캡처는 Wireshark에서 열거나, 개발자 도구 a2dpwb_decode(소스에서 빌드, 빌드 참조)로 확인할 수 있습니다.
a2dpwb_decode "%APPDATA%\A2DPWB\hci_20260925_120000.pklg" -o C:\temp\check
이 도구는 AVDTP 시그널링(SET_CONFIGURATION / RECONFIGURE 및 헤드폰의 수락 여부)을 추적하고, A2DPWB가 보낸 미디어 패킷을 추출하여 협상된 구성과 대조합니다.
| 코덱 | 검사 내용 | 출력 |
|---|---|---|
| SBC, AAC, aptX, aptX HD, aptX LL | 참조 디코더로 전체 디코딩, 프레임 파라미터와 구성 비교, 미디어 페이로드 헤더의 프레임 수 | 들어 볼 수 있는 <prefix>.<n>.<codec>.wav |
| LDAC | 프레임 헤더만(동기 워드, 샘플링 속도, 채널 모드, 프레임 길이), 프레임 수, 비트레이트. 오픈 소스 LDAC 디코더는 존재하지 않음 | 보고서만 |
모든 스트림에 대해 RTP 시퀀스 누락, RTP 타임스탬프 증가 속도, 비트레이트, Bluetooth 컨트롤러가 완료로 보고한 ACL 패킷 수도 보고합니다. 마지막 줄은 RESULT: OK 또는 RESULT: PROBLEMS FOUND입니다(종료 코드 0 또는 1).
이 결과는 A2DPWB가 보낸 내용과 그것이 협상된 코덱에 유효하다는 것을 보여 줍니다. 싱크는 협상된 코덱만 디코딩할 수 있으므로, 헤드폰에서 소리가 정상적으로 나오고 보고서에 문제가 없다면 그 코덱이 실제로 사용되고 있다는 강력한 증거입니다.
연결 품질과 AFH
진단 > 연결 품질은 스트리밍 중에 A2DPWB가 보내는 내용을 표시합니다. 실제 비트레이트, 전송한 패킷, 전송 전 버린 패킷(전송 대기열이 가득 참: 무선 링크가 따라가지 못함), 캡처 시 버린 오디오, 전송 대기열, 무선 사용 시간, 그리고 신호: 연결의 RSSI(컨트롤러의 골든 수신 범위 기준 상대값: 0 = 양호, 음수 = 너무 약함, 절대 수준 아님)와 링크가 79개 Bluetooth 채널 중 몇 개를 호핑하는지(AFH)가 표시됩니다. 홈과 트레이 플라이아웃에는 이를 요약하여 좋음, 보통 또는 나쁨으로 표시합니다.
Bluetooth는 혼잡한 채널을 스스로 피하지만(AFH), Wi-Fi의 존재는 오류를 통해서만 알게 됩니다. A2DPWB는 모든 연결에서 컨트롤러에 피해야 할 채널도 알려 줍니다(AFH 호스트 채널 분류).
| AFH | |
|---|---|
| 자동 (기본값) | 이 PC가 연결된 2.4 GHz Wi-Fi 채널만 (연결 중 30초마다 다시 확인). PC가 2.4 GHz Wi-Fi에 연결되어 있지 않으면(연결 끊김, 5 또는 6 GHz 사용, 유선 연결) 아무것도 하지 않음 |
| 끄기 | 없음: 컨트롤러가 단독으로 결정 |
수동, 예: 6,11 | 지정한 Wi-Fi 채널 (1~14) |
자동은 PC가 수신만 하는 네트워크를 컨트롤러 자체의 AFH에 맡깁니다. 이웃의 혼잡한 채널을 피하면 호핑에서 22 MHz가 빠지므로, 링크가 오히려 나빠질 수 있습니다. 그래도 그런 채널을 피하려면 수동으로 입력하십시오.
Bluetooth 채널은 항상 최소 20개가 사용됩니다. 어댑터 화면에서, 설정 폴더의 settings.json에서 "afh"로, 또는 CLI 모드에서 --afh로 설정합니다. 무선 행에 회피 중인 Wi-Fi 채널이 표시됩니다. 효과가 있는지는 환경에 따라 다르므로 피어 수신기 테스트로 측정해 보십시오.
피어 수신기 테스트 (tools/linux_sink)
연결 품질 화면은 A2DPWB가 보내는 내용을 보여 줍니다. 실제로 도착하는 내용을 보려면 Linux가 설치된 두 번째 PC에서 tools/linux_sink/a2dpwb_sink.py를 실행하십시오. 이 도구는 그 PC의 일반 Bluetooth 어댑터(내장 어댑터도 가능)를 직접(HCI user channel을 통한 Bumble) LDAC을 포함한 모든 코덱의 A2DP 싱크로 구동하고, 도착하는 모든 미디어 패킷을 측정하여 네트워크로 통계를 제공합니다.
tools/linux_sink 폴더를 Linux PC에 복사한 다음(폴더만 있으면 됨) 다음을 실행합니다.
sh setup.sh # once: decoder libraries, Python environment (Ubuntu / Debian, Python 3.11+)
sudo sh run.sh # start the receiver (root: it takes the Bluetooth adapter)
Windows PC에서는 A2DPWB를 종료하고(트레이 > 종료) 다음을 실행합니다.
a2dpwb-core.exe --cli --remote-sink auto -c ldac --test-tone
--remote-sink auto는 로컬 네트워크에서 수신기를 찾아, -d로 다른 장치를 지정하지 않으면 수신기의 Bluetooth 어댑터로 스트리밍하고, 5초마다 그리고 종료 시에 수신기의 통계를 출력합니다. 비트레이트, 손실 및 지연 패킷(RTP 시퀀스 번호), 지터와 간격, 모델링된 재생 버퍼의 끊김과 건너뜀, 스트림 / 디코딩 오류, 수신기의 RSSI(골든 수신 범위 기준 상대값: 0 = 양호, 음수 = 너무 약함)입니다. --test-tone이 없으면 시스템 오디오를 보냅니다. --remote-sink <host[:port]>는 검색하지 않고 수신기를 직접 지정합니다.
설정 > 개발자 모드를 켜면 진단에 피어 수신기 테스트 탭이 표시됩니다. 이 버전에서는 미리 보기 기능으로, 수신기 주소를 저장하지만 아직 스트리밍은 하지 않습니다. 위의 명령줄을 사용하십시오.
양쪽 모두 스트림의 첫 패킷부터 패킷 수를 세므로 보낸 패킷과 받은 패킷을 비교할 수 있으며, 두 값은 같아야 합니다. Bluetooth는 손실된 무선 패킷을 컨트롤러 내부에서 재전송하고, A2DPWB는 링크가 살아 있는 동안 패킷을 포기하지 않으므로, 무선 링크가 나쁘면 손실 패킷보다는 수신기 쪽의 간격, 지터, 끊김으로 나타납니다. 링크가 따라가지 못하면 전송 측에서 패킷이 전송 전에 버려집니다. 재전송 횟수는 어느 쪽에서도 알 수 없습니다.
도구가 실행되는 동안 수신기의 어댑터는 그 PC의 Bluetooth 스택에서 사용할 수 없습니다. 검색에는 포트 51201의 UDP 브로드캐스트를 사용하므로 두 PC가 같은 네트워크 세그먼트에 있어야 합니다(그렇지 않으면 주소를 입력하십시오). 모든 옵션과 통계 프로토콜은 tools/linux_sink/README.md를 참조하십시오.
LE 오디오 (실험적)
A2DPWB는 LE 오디오 헤드폰과 이어폰으로도 전송할 수 있습니다(BAP 유니캐스트, 연결형 등시성 스트림으로 LC3 전송). 헤드셋 음량(VCP), 미디어 버튼(MCP), 한 쌍의 양쪽 이어폰(CSIP), 게이밍 헤드셋용 저지연 모드(GMAP)도 지원합니다. 이 기능은 실험적이며 프로필별로 선택합니다. LE 오디오 기기용 프로필만 사용합니다. Bluetooth 에뮬레이터로만 시험했고 실제 LE 오디오 헤드폰으로는 아직 확인하지 않았으므로, 사용 중인 기기에서는 동작하지 않을 수 있습니다. 평소 감상에는 기존 A2DP 프로필을 사용하십시오.
필요한 것:
- 등시성 채널(ISO)을 지원하는 Bluetooth 5.2 이상의 USB Bluetooth 어댑터(A2DP와 마찬가지로 WinUSB 할당). ISO를 지원하지 않는 어댑터는 “adapter does not support LE Audio (no ISO buffers)”로 거부됩니다.
- LE 오디오(LC3)를 지원하는 헤드폰이나 이어폰. 일부 기기는 먼저 전용 앱에서 LE 오디오를 켜야 합니다.
사용 방법:
- 헤드폰을 페어링 모드로 두고 프로필에서 기기를 검색합니다. LE 오디오 기기에는 LE 오디오, 한 쌍의 이어폰에는 LE 오디오 세트 표시가 붙습니다(둘 중 하나를 고르면 다른 하나는 A2DPWB가 찾습니다). A2DP도 지원하는 헤드폰은 종류별로 두 번 표시됩니다.
- 프로필에서 LE 오디오 기기 (실험적, LC3) 에 체크합니다. 코덱과 품질은 선택할 수 없으며(헤드폰이 받아들이는 가장 좋은 LC3 설정을 A2DPWB가 고릅니다), 캡처는 시스템 루프백과 가상 장치만 사용할 수 있습니다.
- 그 아래의 게이밍 헤드셋용 저지연 (GMAP, 실험적) 은 기본적으로 켜져 있습니다. GMAP 게임 역할을 지원하는 헤드셋에서는 더 짧은 LC3 프레임을 사용하고, 다른 헤드셋은 어느 쪽이든 미디어 구성을 받습니다.
설정에는 LE 오디오 스위치가 없습니다. LE 쪽이 어댑터에 지장을 주는 경우에는 settings.json(설정 > 설정 폴더)의 "le_audio_experimental": false 로 LE를 통째로 끌 수 있습니다.
CLI 모드에서는 --le-audio -d <주소> 로 LE 오디오 기기에 전송하고, --le-device <주소> 로 그룹의 다른 기기(다른 쪽 이어폰)를 추가하며, --le-scan 으로 주변 LE 오디오 기기를 나열하고, --le-low-latency / --le-preset <이름> 으로 설정을 고릅니다(모든 LE 옵션은 a2dpwb-core.exe --cli -h).
업데이트
A2DPWB는 GitHub Releases를 하루에 최대 한 번 확인합니다(설정 > 시작 시 업데이트 확인, 업데이트 확인 시 시험판 포함을 켜면 베타 릴리스도 제안). 새 버전이 있으면 설정에 표시됩니다.
- 설치한 버전: 지금 업데이트는 서명된 업데이트를 다운로드합니다. 스트리밍 중에는 기다렸다가 스트리밍이 중지되면 설치하므로, 업데이트 때문에 소리가 끊기는 일은 없습니다. 그다음 A2DPWB가 종료되고, 새 버전을 설치한 후 자동으로 다시 시작됩니다.
- 포터블 버전(또는 업데이트 서명이 없는 빌드): 다운로드 페이지 열기가 릴리스 페이지를 엽니다.
문제 해결
창에 코어가 실행되고 있지 않다고 표시됨
창은 같은 위치에 있는 a2dpwb-core.exe가 필요하며, 이를 자동으로 시작합니다. “A2DPWB 코어가 실행되고 있지 않습니다”는 코어를 시작하지 못했다는 뜻입니다. A2DPWB를 다시 설치하십시오(또는 포터블 zip의 압축을 다시 푸십시오). “코어의 버전이 다릅니다”는 두 프로그램이 서로 다른 버전에서 왔다는 뜻입니다. 둘 다 같은 버전으로 설치하십시오(최신 릴리스를 설치하면 해결됩니다).
드라이버 할당 또는 복원에 실패함
- “관리자 권한 요청이 거부되었습니다”: 드라이버는 변경되지 않았습니다. 버튼을 다시 클릭하고 요청을 허용하십시오.
- “드라이버를 변경하지 못했습니다”: 자세한 내용은 진단 > 로그를 확인하십시오.
- “어댑터가 이전 드라이버로 돌아오지 않았습니다”: 어댑터를 Zadig로 설정한 경우 Windows가 Zadig의 WinUSB 드라이버 패키지를 다시 선택할 수 있습니다. 장치 관리자에서 그 드라이버 패키지를 제거한 다음(어댑터 > 디바이스 제거, “이 장치의 드라이버를 제거하려고 시도합니다” 선택), 어댑터를 뽑았다가 다시 꽂으십시오.
Bluetooth 어댑터가 응답하지 않음
어댑터를 연 후 아무 응답도 없으면(HCI Reset에 응답하지 않음), A2DPWB는 5초 후 포기하고 한 번 더 연 다음, 그래도 응답하지 않으면 “Bluetooth 어댑터가 응답하지 않습니다”를 표시합니다. 어댑터를 뽑았다가 다시 꽂은 후 다시 시도하십시오(또는 Bluetooth 다시 시작). A2DPWB를 다시 시작할 필요는 없습니다. 시작에 실패하면 어댑터가 해제되고, 새로 시작할 때마다 다시 초기화됩니다.
어댑터가 멈추지 않도록 A2DPWB는 어댑터를 열 때 USB 파이프를 재설정하고, 닫을 때 HCI Reset을 보냅니다.
업데이트 후 페어링 문제
A2DPWB는 General Bonding과 함께 SSP(Just Works)로 페어링하며, 링크 키를 저장하므로 헤드폰은 다시 페어링하지 않고도 다시 연결할 수 있습니다(v2는 v1의 링크 키를 읽습니다). 이전 A2DPWB 빌드로 헤드폰을 페어링했는데 더 이상 연결되지 않으면, 헤드폰에서 A2DPWB 페어링을 삭제하고(페어링 목록 삭제 방법은 헤드폰 설명서 참조) 다시 페어링하십시오.
연결 시간 초과
A2DPWB는 헤드폰이 오디오 소스로 인식할 수 있도록 SDP 레코드(A2DP Source, AVRCP Controller / Target)를 등록합니다. 연결 시도가 시간 초과되면 반쯤 열린 연결은 해제되므로, A2DPWB를 다시 시작하지 않고 그냥 다시 시도하면 됩니다. 헤드폰이 켜져 있고, 범위 내에 있으며, 다른 장치에 연결되어 있지 않은지 확인하십시오.
링크가 연결된 후 아무것도 전달되지 않았거나 헤드폰이 응답하지 않아 연결에 실패하면 자동으로 다시 시도합니다(최대 3회). 헤드폰이 더 이상 페어링 정보를 모르는 경우(초기화했거나 다른 PC와 페어링함) 저장된 키를 삭제하고 페어링을 한 번 더 수행합니다. 이때 오류 메시지에 무슨 일이 있었는지 표시됩니다.
| 메시지 | 의미 |
|---|---|
| 장치가 응답하지 않았습니다 | 꺼져 있음, 범위 밖, 또는 연결 불가 상태 (새 장치: 페어링 모드) |
| 연결은 되었지만 데이터가 전달되지 않았습니다 | 무선 환경 문제: 다시 시도하거나 어댑터 / 장치를 옮겨 보십시오 |
| 장치가 응답한 후 스스로 연결을 종료했습니다 | 지금은 연결을 받지 않음: 전원을 끄는 중, 충전 중, 또는 다른 장치에 연결됨 |
| 다시 페어링한 후에도 인증에 실패했습니다 | 장치를 페어링 모드로 전환하거나 페어링 목록 항목을 삭제한 후 다시 시도하십시오 |
끊어진 연결은 자동으로 다시 연결됩니다(최대 10회). 스트리밍 중에 PC가 절전 모드로 전환되면 A2DPWB는 복귀한 후 다시 연결하며, 이 시도는 횟수에 포함되지 않습니다.