사용자 정의 통합 API
T 778 사용자 정의 통합 API
본 매뉴얼에 포함된 정보는 Lenbrook Industries의 자산입니다.
본 프로토콜은 전문가용으로만 사용해야 합니다. Lenbrook Industries는 프로토콜의 정확성에 대해 어떠한 책임도 지지 않습니다. 본 프로토콜은 모든 오류를 포함하여 "있는 그대로" 제공되며, 명시적이든 묵시적이든 어떠한 종류의 보증도 제공하지 않습니다.
API 사용 정책
API에 액세스함으로써 귀하는 본 API 사용 정책(이하 "정책") 및 당사 약관에 동의하는 것으로 간주됩니다. 당사는 기업과 개인이 당사 플랫폼에 연결되거나 당사 API를 통해 플랫폼 내 데이터에 액세스할 수 있는 소프트웨어, 서비스 또는 모듈(이하 "통합")을 개발하여 당사 서비스를 기반으로 서비스를 구축하고 혜택을 누릴 수 있도록 이러한 API를 제공합니다. 본 정책은 현재와 미래의 약관의 일부로 간주됩니다.
본 소프트웨어는 상품성, 특정 목적 적합성 및 비침해를 포함하되 이에 국한되지 않는 명시적 또는 묵시적 보증 없이 "있는 그대로" 제공됩니다. 어떠한 경우에도 저자 또는 저작권자는 소프트웨어 또는 소프트웨어의 사용 또는 기타 거래와 관련하여 발생하는 계약, 불법 행위 또는 기타 소송에서 발생하는 모든 청구, 손해 또는 기타 책임에 대해 책임을 지지 않습니다.
허용된 사용
API를 사용하여 스팸을 전송하거나 당사의 허용 가능한 사용 정책 및 표준 이용 약관을 위반하는 행위를 할 수 없습니다. 귀하는 모든 관련 법률(개인정보보호법, 미국 수출통제법, 유럽 GPR 및 규정, 경제 제재법 및 규정 포함)을 준수해야 합니다. 또한 당사가 API에 대해 제공하는 모든 문서를 준수해야 합니다. 서비스 작동 방식을 해킹하거나 변경하려고 시도해서는 안 됩니다. 당사는 귀하의 API 사용이 이러한 규칙을 준수하는지 모니터링할 수 있으며, 귀하가 본 정책을 위반하는 경우 API 접근을 거부할 수 있습니다.
은둔
당신의 통합 서비스는 사용자가 통합 서비스를 사용할 때 수집하는 정보를 자세히 설명하는 개인정보 보호정책을 사용자에게 표시해야 합니다. 사용자는 사용자가 허용하고 개인정보 보호정책에 명시된 범위 내에서만 사용자 데이터에 접근할 수 있습니다. 사용자가 삭제를 요청하거나 계정을 해지하는 경우, 사용자는 즉시 사용자 데이터를 삭제해야 합니다.
보안
귀하는 데이터의 보안, 무결성 및 기밀성을 보호하고 유지하기 위해 적절한 기술적 및 조직적 보안 조치를 이행하고 유지해야 합니다. 이러한 보안 조치는 귀하가 처리하는 개인 정보 또는 기밀 정보에 대한 무단 접근이나 공개를 방지합니다.
소유권
당사는 모든 지적 재산권, 상표, 코드 및 기능을 포함하여 서비스 및 API에 대한 모든 권리, 소유권 및 이익을 소유합니다. 귀하는 당사의 코드, 디자인 또는 콘텐츠를 침해, 역설계 또는 복사해서는 안 됩니다. 귀하는 당사 서비스와 경쟁하기 위해 당사 API에 접근해서는 안 됩니다. 본 정책에 명시적으로 부여되지 않은 모든 권리는 보류되므로, 여기에 해당 내용이 표시되지 않으면 당사가 귀하에게 부여하는 권리가 아닙니다.
마크 사용
당사의 명칭 및 상표(로고, 브랜드, 저작권이 있는 이미지)를 어떤 방식으로든 사용할 수 없습니다. 당사 상표의 소유권 고지 사항을 변경하거나 제거할 수 없습니다. 통합 이름이나 로고에 당사의 명칭이나 상표를 사용하거나, 당사가 보증하는 것처럼 암시하는 방식으로 사용할 수 없습니다.
상표의 실제 사용
본 가이드라인은 귀하가 당사의 명칭, 상표 및 브랜드 자산을 항상 실질적으로 어떻게 사용해야 하는지에 대한 설명입니다. 귀하의 사용은 본 가이드라인에 동의함을 의미하며, 본 가이드라인을 위반하여 사용할 경우 당사의 명칭, 상표 및 브랜드 자산 사용 허가가 자동으로 종료됨을 이해합니다.
- 당사의 이름, 상표 및 브랜드 자산을 사용하려면 서면으로 명시적으로 승인을 받아야 합니다.
- 색상 변경, 회전 및/또는 늘리기를 포함하여 당사 브랜드 자산을 어떤 방식으로든 변경, 수정, 왜곡, 복사 또는 모방하지 마십시오. 즉, 당사 브랜드 자산은 원래 형태를 유지해야 합니다.
- 귀사의 이름과 로고와 비교하여 당사의 이름, 상표 및 브랜드 자산을 부당하게 두드러지게 하지 마십시오.
- 당사의 명시적인 동의 없이 당사의 이름, 상표 및 브랜드 자산을 경쟁 마케팅의 옆이나 어떤 형태로든 표시하지 마십시오.
- 귀사의 이용은 당사가 귀사나 귀사의 제품 또는 서비스를 후원, 제휴 또는 보증한다는 사실로 소비자를 오도해서는 안 됩니다.
- 당사의 상호, 상표 및 브랜드 자산은 당사의 독점 재산입니다. 귀하의 사용으로 발생하는 모든 영업권은 당사에만 귀속됩니다. 귀하는 당사의 권리 또는 소유권에 반하는 어떠한 행위도 하지 않아야 합니다.
- 당사의 명칭, 상표 및 브랜드 자산은 존중하는 방식으로 사용되어야 하며, 당사, 당사 제품 또는 서비스에 해를 끼치는 방식으로 사용되거나, 당사의 평판이나 명칭, 상표 및 브랜드 자산에 대한 영업권을 약화시키거나 훼손하는 방식으로 사용될 수 없습니다. 다시 말해, 당사 자산을 불법 또는 위법 행위와 연관시키거나 기만적이거나 해로운 방식으로 사용하지 마십시오.
Examp허용 가능한 사용 범위:
“[제품 이름] (BluOS와 호환/작동)”
Examp용납할 수 없는 사용
“[제품 이름] – BluOS”
“BluOS – [제품 이름]”
“[제품 이름] – BluOS 기반”
마케팅 및 보도 자료
귀하의 신청이 승인되면 당사에 등록될 수 있습니다. web 속성. 일반적으로 당사는 보도자료를 공동으로 발행하거나 귀하의 애플리케이션에 대한 공동 마케팅에 기여하지 않습니다.
앱에 대한 보도자료를 배포하기 전에 [EMAIL]로 연락해 주세요. BluOS를 언급하실 경우, 다시 연락해 주셔야 합니다.view 보도자료를 보내드립니다. 최종 보도자료는 가능한 한 빨리 보내주시기 바랍니다.
부인 성명
법률이 허용하는 최대 한도 내에서, 당사는 API를 있는 그대로 제공합니다. 즉, 상품성 및 특정 목적에의 적합성을 포함하되 이에 국한되지 않는 명시적 또는 묵시적 보증을 제공하지 않습니다.
업데이트
당사는 본 사이트에 변경 사항을 게시하거나 이메일을 통해 귀하에게 통지함으로써 API 및 본 정책을 수시로 업데이트하거나 수정할 수 있습니다. 이러한 변경 사항은 귀하의 API 사용 또는 통합 기능과 API의 상호 작용 방식에 영향을 미칠 수 있습니다. 귀하가 수용할 수 없는 변경 사항이 있는 경우, API 사용을 중단해야 합니다.
비밀 유지
귀하는 API와 관련된 기밀, 독점 및 비공개 정보("기밀 정보")에 접근할 수 있습니다. 이 정보는 API를 활용한 개발 목적으로만 사용할 수 있습니다. 귀하는 당사의 서면 동의 없이 기밀 정보를 누구에게도 공개하지 않으며, 본인의 기밀 정보를 보호하는 것과 동일한 방식으로 기밀 정보를 무단 사용 및 공개로부터 보호해야 합니다.
보증
귀하는 API 사용과 관련된 제3자 청구로 인해 발생하는 모든 손실(변호사 비용 포함)에 대해 당사와 당사 팀을 보상하고 면책해야 합니다.
나머지
본 정책은 어떠한 파트너십, 대리 또는 합작 투자도 생성하거나 암시하지 않습니다. 본 정책은 귀하가 API를 사용하는 동안 또는 당사 약관에 따라 해지될 때까지 적용됩니다. 본 정책과 표준 이용 약관이 상충하는 경우, 표준 이용 약관이 우선합니다.
©2025 렌브룩 산업 유한회사
633 Granite Court, Pickering, Ontario, Canada L1W 3K1
모든 권리는 보호됩니다
본 출판물의 어떠한 부분도 Lenbrook Industries Limited의 서면 허가 없이는 어떠한 형태로도 복제, 저장 또는 전송할 수 없습니다. 본 출판물은 출판 당시 내용의 정확성을 보장하기 위해 최선을 다했지만, 기능 및 사양은 예고 없이 변경될 수 있습니다.
| 개정 내역 | ||
| 버전 | 날짜 | 설명 |
| 1.0 | 6/17/2019 | 첫 번째 릴리스 |
| 1.2 | 01/12/2022 | 소프트 재부팅, 초인종 소리, 볼륨 높이기/낮추기, 대기열에서 트랙 이동, 직접 입력 명령 기능이 추가되었습니다. 부록 LSDP에 참고 사항을 추가했습니다. |
| 1.4 | 04/26/2022 | 음소거 명령이 추가되었습니다. HUB에 대한 직접 입력 명령이 수정되었습니다. 스트리밍된 사용자 지정 오디오를 재생하기 위한 재생 명령이 업데이트되었습니다. |
| 1.5 | 07/18/2022 | Bluetooth 명령이 추가되었습니다. LSDP가 업데이트되어 클래스 5~8이 추가되었습니다. API 사용 정책에 "마크의 실제 사용"이 추가되었습니다. |
| 1.6 | 03/13/2024 | 2절에 그룹화된 플레이어의 /Status에 대한 메모를 추가했습니다. /Play?seek=seconds는 4.1절의 trackid입니다. |
| 1.7 | 04/09/2025 | 섹션 8.3 업데이트됨ample; 인라인 컨텍스트 메뉴 검색 요청 추가 examp섹션 7.1의 le; 섹션 11.2에 새로운 직접 입력 선택 명령 추가; 사전 설정에 대한 "image" 속성을 추가하기 위해 섹션 6.1 업데이트; 모든 이미지 속성에 대한 "followRedirects=1" 주석 추가; 속성 재생에 대한 설명 업데이트URL 그리고 섹션 7.1에 add-now를 추가하세요 |
소개
BluOS™는 홈 네트워크를 통해 모든 방에서 최대 24비트/192kHz의 무손실 음악을 스트리밍하고 감상할 수 있는 고급 운영 체제이자 음악 관리 소프트웨어입니다. BluOS는 Bluesound, NAD Electronics, DALI Loudspeakers 등의 제품에 탑재되어 있습니다.
이 문서는 커스텀 통합(CI) 시장에서 활동하는 개발자와 시스템 통합자를 지원하기 위해 작성되었습니다. BluOS API 제어 프로토콜 전체에 문서화된 API 요청의 일부를 담고 있습니다.
이 문서에 설명된 모든 요청은 HTTP GET 요청으로 전송됩니다. 매개변수는 표준입니다. URL 인코딩된 이름/값 쌍입니다. BluOS 플레이어는 이러한 명령을 수신한 후 UTF-8로 인코딩된 XML 데이터로 응답합니다.
모든 요청은 http:// 형식입니다. : / 어디:
- player_ip는 BluOS 플레이어의 IP 주소입니다(예: 192.168.1.100)
- 포트는 통신에 사용되는 TC 포트입니다. 포트 11000은 CI580을 제외한 모든 BluOS 플레이어에 사용됩니다. CI580은 하나의 섀시에 1개의 스트리머 노드가 있으며, 노드 11000은 포트 2, 노드 11010는 포트 3, 노드 11020은 포트 4, 노드 11030는 포트 XNUMX을 사용합니다. 사용할 실제 포트는 musc.tcp 및 musp.tcp 서비스를 사용하는 MDNS 프로토콜을 통해 찾아야 합니다.
- 요청은 실제 BluOS 명령 또는 쿼리(예: 재생)입니다.
메모: 이 문서는 다음을 사용합니다. http://192.168.1.100:11000 모든 ex에서 플레이어 IP 및 포트로amp레.
상태 쿼리
상태 쿼리는 BluOS 플레이어를 쿼리하는 데 사용됩니다.
BluOS는 상태 쿼리를 위해 일반 폴링과 롱 폴링이라는 두 가지 메커니즘을 제공합니다. 일반 폴링은 쿼리 결과를 즉시 반환합니다. 롱 폴링은 지정된 시간 동안 연결을 유지하고 정보가 변경되거나 시간이 초과된 경우에만 쿼리 결과를 반환합니다. 롱 폴링은 플레이어 호출 횟수를 크게 줄일 수 있습니다.
롱 폴링을 사용하지 않는 경우, 클라이언트는 폴링 속도를 30초마다 최대 한 번의 요청으로 제한해야 합니다. 롱 폴링을 사용하는 경우, 클라이언트는 첫 번째 요청이 XNUMX초 이내에 반환되더라도 동일한 리소스에 대해 XNUMX초 미만의 간격으로 두 번 연속 요청을 보내서는 안 됩니다.
긴 폴링 요청은 timeout과 e라는 두 가지 매개변수를 사용합니다.tag. timeout은 롱폴 요청의 지속시간이며tag 이전 응답에서 가져옵니다(응답의 루트 요소에 있는 속성).
일반적으로 /Status 또는 /SyncStatus 중 하나에 대해서만 롱 폴을 활성화하면 됩니다. /Status 응답에는 다음 요소가 포함됩니다( ) /SyncStatus가 변경되었는지 여부를 나타냅니다. 플레이어의 이름, 볼륨 및 그룹화 상태만 관심 있는 경우 /SyncStatus를 폴링해야 합니다. 현재 재생 상태가 필요한 경우 /Status를 폴링해야 합니다.
플레이어가 그룹화되면 기본 플레이어가 그룹의 주요 플레이어가 됩니다. 보조 플레이어는 기본 플레이어에 속합니다. 보조 플레이어의 /Status 응답은 기본 플레이어의 응답과 동일합니다. 따라서 각 보조 플레이어의 볼륨을 추적하기 위해 /SyncStatus 롱 폴링이 필요합니다.
2.1 재생 상태
설명
/Status 엔드포인트는 볼륨 및 재생 정보를 쿼리합니다. 이 쿼리는 여러 응답 속성을 반환합니다.
일부는 이 문서에 적용되지 않습니다. 문서화되지 않은 답변은 무시하시기 바랍니다.
요구
/상태?시간 초과=초&etag=etag-값
| 매개변수 | 설명 |
| 타임아웃 | 롱 폴링에 사용되는 선택적 매개변수입니다. 권장 폴링 간격은 100초이며, 60초 정도로 제한해야 하며, 10초를 넘지 않아야 합니다. |
| etag | 롱 폴링과 함께 사용되는 선택적 매개변수입니다. 이는 e입니다.tag 속성에서 |
| 매개변수 | 설명 |
| 이전 /상태 호출 응답. |
응답
<status etag=”4e266c9fbfba6d13d1a4d6ff4bd2e1e6″>
÷ (디럭스)
에드 시런
진실
1
159
디저:142986206
/아트워크?서비스=Deezer&songid=Deezer%3A142986206
0
187
1
완벽한
1054
0
320000만
2
디저
/출처/이미지/DeezerIcon.png
0
8
19
정지시키다
MP3 320kb/s
5
완벽한
에드 시런
÷ (디럭스)
263
4
35
메모: 다음 표에 모든 응답 속성이 나열된 것은 아닙니다. 다른 요소가 있을 수 있으며, 이러한 요소는 무시해야 합니다.
| 응답 속성 | 설명 |
| etag | 응답 루트 요소의 속성입니다. 응답 변경을 감지하기 위해 롱 폴링과 함께 사용되는 불투명 값입니다. 이전 응답 이후 값이 변경되지 않았다면 응답은 변경되지 않은 것으로 보장됩니다(아래 secs 참조). |
| 알람 남은 시간(초) | 재생이 알람으로 인한 경우, 재생이 중지되기까지 걸리는 시간(초)입니다. |
| 행동 | 자세한 내용은 라디오 방송국 스트리밍 작업 섹션을 참조하세요. |
| 앨범 | 현재 활성화된 트랙의 앨범 이름입니다. title1 속성도 참조하세요. |
| 아티스트 | 현재 활성화된 트랙의 아티스트 이름입니다. title1 속성도 참조하세요. |
| 배터리 | 플레이어에 배터리 팩이 있는지 여부입니다. 다음 속성이 포함됩니다. · 레벨 - 충전 상태, 백분율 · 충전 중 – 현재 충전 중이면 1 · 아이콘 – URL 현재 충전 상태를 나타내는 플레이어 이미지 |
|
canMovePlayback |
현재 재생 중이거나 일시 정지된 콘텐츠를 다른 플레이어로 옮길 수 있는 경우 true입니다. |
|
canSeek |
1이면 /Play의 seek 매개변수를 사용하여 0..totlen 범위에서 현재 트랙을 스크러빙할 수 있습니다. 예를 들어ample: /Play?seek=34. |
| db | dB 단위의 볼륨 레벨입니다. |
| 그룹 이름 | 그룹의 이름입니다. 플레이어는 그룹의 주 플레이어여야 합니다. |
| 그룹 볼륨 | 그룹의 볼륨 레벨입니다. 플레이어는 그룹의 주 플레이어여야 합니다. |
| 영상 | URL 현재 오디오(앨범, 방송국, 입력 등)와 관련된 이미지의 경우 |
| 응답 속성 | 설명 |
| 그만큼 URL /Artwork로 시작하면 리디렉션될 수 있습니다. 매개변수/키 추가 팔로우리디렉션=1 이미지를 검색할 때 리디렉션을 피할 수 있습니다. | |
| 무음 | 음소거 상태입니다. 볼륨이 음소거된 경우 1로 설정합니다. |
| 뮤트디비 | 플레이어가 음소거된 경우, 여기에는 음소거 해제된 볼륨이 dB로 포함됩니다. |
| 음소거볼륨 | 음소거된 경우, 음소거되지 않은 볼륨 레벨이 포함됩니다. 값은 0에서 100까지입니다. |
| 이름 | 현재 재생 중인 오디오 트랙의 제목입니다. title1 속성도 참조하세요. |
| 통보url | URL 팝업 알림을 원하시면. |
| id | 고유 재생 대기열 ID입니다. /Playlist 응답의 id 속성과 일치합니다. 재생 대기열이 변경되면 이 번호도 변경됩니다. |
| 제거하다 | 고유한 프리셋 ID입니다. /Presets 응답의 prid 속성과 일치합니다. 프리셋이 변경되면 이 번호가 변경되어 /Presets에 대한 캐시된 응답이 삭제됨을 나타냅니다. |
| 품질 | 재생 소스 오디오의 품질: · cd – CD 품질의 무손실 오디오 · HD – CD 품질이나 s보다 더 높은 해상도를 제공하는 무손실 오디오ample- 88200초의 속도amp더 적거나 더 많음 · dolbyAudio – DolbyDigital 또는 AC3 · mqa – 디코딩된 유효한 MQA 오디오 · mqaAuthored – 유효한 MQA-Authored 오디오 디코딩됨 숫자 값은 압축 오디오 소스 품질의 대략적인 비트 전송률입니다. file. |
|
반복하다 |
0, 1 또는 2. 0은 재생 대기열 반복을 의미하고, 1은 트랙 반복을 의미하며, 2는 반복 해제를 의미합니다. |
| 초 | 현재 오디오 트랙이 재생된 시간(초)입니다. 이 값은 e 계산에 사용되지 않습니다.tag 진행률 자체가 롱 폴링 호출에서 반환되는 것은 아닙니다. 클라이언트는 상태가 재생 또는 스트림인 경우 응답 이후 경과된 간격을 기준으로 재생 위치를 증가시켜야 합니다. |
| 서비스 | 현재 오디오의 서비스 ID입니다. 이 값은 UI에 표시할 값이 아닙니다. |
| 응답 속성 | 설명 |
| 실제 문자열은 공식 서비스 이름과 다를 수 있습니다. | |
| 서비스아이콘 | URL 현재 서비스 아이콘의 |
| 혼합 | 0 또는 1. 0은 셔플 끄기를 의미하고 1은 셔플을 켜기를 의미합니다. |
| 잠 | 슬립 타이머가 작동하기까지 남은 시간(분)입니다. |
| 노래 | 재생 대기열에서 현재 트랙의 위치입니다. 스트림도 참조하세요.Url. |
| 상태 | 현재 플레이어 상태입니다. 재생, 일시 정지, 중지, 스트리밍, 연결 등이 있습니다. /Play는 일시 정지 상태에서는 재생을 재개하는 데 사용할 수 있지만, 정지 상태에서는 사용할 수 없습니다. 재생과 스트리밍은 같은 의미로 간주해야 합니다. 스트리밍도 참조하세요.Url. |
|
스테이션이미지 |
URL 라디오 방송국 이미지의 경우, 현재 오디오가 라디오 방송국인 경우(예: Deezer 라디오) 이미지와 동일할 수 있습니다. |
| 스트림 형식 | 오디오 형식. |
| 개울Url | 이 요소가 있으면 플래그로, 그 내용은 불투명 값으로 처리해야 합니다. 이 요소가 있으면 다음을 나타냅니다. · 재생 대기열이 현재 오디오의 소스가 아닙니다(노래는 무관함) · 셔플 및 반복은 관련이 없으므로 가능한 모든 UI에서 제거해야 합니다. · 다음 및 이전 기능을 사용할 수 없습니다(하지만 작업도 참조하세요) |
| 동기화 통계 | /SyncStatus 응답의 변경 사항을 나타내는 고유 ID입니다. /SyncStatus 응답의 syncStat 속성과 일치합니다. 동기화 상태가 변경될 때마다 변경됩니다. |
| 제목1 | 현재 오디오를 설명하는 첫 번째 정보 줄입니다. title1, title2 및 title3 현재 재생 중인 메타데이터를 세 줄로 표시하는 모든 UI의 텍스트로 반드시 사용해야 합니다. 앨범, 아티스트, 이름 등의 값은 사용하지 마세요. |
| 제목2 | 현재 오디오를 설명하는 두 번째 줄의 정보입니다. |
| 제목3 | 현재 오디오를 설명하는 세 번째 줄의 정보입니다. |
| 토틀렌 | 현재 트랙의 총 길이(초)입니다. |
| 두 줄 제목1 | 현재 오디오를 설명하는 두 줄 중 첫 번째 줄입니다. twoline_title1 및 twoline_title2가 있는 경우 두 줄을 표시하는 모든 UI의 텍스트로 사용해야 합니다. |
| 응답 속성 | 설명 |
| 현재 재생 중인 메타데이터의 줄. | |
| 두 줄 제목2 | 현재 오디오를 설명하는 두 줄 중 두 번째 줄입니다. |
| 용량 | 플레이어 볼륨 레벨(퍼센트)tage; -1은 플레이어 볼륨이 고정됨을 의미합니다. |
| 초 | 현재 오디오 트랙이 재생된 시간(초)입니다. |
Example
http://192.168.1.100:11000/Status
플레이어의 재생 상태를 가져옵니다.
http://192.168.1.100:11000/Status?타임아웃=100&etag=4e266c9fbfba6d13d1a4d6ff4bd2e1e6
롱 폴링을 사용하여 플레이어의 재생 상태를 가져옵니다. 플레이어 상태가 변경된 경우 100초 제한 시간 이전에만 결과가 반환됩니다. 그렇지 않으면 100초 후에 결과가 반환됩니다.
2.2 플레이어 및 그룹 동기화 상태
설명
SyncStatus 쿼리는 플레이어 정보와 플레이어 그룹 정보를 반환합니다. 이 쿼리는 여러 응답 속성을 반환하는데, 그중 일부는 이 문서에 적용되지 않습니다. 문서화되지 않은 응답은 무시해야 합니다.
요구
/SyncStatus?timeout=초&etag=etag-값
| 매개변수 | 설명 |
| 타임아웃 | 롱 폴링에 사용되는 선택적 매개변수입니다. 폴링 간격(초)입니다. 권장 폴링 간격은 180초입니다. |
| etag | 롱 폴링과 함께 사용되는 선택적 매개변수입니다. 이는 e입니다.tag 이전 /SyncStatus 호출 응답의 속성입니다. |
응답
<SyncStatus icon=”/images/players/P300_nt.png” volume=”4″ modelName=”PULSE” name=”PULSE0278″ model=”P300″ brand=”Bluesound” etag=”23″ outlevel=”-62.9″ schemaVersion=”25″ initialized=”true” group=”PULSE-0278 + 2″ syncStat=”23″ id=”192.168.1.100:11000″ mac=”90:56:82:9F:02:78″> 11000
…..
참고: 다음 표에 모든 응답 속성이 나열되어 있는 것은 아닙니다. 다른 요소가 있을 수 있으며, 이러한 요소는 무시해야 합니다.
| 응답 속성 | 설명 |
| 배터리 | 플레이어에 배터리 팩이 있는지 여부입니다. 다음 속성이 포함됩니다. · 레벨 - 충전 상태, 백분율 · 충전 중 – 현재 충전 중이면 1 · 아이콘 – URL 현재 충전 상태를 나타내는 플레이어 이미지 |
| 상표 | 플레이어 브랜드 이름. |
| db | dB 단위의 볼륨 레벨입니다. |
| etag | Tag /SyncStatus 응답의 경우 긴 폴링에 사용됩니다. |
| 그룹 | 그룹 이름. |
| 상 | URL 플레이어 아이콘 이미지가 포함되어 있습니다. |
| id | 플레이어 IP 및 포트. |
| 초기화됨 | True는 플레이어가 이미 설정되었음을 의미하고, False는 플레이어 설정이 필요함을 의미합니다. 플레이어는 BluOS Controller 앱으로 설정해야 합니다. |
| 스코틀랜드 사람 | 네트워크 인터페이스에 대한 플레이어 고유 ID입니다. MAC 주소일 수 있습니다. |
| 주인 | 마스터 플레이어 IP 주소입니다. 플레이어가 그룹에서 보조 플레이어인 경우에만 표시됩니다. 속성: · 포트 - 포트 번호. · 재연결 – 기본 플레이어에 재연결을 시도하는 경우 true |
| 모델 | 플레이어 모델 ID. |
| 모델명 | 플레이어 모델 이름. |
| 무음 | 볼륨이 음소거된 경우 1로 설정합니다. |
| 뮤트디비 | 플레이어가 음소거된 경우, 이는 음소거되지 않은 볼륨 레벨(dB)입니다. |
| 응답 속성 | 설명 |
| 음소거볼륨 | 플레이어가 음소거된 경우 이는 음소거 해제된 볼륨 레벨(0..100)입니다. |
| 이름 | 플레이어 이름. |
| 스키마 버전 | 소프트웨어 스키마 버전. |
| 노예 | 보조 플레이어 IP 주소입니다. 플레이어가 그룹의 주 플레이어인 경우에만 표시됩니다. 보조 플레이어는 여러 명일 수 있습니다. 속성: · id – IP 주소 · 포트 - 포트 번호 |
|
동기화 통계 |
동기화 상태 ID입니다. /SyncStatus 응답의 항목이 변경될 때마다 변경됩니다. 다음과 일치합니다. /Status 응답의 요소. |
| 용량 | 0..100 범위의 볼륨 레벨입니다. -1은 고정된 볼륨을 의미합니다. |
| 존 | 고정 그룹의 이름입니다. |
| 존마스터 | 플레이어가 고정된 그룹의 기본 플레이어인 경우 이 설정은 true로 설정됩니다. |
| 존슬레이브 | 플레이어가 고정된 그룹의 2차 플레이어인 경우 이 설정은 true로 설정됩니다. |
Example
http://192.168.1.100:11000/SyncStatus
플레이어와 플레이어의 그룹 상태를 가져옵니다.
http://192.168.1.100:11000/SyncStatus?타임아웃=100&etag=4e266c9fbfba6d13d1a4d6ff4bd2e1e6
롱 폴링을 사용하여 플레이어와 플레이어 그룹 상태를 가져옵니다. 플레이어 상태가 변경된 경우 100초 제한 시간 이전에만 결과가 반환됩니다. 그렇지 않으면 100초 후에 결과가 반환됩니다.
볼륨 조절
플레이어의 볼륨 레벨을 조절합니다. 플레이어를 음소거하는 데에도 사용됩니다.
3.1 볼륨 설정
설명
이 요청은 플레이어 볼륨을 쿼리하거나 설정합니다.
0~100 레벨, 절대 dB 또는 상대 dB 매개변수를 사용하는 모든 명령 변형은 설정된 볼륨 범위(일반적으로 -80~0) 내의 볼륨을 생성하는 값으로 제한됩니다. 볼륨 범위는 BluOS Controller 앱의 설정 -> 플레이어 -> 오디오 페이지에서 조정할 수 있습니다.
이 쿼리는 롱 폴링을 지원합니다(아래 그림 참조).
요구
/용량
/볼륨?레벨=레벨&텔_슬레이브=온_오프
/볼륨?음소거=켜기_끄기&텔_슬레이브=켜기_끄기
/볼륨?abs_db=db&tell_slaves=on_off
/볼륨?db=델타-db&tell_slaves=온_오프
| 매개변수 | 설명 |
| 수준 | 플레이어의 절대 볼륨 레벨을 설정합니다. 0에서 100 사이의 정수입니다. |
| 텔_슬레이브즈 | 그룹화된 플레이어에 적용됩니다. 0으로 설정하면 현재 선택된 플레이어의 볼륨만 변경됩니다. 1로 설정하면 그룹 내 모든 플레이어의 볼륨이 변경됩니다. |
| 무음 | 0으로 설정하면 플레이어가 음소거됩니다. 1로 설정하면 플레이어의 음소거가 해제됩니다. |
| abs_db | dB 스케일을 사용하여 볼륨을 설정합니다. |
| db | dB 볼륨 스케일을 사용하여 상대적인 볼륨 변화를 수행합니다. db는 양수 또는 음수가 될 수 있습니다. |
응답
<volume db=”-49.9″ mute=”0″ offsetDb=”0″ etag=”6213593a6132887e23fe0476b9ab2cba”>15</volume>
| 응답 속성 | 설명 |
| 응답 속성 | 설명 |
| db | dB 단위의 볼륨 레벨입니다. |
| 무음 | 플레이어가 음소거되면 1, 음소거 해제되면 0입니다. |
| 뮤트디비 | 플레이어가 음소거된 경우, 이는 음소거되지 않은 볼륨 레벨(dB)입니다. |
| 음소거볼륨 | 플레이어가 음소거된 경우 이는 음소거 해제된 볼륨 레벨(0..100)입니다. |
| 용량 | 현재 볼륨 레벨: 0..100 또는 고정 볼륨의 경우 -1. |
Example
http://192.168.1.100:11000/Volume?level=15
플레이어 볼륨 레벨을 15(100 중)로 설정합니다.
http://192.168.1.100:11000/Volume? tell_slaves=1&db=2
마스터 플레이어 192.168.1.100과 해당 그룹의 모든 보조 플레이어의 볼륨을 2dB 높입니다.
http://192.168.1.100:11000/Volume?mute=1
플레이어를 음소거합니다.
3.2 볼륨 높이기
설명
이 요청은 볼륨을 특정 dB만큼 증가시킵니다(일반적인 값은 2dB).
요구
/볼륨?db=db_value
| 매개변수 | 설명 |
| db | 볼륨 증가 단계(dB) (일반적인 값 2dB) |
응답
<volume db=”-25″ mute=”0″ offsetDb=”6″ etag=”a071a168fac1c879b1de291720c8a4b8″>27</volume>
| 응답 속성 | 설명 |
| db | dB 단위의 볼륨 레벨입니다. |
| 무음 | 플레이어가 음소거 상태이면 1, 플레이어가 음소거 상태가 아니면 0 |
| 응답 속성 | 설명 |
| 오프셋Db | |
| etag |
Example
http://192.168.1.100:11000/Volume?db=2
볼륨을 2dB 높이세요.
3.3 볼륨 낮추기
설명
이 요청은 볼륨을 특정 dB만큼 감소시킵니다(일반적인 값은 -2dB).
요구
/볼륨?db=-db_value
| 매개변수 | 설명 |
| db | 볼륨 증가 단계(dB) (일반적인 값 -2dB) |
응답
<volume db=”-25″ mute=”0″ offsetDb=”6″ etag=”a071a168fac1c879b1de291720c8a4b8″>27</volume>
| 응답 속성 | 설명 |
| db | 볼륨 레벨(dB) |
| 무음 | 플레이어가 음소거 상태이면 1, 플레이어가 음소거 상태가 아니면 0 |
| 오프셋Db | |
| etag |
Example
http://192.168.1.100:11000/Volume?db=-2
볼륨을 2dB 낮추세요.
3.4 음소거 켜기
설명
요구
/볼륨?음소거=1
| 매개변수 | 설명 |
| 무음 | 플레이어를 음소거하려면 1로 설정하세요 |
응답
<volume muteDb=”-43.1″ db=”100″
음소거 볼륨 = "11"
음소거="1"
offsetDb="0"
etag=”2105bed56563d9da46942a696cfadd63″>0</volume
>
| 응답 속성 | 설명 |
| 뮤트디비 | 음소거 전 볼륨 레벨(dB) |
| db | 볼륨 레벨(dB) |
| 음소거볼륨 | 음소거 전 볼륨 레벨(퍼센트) |
| 무음 | 1은 플레이어가 음소거되었음을 의미합니다. |
| 오프셋Db | |
| etag |
Example
http://192.168.1.100:11000/Volume?mute=1
3.5 음소거 끄기
설명
이 요청은 플레이어의 음소거를 해제합니다.
요구
/볼륨?음소거=0
| 매개변수 | 설명 |
| 무음 | 플레이어 음소거를 해제하려면 0으로 설정하세요. |
응답
<volume db=”-43.1″ mute=”0″ offsetDb=”0″ etag=”e72d53db17baa526ebb5ee9c26060b1f”>11</volume>
| 응답 속성 | 설명 |
| db | 볼륨 레벨(dB) |
| 무음 | 0은 플레이어가 음소거되지 않았음을 의미합니다. |
| 오프셋Db | |
| etag |
Example
http://192.168.1.100:11000/Volume?mute=0
재생 제어
이 명령들은 기본적인 재생 제어에 사용됩니다. 재생, 일시 정지, 정지, 건너뛰기, 뒤로 가기, 셔플, 반복 등의 명령이 있습니다.
4.1 플레이
설명
현재 오디오 소스의 재생을 시작합니다. 선택적 매개변수를 사용하면 오디오 재생을 시작하기 전에 오디오 트랙으로 이동하고 입력을 선택할 수 있습니다.
요구
/놀다
/재생?탐색=초
/재생?탐색=초&id=트랙ID
/놀다?url=인코딩된 스트림URL
| 매개변수 | 설명 |
| 구하다 | 현재 트랙의 지정된 위치로 이동합니다. /Status 응답에 다음이 포함된 경우에만 유효합니다. inputType 및 index 매개변수와 함께 사용할 수 없습니다. |
| 인코딩된 스트림URL | URL 스트리밍된 사용자 지정 오디오의 경우 URL 인코딩. |
응답
놀다
개울
| 응답 속성 | 설명 |
|
상태 |
명령을 실행한 후의 상태입니다. 자세한 내용은 /Status 응답 상태 속성을 참조하세요. |
Example
http://192.168.1.100:11000/Play
현재 트랙의 오디오 재생을 시작합니다.
http://192.168.1.100:11000/Play?seek=55
현재 트랙의 55초 지점에서 오디오 재생을 시작합니다.
http://192.168.1.100:11000/Play?seek=55&id=4
대기열에서 55번째 트랙의 5초 부분에서 오디오 재생을 시작합니다.
192.168.1.125:11000/재생?url=https%3A%2F%2Fwww%2Esoundhelix%2Ecom%2Fexamp레스%2Fmp3%
2FSoundHelix-노래-1%2Emp3
온라인 mp3 오디오의 재생을 시작합니다.
4.2 일시 중지
설명
현재 재생 중인 오디오를 일시 정지합니다.
알람이 재생 중이고 시간 초과가 있는 경우 알람 시간 초과는 취소됩니다.
요구
/정지시키다
/일시정지?토글=1
| 매개변수 | 설명 |
| 비녀장 | 1로 설정하면 현재 일시 정지 상태가 전환됩니다. |
응답
정지시키다
| 응답 속성 | 설명 |
| 상태 | 명령을 실행한 후의 상태입니다. 자세한 내용은 /Status 응답 상태 속성을 참조하세요. |
Example
http://192.168.1.100:11000/Pause
현재 재생 중인 오디오를 일시 정지합니다.
4.3 중지
설명
현재 재생 중인 오디오를 중지합니다. 알람이 재생 중이고 시간 초과가 발생한 경우 알람 시간 초과가 취소됩니다. 요청
/멈추다
| 매개변수 | 설명 |
| 없음 |
응답
멈추다
| 응답 속성 | 설명 |
| 상태 | "stop"은 현재 오디오가 중지되었음을 의미합니다. |
Example
http://192.168.1.100:11000/Stop
현재 재생 중인 오디오를 멈춥니다.
4.4 건너뛰기
설명
재생 대기열에서 다음 오디오 트랙으로 건너뜁니다.
재생 대기열에서 재생하는 경우 대기열의 다음 트랙으로 건너뜁니다. 현재 트랙이 대기열의 마지막 트랙인 경우, /Skip을 호출하면 대기열의 첫 번째 트랙으로 이동합니다. 반복 설정 상태와 관계없이 대기열의 다음 트랙이나 첫 번째 트랙으로 건너뜁니다.
재생 대기열을 사용하고 있는지 확인하려면 다음이 없는지 확인하십시오.Url> /Status 응답의 항목.
그러면 /Skip 명령을 사용할 수 있습니다.
일부 스트리밍 라디오 방송국의 트랙을 건너뛸 수도 있습니다. 이 기능은 /Action 명령을 사용하여 실행할 수 있습니다.
TuneIn 및 Optical Input과 같은 일부 소스는 건너뛰기 옵션을 지원하지 않습니다. 이러한 소스에는URL> 항목은 있지만 /Status 응답에 건너뛰기 작업 이름이 없습니다.
요구
/건너뛰다
| 매개변수 | 설명 |
| 없음 |
응답
21
| 응답 속성 | 설명 |
| id | 건너뛰기 명령을 실행한 후의 트랙 ID입니다. 자세한 내용은 /Status 응답 노래 속성을 참조하세요. |
Example
http://192.168.1.100:11000/Skip
다음 트랙으로 건너뜁니다.
4.5 뒤로
설명
트랙이 재생 중이고 4초 이상 재생된 경우 뒤로가기를 누르면 트랙의 시작 부분으로 돌아갑니다.
그렇지 않으면 뒤로 가기 명령을 실행하면 현재 재생 목록의 이전 곡으로 이동합니다. 재생 목록의 첫 번째 곡에서 뒤로 가기 명령을 실행하면 마지막 곡으로 이동합니다. 반복 설정 상태와 관계없이 대기열의 이전 트랙이나 첫 번째 트랙으로 이동합니다.
재생 대기열을 사용하고 있는지 확인하려면 다음이 없는지 확인하십시오.Url> /Status 응답의 요소.
그러면 /Back 명령을 사용할 수 있습니다.
일부 스트리밍 라디오 방송국의 이전 트랙으로 돌아갈 수도 있습니다. 이 작업은 /Action 명령을 사용하여 처리합니다.
TuneIn 및 Optical Input과 같은 일부 소스는 백 옵션을 지원하지 않습니다. 이러한 소스에는Url> 요소는 있지만 /Status 응답에는 건너뛰기 작업 이름이 없습니다.
요구
/뒤쪽에
| 매개변수 | 설명 |
| 없음 |
응답
19
| 응답 속성 | 설명 |
| id | 뒤로 가기 명령을 실행한 후의 트랙 ID입니다. 자세한 내용은 /Status 응답 노래 속성을 참조하세요. |
4.6 셔플
설명
shuffle 명령은 현재 대기열을 섞어 새 대기열을 만듭니다. 섞지 않은 원래 대기열은 셔플 기능이 비활성화되면 복원을 위해 보관됩니다.
요구
/셔플?상태=0|1
| 매개변수 | 설명 |
| 상태 | · 0으로 셔플을 비활성화합니다. · 1은 셔플을 활성화합니다. 대기열이 이미 셔플 상태인 경우에는 적용되지 않습니다. /Status 응답을 참조하세요. 요소. |
응답
| 응답 속성 | 설명 |
| 수정됨 | 1은 대기열이 로드된 이후 수정되었음을 의미합니다. 0은 그렇지 않음을 의미합니다. |
| 길이 | 현재 대기열에 있는 트랙의 총 수입니다. |
| 혼합 | 셔플 상태입니다. 1은 현재 대기열이 셔플되었음을 의미합니다. 0은 현재 대기열이 셔플되지 않았음을 의미합니다. |
| id | 현재 대기열 ID입니다. 재생 대기열이 수정될 때마다 변경됩니다. |
Example
http://192.168.1.100:11000/Shuffle?state=1
현재 재생 대기열을 섞습니다.
4.7 반복
설명
반복 옵션을 설정합니다. 반복은 세 가지 상태를 갖습니다. 0은 현재 대기열 반복, 1은 현재 트랙 반복, 2는 반복하지 않음을 의미합니다. 모든 반복은 무한대로, 즉 멈추지 않습니다.
요구
/반복?상태=0|1|2
| 매개변수 | 설명 |
| 상태 | · 0: 전체 재생 대기열을 반복합니다. · 1 현재 트랙을 반복합니다 · 2번 반복을 끄려면 |
응답
| 응답 속성 | 설명 |
| 길이 | 현재 재생 대기열에 있는 트랙의 총 수입니다. |
| id | 현재 대기열 ID입니다. 재생 대기열이 수정될 때마다 변경됩니다. |
| 반복하다 | 현재 반복 상태입니다. |
Example
http://192.168.1.100:11000/Repeat?state=1
현재 재생 중인 트랙을 반복합니다.
4.8 라디오 방송국 스트리밍을 위한 작업
설명
액션을 사용하면 Slacker, Radio Paradise 또는 Amazon Music Prime Stations와 같은 일부 스트리밍 라디오 방송국에서 트랙을 앞으로 건너뛰거나, 뒤로 돌아가거나, 좋아요를 누르거나, 금지할 수 있습니다. 스트리밍 라디오 방송국은 재생 대기열에 트랙을 로드하지 않습니다. 대신 URL 원하는 기능을 달성하는 데 사용할 수 있습니다.
건너뛰기는 다음 트랙으로 이동합니다. 뒤로는 이전 트랙으로 이동합니다. Love는 음악 서비스에서 해당 트랙을 '좋아요'로 표시합니다. Ban은 다음 트랙으로 건너뛰고 해당 트랙을 음악 서비스에서 '싫어요'로 표시합니다.
만약 있다면Url> /Status 응답의 항목과 적절한 작업을 통해 이러한 기능을 수행할 수 있습니다. 작업에는 다음이 포함됩니다. URL 이는 동작을 실행하는 데 사용됩니다.
여기 전직이 있습니다ampSlacker 라디오를 재생하는 플레이어의 /Status 응답에서 나온 내용:
<action name=”skip” url="/Action?service=슬래커&스킵=4799148"/>
<action icon=”/images/loveban/love.png” name=”love” notification=”Track marked as favorite” state=”1″ text=”Love” url=”/Action?service=Slacker&love=4799148″/>
<action icon=”/images/loveban/ban.png” name=”ban” notification=”Track banned from this
스테이션” 상태 =”-1″ 텍스트 =”금지” url="/Action?service=슬래커&금지=4799148"/>
이 전에서ample, back은 사용할 수 없지만 skip, love, ban은 가능합니다.
요구
/Action?service=서비스-이름&action=action-URL
메모: 특정 요청 세부 정보(엔드포인트 및 매개변수)는 각각의 요소. Ex의 명령amp아래 섹션은 모두 /Action을 사용하지만 모든 URI가 가능합니다.
| 매개변수 | 설명 |
| 에서 제공됨 요소. |
응답
응답에 대해서는 작업 확인 메시지를 받습니다. 건너뛰기 및 뒤로 이동에 대해서는 다음과 같은 메시지를 받습니다.
당신이 받는 사랑에는:
1
금지에 대해 다음을 받습니다.
1
| 응답 속성 | 설명 |
| 응답 | 응답의 루트 요소가 그러면 텍스트 노드는 사용자에게 표시할 알림입니다. 대체 루트 요소가 반환되고 알림 속성을 포함시킨 경우 해당 알림이 표시되어야 합니다. |
Example
http://192.168.1.100:11000/Action?service=Slacker&skip=10965139
다음 Slacker 라디오 트랙으로 넘어갑니다.
http://192.168.1.100:11000/Action?service=Slacker&ban=33332284
현재 재생 중인 Slacker 라디오 트랙을 금지하고 다음 트랙으로 건너뜁니다.
재생 대기열 관리
플레이어의 작동 모드 중 하나는 재생 대기열에 트랙을 로드한 다음 해당 재생 대기열의 트랙을 재생하는 것입니다. 이 명령을 사용하면 view 재생 대기열을 관리합니다.
5.1 트랙 목록
설명
재생 대기열 상태를 반환하거나 재생 대기열의 모든 트랙에 대한 정보를 반환합니다.
길이나 시작 및 종료 매개변수 없이 이 쿼리를 사용하는 것은 권장되지 않습니다. 그렇지 않으면 매우 긴 응답이 생성될 수 있습니다.
요구
/재생목록
/재생목록?길이=1
/Playlist?start=first&end=last (일반적으로 페이지 매김을 위해 대기열의 일부를 검색함)
| 매개변수 | 설명 |
| 길이=1 | 최상위 속성만 반환하고 트랙 세부 정보는 반환하지 않습니다. |
| 시작 | 응답에 포함할 대기열의 첫 번째 항목입니다. 0부터 시작합니다. |
| 끝 | 응답에 포함할 대기열의 마지막 항목입니다. |
응답
재생 대기열 상태:
13
243
1
재생 대기열 목록:
2002
앤마리
2002
디저:487381362
| 응답 속성 | 설명 |
| 이름 | 현재 재생 대기열 이름입니다. |
| 수정됨 | 0은 대기열이 로드된 이후로 수정되지 않았음을 의미합니다. 1은 대기열이 로드된 이후로 수정되었음을 의미합니다. |
| 길이 | 현재 대기열의 총 트랙 수 |
| id | 현재 대기열 상태에 대한 고유 ID(예: 1054). 다음과 같습니다. /Status 응답. |
| 노래 | 노래는 여러 하위 요소로 구성되어 있습니다. · albumid = 트랙이 있는 앨범의 ID · 서비스 = 트랙의 음악 서비스 · artistid = 트랙 아티스트의 ID · songid = 노래 ID · id = 현재 대기열의 트랙 위치입니다. 트랙이 현재 선택되어 있는 경우 트랙 ID는 다음과 같습니다. /Status 응답. · 제목 = 트랙 이름 · art = 작가 이름 · alb = 앨범 이름 |
Example
http://192.168.1.100:11000/Playlist
재생 대기열에 있는 모든 트랙을 나열합니다.
http://192.168.1.100:11000/Playlist?length=1
5.2 트랙 삭제
설명
현재 재생 대기열에서 트랙을 제거합니다.
요구
/삭제?id=위치
| 매개변수 | 설명 |
| id | 현재 재생 대기열에서 삭제할 트랙의 트랙 ID입니다. |
응답
9
| 응답 속성 | 설명 |
| 삭제됨 | 제거할 트랙의 대기열 위치입니다. |
Example
http://192.168.1.100:11000/Delete?id=9
재생 대기열에서 위치 9에 있는 트랙을 제거합니다.
5.3 트랙 이동
설명
현재 재생 대기열 내에서 트랙을 이동합니다.
요구
/이동?새=목적지&이전=원점
| 매개변수 | 설명 |
| 새로운 | 트랙의 새로운 위치가 이동합니다. |
| 오래된 | 이동 중인 트랙의 이전 위치입니다. |
응답
움직이는
| 응답 속성 | 설명 |
| 움직이는 | 트랙이 이동되었음을 나타냅니다. |
Example
http://192.168.1.100:11000/Move?new=8&old=2
재생 대기열에서 위치 2의 트랙을 위치 8로 이동합니다.
5.4 대기열 지우기
설명
현재 재생 대기열에서 모든 트랙을 지웁니다.
요구
/분명한
| 매개변수 | 설명 |
| 없음 |
응답
| 응답 속성 | 설명 |
| 수정됨 | 0은 대기열이 로드된 이후 수정되지 않았음을 의미하고, 1은 대기열이 로드된 이후 수정되었음을 의미합니다. |
| 길이 | 현재 대기열에 있는 트랙의 총 수입니다. |
| id | 현재 대기열의 고유 ID입니다. |
Example
http://192.168.1.100:11000/Clear
이렇게 하면 재생 대기열에서 모든 트랙이 제거됩니다.
5.5 대기열 저장
설명
재생 대기열을 이름이 지정된 BluOS 재생 목록으로 저장합니다.
요구
/저장?이름=재생목록_이름
| 매개변수 | 설명 |
| 이름 | 저장된 재생 대기열 이름입니다. |
응답
126
| 응답 속성 | 설명 |
| 항목 | 저장된 재생 대기열에 있는 트랙의 총 수입니다. |
Example
http://192.168.1.100:11000/Save?name=Dinner+Music
이렇게 하면 재생 대기열이 "저녁 음악"으로 저장됩니다.
사전 설정
프리셋 요청을 사용하면 플레이어의 모든 프리셋을 나열하고, 프리셋을 로드하고, 프리셋을 단계적으로 올리거나 내릴 수 있습니다. 프리셋은 BluOS Controller 앱을 사용하여 추가 및 삭제해야 합니다. 프리셋에는 라디오 방송국, 재생 목록, 입력(예:
블루투스, 아날로그, 광, HDMI ARC).
6.1 목록 사전 설정
설명
현재 BluOS 플레이어의 모든 사전 설정을 나열합니다.
요구
/사전 설정
| 매개변수 | 설명 |
| 없음 |
응답
<preset id=”6″ name=”Serenity” url=”라디오파라다이스:/42:4/세레니티”
image=”https://img.radioparadise.com/channels/0/42/cover_512x512/0.jpg”/>
<preset id=”7″ name=”1980s Alternative Rock Classics” url=”/로드?서비스=Tidal&아이디=fd3f797e-
a3e9-4de9-a1e2-b5adb6a57cc7″ image=”/Artwork?service=Tidal&playlistimage=afacfc12-24034caf-a5c5-a2af28d811c8″/> </presets>
| 응답 속성 | 설명 |
| 프라이드 | 플레이어 사전 설정의 고유 ID입니다. /Status 응답. |
| 이름 | 사전 설정 이름. |
| id | 사전 설정된 ID입니다. |
| url | 사전 설정 URL. 사전 설정된 소스입니다 URL 사전 설정을 로드하는 데 사용됩니다. |
| 영상 | 영상 URL 사전 설정의. URL /Artwork로 시작하면 리디렉션될 수 있습니다. 매개변수/키 추가 팔로우리디렉션=1 이미지를 검색할 때 리디렉션을 피할 수 있습니다. |
Example
http://192.168.1.100:11000/Presets
플레이어의 모든 사전 설정을 나열합니다.
6.2 사전 설정 로드
설명
프리셋 재생을 시작합니다. 특정 프리셋 번호는 물론, 다음 또는 이전 프리셋도 선택할 수 있습니다. 프리셋 번호는 순차적일 필요는 없습니다. 즉, 1,2,3, 5, 7, 8, XNUMX, XNUMX번 프리셋을 사용할 수 있습니다. 프리셋은 위에서 아래로, 아래에서 위로 순환합니다.
요구
/프리셋?id=프리셋Id|-1|+1
| 매개변수 | 설명 |
| id | 로드할 프리셋의 ID 번호입니다. 사용 가능한 프리셋 ID 목록은 '프리셋 표시' 명령을 사용하여 확인할 수 있습니다. 프리셋 ID가 +1이면 다음 프리셋을 로드하고, 프리셋 ID가 -1이면 이전 프리셋을 로드합니다. |
응답
사전 설정이 트랙 목록인 경우 로드된 사전 설정의 트랙 번호를 반환합니다.
60
사전 설정이 라디오인 경우 스트림 상태를 반환합니다.
개울
| 응답 속성 | 설명 |
| 서비스 | 로드된 사전 설정의 서비스 이름 |
| 항목 | 사전 설정된 트랙 수 로드됨 |
Example
http://192.168.1.100:11000/Preset?id=4
프리셋 ID가 4인 프리셋을 로드합니다.
http://192.168.1.100:11000/Preset?id=+1
콘텐츠 탐색 및 검색
이 섹션에서는 음악 서비스 콘텐츠 탐색 및 검색을 위한 명령을 설명합니다.
7.1 음악 콘텐츠 탐색
설명
사용 가능한 음악 소스, 입력 및 재생 목록을 탐색합니다.
응답의 루트 요소는 다음과 같습니다. 오류 응답이 없는 한 대부분의 결과는 다음과 같은 순서입니다. . 어떤 경우에는 결과가 다음과 같은 순서로 나타납니다. 각각은 시퀀스를 포함합니다. 모든 값은 속성을 사용하여 제공됩니다. 텍스트 노드는 없습니다.
/Browse 호출의 결과는 다음에 포함된 오류일 수 있습니다. 루트 요소입니다. 오류에 대한 세부 정보는 하나로 제공됩니다. 그리고 0개 이상 텍스트 노드.
요구
/찾아보기?키=키-값
/찾아보기?키=키-값&withContextMenuItems=1
| 매개변수 | 설명 |
| 열쇠 | 선택적 매개변수입니다. 이 매개변수가 없으면 최상위 탐색이 수행됩니다. 최상위 탐색 이외의 수준에 대한 정보를 반환합니다. 이전 응답의 "browseKey", "nextKey", "parentKey" 또는 "contextMenuKey" 속성 값에서 가져온 값을 사용합니다. 참고: 키-값은 다음과 같아야 합니다. URL 인코딩됨 |
| 컨텍스트 메뉴 항목 포함 | 선택적 매개변수입니다. 값은 항상 1입니다. 이 매개변수는 재생 목록, 앨범, 트랙, 방송국, 아티스트 등의 검색 결과를 얻을 때 인라인 컨텍스트 메뉴를 가져오는 데 사용됩니다. |
응답
최상위 수준 검색 응답:
<item image=”/images/InputIcon.png” text=”Optical Input”
놀다URL=”/재생?url=Capture%3Ahw%3A1%2C0%2F1%2F25%2F2%2Finput1″ inputType=”spdif”
유형="오디오"/>
다른 레벨 탐색 응답:
<browse sid=”16″ serviceIcon=”/Sources/images/DeezerIcon.png” serviceName=”Deezer”
서비스="Deezer" 검색키="Deezer:검색" 유형="메뉴">
항목 찾아보기키="/재생목록?서비스=Deezer&genre=0&category=상위목록" 텍스트="인기 재생목록"
유형="링크"/>
유형="링크"/>
유형="링크"/>
항목 찾아보기키="/노래?서비스=Deezer&genre=0&category=상위목록" 텍스트="인기곡"
유형="링크"/>
| 응답 속성 | 설명 |
| 아래의 요소/속성 표를 참조하세요. |
Example
메모: 모든 주요 매개변수는 UTF-8로 인코딩되어야 합니다.
http://192.168.1.100:11000/Browse
최상위 레벨 탐색을 수행합니다.
http://192.168.1.100:11000/Browse?key=Tidal%3A
2차 검색을 통해 Tidal 카테고리를 반환합니다.
http://192.168.1.100:11000/Browse?key=Tidal%3AmenuGroup%2F3
3단계 탐색을 통해 Tidal Masters(그룹 XNUMX) 하위 카테고리로 돌아갑니다.
http://192.168.1.100:11000/Browse?key=%2FAlbums%3Fservice%3DTidal%26category%3Dmasters
네 번째 레벨로 탐색하면 Tidal Masters 앨범의 첫 번째 세트가 반환됩니다.
http://192.168.1.100:11000/Browse?key=%2FAlbums%3Fservice%3DTidal%26category%3Dmasters%26 start%3D30%26end%3D79
네 번째 레벨로 넘어가서 Tidal Masters 앨범의 두 번째 세트를 살펴봅니다.
| 요소 | 속성(및 값) | 설명 | |
| 서비스아이콘 | 현재 탐색 중인 서비스의 아이콘에 대한 URI입니다. | ||
| 서비스 이름 | 사용자에게 표시하기 위해 현재 탐색 중인 서비스의 이름입니다. | ||
| 검색키 | /Browse 요청에 대한 키 매개변수로 현재 서비스(또는 계층 구조의 더 깊은 부분)를 검색하는 데 사용할 값입니다. 또한, 요청에는 검색어를 포함하는 aq 매개변수가 있어야 합니다. | ||
| 다음 키 | 현재 항목의 다음 페이지를 가져오기 위해 /Browse 요청에 대한 키 매개변수에 사용할 값 view. 페이징 청크 크기는 API 사용자가 제어할 수 없으며 이 값의 쿼리 매개변수를 구문 분석하거나 조작하려고 시도해서는 안 됩니다. | ||
| 부모키 | 기본 뒤로 가기 탐색을 재정의해야 하는 경우 계층 구조를 따라 위로 올라가기 위해 /Browse 요청에 대한 키 매개변수에 사용할 값입니다. | ||
| 유형 | 메뉴 | 모든 유형의 항목을 포함할 수 있는 탐색 노드입니다. 일반적으로 링크 또는 오디오 항목만 포함합니다. | |
| 컨텍스트 메뉴 | 지정된 유형의 항목 목록입니다. | ||
| 아티스트 | |||
| 요소 | 속성(및 값) | 설명 | |
| 작곡가들 | |||
| 앨범 | |||
| 재생목록 | |||
| 트랙 | |||
| 장르 | |||
| 섹션 | 알파벳 섹션. | ||
| 아이템 | 일반 결과 목록입니다. 대부분 메뉴 노드(type="link")와 라디오 항목(type="audio")이 혼합되어 있습니다. | ||
| 폴더 | 하위 폴더, 트랙 및 재생 목록 항목이 포함될 수 있습니다. | ||
| 텍스트 | 해당 카테고리로 이동합니다. | ||
| 다음 키 | /Browse 요청에 대한 키 매개변수로 사용하여 해당 카테고리의 항목의 다음 페이지를 가져오는 값입니다. | ||
| 부모키 | 기본 뒤로 가기 탐색을 재정의해야 하는 경우 계층 구조를 따라 위로 올라가기 위해 /Browse 요청에 대한 키 매개변수에 사용할 값입니다. | ||
| 유형 | 링크 | 추가 노드로 연결되는 탐색 계층의 일반 노드 | |
| 오디오 | 직접 플레이 가능한 노드 | ||
| 아티스트 | 아티스트를 대표하는 아이템 | ||
| 요소 | 속성(및 값) | 설명 | |
| 작곡가 | 작곡가를 나타내는 항목 | ||
| 앨범 | 앨범이나 유사한 컬렉션을 나타내는 항목 | ||
| 플레이리스트 | 재생 목록 또는 유사한 컬렉션을 나타내는 항목 | ||
| 길 | 단일 트랙을 나타내는 항목 | ||
| 텍스트 | 일반 텍스트 노드. | ||
| 부분 | 알파벳순 섹션. | ||
| 접는 사람 | 폴더 내의 폴더를 탐색합니다. | ||
| 텍스트 | 품목 설명의 주요 또는 첫 번째 줄 | ||
| 텍스트2 | 두 번째 줄 | ||
| 영상 | 해당 항목의 아이콘 또는 아트워크입니다. 이미지가 다음으로 시작하는 경우
/Artwork를 추가하면 리디렉션될 수 있습니다. 매개변수/키를 추가하세요. 팔로우리디렉션=1 이미지를 검색할 때 리디렉션을 피할 수 있습니다. |
||
| 브라우즈키 | 계층 구조를 따라 내려가기 위해 후속 /Browse 요청에 대한 주요 매개변수로 사용할 값입니다. | ||
| 놀다URL | 해당 항목의 기본 재생 동작을 직접 호출할 수 있는 URI입니다. 일반적으로 대기열을 비우고 재생을 시작합니다. | ||
| 자동 재생URL | 트랙을 대기열에 추가하고 재생하고 포함 개체(예: 앨범)에서 후속 트랙을 자동 채우기에 추가하기 위해 직접 호출할 수 있는 URI입니다. | ||
| 요소 | 속성(및 값) | 설명 |
| 재생 대기열의 섹션입니다. | ||
| 컨텍스트메뉴키 | /Browse 요청에 대한 주요 매개변수로 사용할 값으로, 항목과 관련된 작업의 컨텍스트 메뉴 결과를 얻습니다. | |
| 행동URL | 지정된 작업을 수행하기 위해 직접 호출할 수 있는 URI입니다. |
상황에 맞는 메뉴 항목은 type 속성에 대해 다음과 같은 값을 가질 수 있습니다.
| 기인하다 | ||
| 설명 | ||
| 가장 좋아하는 | -추가하다 | 해당 항목을 즐겨찾기(또는 동등한 항목)로 추가합니다. |
| -삭제 | 사용자의 즐겨찾기에서 항목을 제거합니다. | |
| 추가하다 | 재생 대기열에 추가 | |
| 추가하다 | -지금 | 현재 트랙 다음에 재생 대기열에 추가하고 지금 재생하세요 |
| -다음 | 현재 트랙 다음에 재생 대기열에 추가 | |
| -마지막 | 재생 대기열 끝에 추가 | |
| 모두 추가 | -지금 | 재생 대기열에 다중 트랙 객체를 추가하고 지금 재생하세요 |
| -다음 | 현재 트랙 또는 다중 트랙 개체 다음에 재생 대기열에 다중 트랙 개체를 추가합니다. | |
| -마지막 | 재생 대기열 끝에 다중 트랙 개체 추가 | |
| 라디오 재생 | 해당 항목과 관련된 라디오 방송국을 재생합니다. | |
| 삭제 | 개체(일반적으로 재생 목록)를 삭제합니다. 사용자 확인을 요청해야 합니다. |
매개변수 "withContextMenuItem=1"로 검색할 경우 결과에 인라인 컨텍스트 메뉴가 포함됩니다.
Example
http://192.168.1.100:11000/Browse?key=%2FAlbums%3Fservice%3DDeezer%26genre%3D0%26category %3Dtoplist&withContextMenuItems=1
Deezer => 인기곡 => 인기 앨범으로 인라인 컨텍스트 메뉴를 요청합니다.
응답
응답에는 인라인이 포함되어 있습니다. 각 항목에 대해.
<item text=”Essonne History X” contextMenuKey=”Deezer:contextMenu/Album?albumid=693798541″
놀다URL=”/추가?서비스=Deezer&앨범=693798541&지금재생=1″ 이미지=”/아트워크?서비스=Deezer&앨범=693798541″
browseKey="Deezer:앨범?아티스트=지악&앨범=에손히스토리&앨범미드=20" text20="지악" type="앨범">
<item text=”Favorite” type=”favourite-add” actionURL=”/AddFavourite?service=Deezer&albumid=693798541″/>
<item text=”Play now” type=”add-now”
행동URL=”/Add?service=Deezer&playnow=1&clear=0&shuffle=0&where=nextAlbum&albumid=693798541″/>
<item text=”Shuffle” type=”add-shuffle”
행동URL=”/Add?service=Deezer&shuffle=1&playnow=1&where=nextAlbum&albumid=693798541″/>
<item text=”Add next” type=”addAll-next” actionURL=”/Add?service=Deezer&playnow=-1&where=nextAlbum&albumid=693798541″/>
<item text=”Add last” type=”addAll-last” actionURL=”/Add?service=Deezer&playnow=-1&where=last&albumid=693798541″/>
…
구현 참고 사항 및 힌트
항목의 유형 속성은 다양한 표시 옵션을 용이하게 하는 힌트로 제공됩니다.
항목의 내용을 탐색할 수 있는 기능은 browseKey 속성이 있는 것으로 표시됩니다. (전체) 항목을 재생할 수 있는 기능은 play 속성이 있는 것으로 표시됩니다.URL (그리고 아마도 자동 재생도 가능URL) 속성. 항목에는 찾아보기 키 속성과 재생 속성이 모두 있을 수 있습니다.URL 기인하다.
둘 다 플레이할 때URL 그리고 자동재생URL 사용 가능한 속성이 있으며, 어떤 속성을 기본 재생 옵션으로 사용할지는 사용자 기본 설정에 따라 결정됩니다.
URI 값은 일반적으로 절대 경로 구성 요소를 포함하는 상대 URI입니다. 상대 URI는 RFC 3986에 따라 절대 URI로 변환됩니다.
/Browse 요청의 키 매개변수 값으로 사용되는 경우, 다른 모든 요청 매개변수와 마찬가지로, browseKey, contextMenuKey 및 searchKey 속성 값은 항상 URI 인코딩(퍼센트 이스케이프)되어야 합니다.
탐색 계층 구조를 내려갈 때 UI 페이지 헤더에 일종의 빵가루를 표시하는 것이 유용할 수 있으며, 아마도 부모 노드와 조부모 노드의 제목(텍스트)을 사용하는 것이 좋을 것입니다.
자식을 탐색할 때 부모의 상황에 맞는 메뉴를 제공하는 것이 유용할 수 있습니다.
자식을 어떻게 표시할지 결정할 때 부모의 유형을 고려하는 것이 유용할 수 있습니다.
7.2 음악 콘텐츠 검색
설명
서비스 내에서 검색하는 명령입니다.
요구
/찾아보기?키=키-값&q=검색텍스트
| 매개변수 | 설명 |
| 열쇠 | 이전 응답의 "searchKey" 속성 값에서 가져온 값 |
| q | 검색 문자열입니다. 응답의 searchKey 속성에서 가져온 key 매개변수로 지정된 컨텍스트를 검색합니다. key 매개변수가 없는 경우 최상위 검색을 수행합니다. |
응답
<browse sid=”16″ serviceIcon=”/Sources/images/DeezerIcon.png” serviceName=”Deezer”
서비스="Deezer" 검색키="Deezer:검색" 유형="메뉴">
최상위 검색 결과를 반환합니다. 아티스트, 앨범, 노래 또는 재생목록에 대한 추가 검색 결과를 보려면 "browseKey"를 키로 사용하는 찾아보기 명령이 필요합니다.
예를 들어amp앨범 검색 결과를 보려면 다음 명령을 보내세요.
http://192.168.1.100:11000/Browse?key=%2FAlbums%3Fservice%3DDeezer%26expr%3Dmichael
응답은 일반적인 /Browse 명령에 대한 응답과 동일합니다.
| 응답 속성 | 설명 |
| 찾아보기 명령에서 요소/속성 테이블을 참조하세요. |
Example
http://192.168.1.100:11000/Browse?key=Deezer:Search&q=michael 검색 Deezer 음악 서비스 내의 "michael".
플레이어 그룹화
이 섹션에서는 기본 플레이어 그룹화 및 그룹 해제 명령에 대해 설명합니다. BluOS는 고정 그룹화도 지원하지만, 이는 이 문서의 범위를 벗어납니다.
BluOS는 기본 플레이어와 보조 플레이어라는 용어를 사용합니다. 기본 플레이어는 그룹의 주요 플레이어입니다. 기본 플레이어는 음악 소스를 선택하는 데 사용됩니다. 기본 플레이어는 하나뿐입니다. 보조 플레이어는 기본 플레이어에 연결되어 있습니다. 보조 플레이어는 여러 개일 수 있습니다.
플레이어가 보조 플레이어인 경우, 보조 플레이어로 전달되는 많은 요청은 내부적으로 기본 플레이어로 프록시됩니다. 여기에는 /Status, 재생 제어, 재생 대기열 관리, 콘텐츠 탐색 및 검색 요청이 포함됩니다.
8.1 XNUMX조 선수
설명
2차 플레이어 1명을 1차 플레이어에 그룹화합니다.
요구
/AddSlave?slave=secondaryPlayerIP&port=secondaryPlayerPort&group=그룹 이름
| 매개변수 | 설명 |
| 노예 | 2차 플레이어의 IP 주소입니다. |
| 포트 | 보조 플레이어의 포트 번호입니다. 기본 포트 번호는 11000입니다. 하나의 IP에 플레이어 580개를 연결하는 NAD CIXNUMX과 같은 플레이어는 여러 개의 포트를 사용합니다. |
| 그룹 | 선택 사항. 그룹 이름입니다. 지정하지 않으면 BluOS에서 기본 그룹 이름을 지정합니다. |
응답
| 응답 속성 | 설명 |
| 노예 항구 | 방금 그룹화된 보조 플레이어의 포트 번호입니다. |
| Id | 방금 그룹화된 보조 플레이어의 ID입니다. |
Example
http://192.168.1.100:11000/AddSlave?slave=192.168.1.153&port=11000
플레이어 192.168.1.153을 플레이어 192.168.1.100으로 그룹화합니다. 플레이어 192.168.1.100이 주 플레이어입니다.
8.2 그룹에 여러 플레이어 추가
설명
두 명 이상의 플레이어를 기본 플레이어로 그룹화합니다.
요구
/AddSlave?slaves=secondaryPlayerIPs&ports=secondaryPlayerPorts
| 매개변수 | 설명 |
| 노예들 | 기본 플레이어에 추가될 보조 플레이어의 IP 주소입니다. IP 주소는 쉼표로 구분하여 입력하세요. |
| 포트 | 기본 플레이어에 추가할 보조 플레이어의 포트입니다. 포트 번호는 쉼표로 구분합니다. |
응답
| 응답 속성 | 설명 |
| 포트 | 그룹화된 2차 플레이어의 포트입니다. |
| Id | 그룹화된 보조 플레이어의 ID입니다. |
Example
http://192.168.1.100:11000/AddSlave?slaves=192.168.1.153,192.168.1.120&ports=11000,11000
192.168.1.153차 플레이어 192.168.1.120 및 192.168.1.100을 XNUMX차 플레이어 XNUMX으로 그룹화합니다.
8.3 그룹에서 한 명의 플레이어 제거
그룹에서 플레이어를 제거합니다. 그룹에서 보조 플레이어를 제거하면 보조 플레이어는 그룹에서 해제됩니다. 3명 이상의 플레이어로 구성된 그룹에서 주 플레이어를 제거하면 주 플레이어는 그룹에서 해제되고 나머지 보조 플레이어들은 새로운 그룹을 형성합니다.
요구
/RemoveSlave?slave=secondaryPlayerIP&port=secondaryPlayerPort
| 매개변수 | 설명 |
| 노예 | 다른 플레이어(1차)에 추가될 플레이어(2차)의 IP입니다. |
| 포트 | 다른 플레이어(1차)에 추가될 플레이어(2차)의 포트입니다. |
응답
<SyncStatus icon=”/images/players/P300_nt.png” volume=”4″ modelName=”PULSE” name=”PULSE0278″ model=”P300″
브랜드="블루사운드" etag=”25″ outlevel=”-62.9″ schemaVersion=”25″ initialized=”true” group=”PULSE-0278+POWERNODE-0A6A” syncStat=”25″ id=”192.168.1.100:11000″mac=”90:56:82:9F:02:78″>
| 응답 속성 | 설명 |
| 자세한 내용은 /SyncStatus를 참조하세요. |
Example
http://192.168.1.100:11000/RemoveSlave?slave=192.168.1.153&port=11000
기본 플레이어 192.168.1.153이 있는 그룹에서 플레이어 192.168.1.100을 그룹 해제합니다.
8.4 그룹에서 여러 플레이어 제거
설명
그룹에서 두 명 이상의 플레이어를 제거합니다.
요구
/RemoveSlave?slaves=secondaryPlayerIPs&ports=secondaryPlayerPorts
| 매개변수 | 설명 |
| 노예들 | 기본 플레이어에서 제거할 보조 플레이어의 IP 주소입니다. IP 주소는 쉼표로 구분하여 입력하세요. |
| 매개변수 | 설명 |
| 포트 | 주 플레이어에서 제거할 보조 플레이어의 포트입니다. 포트 번호는 쉼표로 구분합니다. |
응답
<SyncStatus icon=”/images/players/P300_nt.png” volume=”4″ modelName=”PULSE” name=”PULSE0278″ model=”P300″ brand=”Bluesound” etag=”41″ outlevel=”-62.9″ schemaVersion=”25″ initialized=”true” syncStat=”41″ id=”192.168.1.100:11000″ mac=”90:56:82:9F:02:78″></SyncStatus>
| 응답 속성 | 설명 |
| 자세한 내용은 /SyncStatus를 참조하세요. |
Example
http://192.168.1.100:11000/RemoveSlave?slaves=192.168.1.153,192.168.1.120&ports=11000,11000
기본 플레이어 192.168.1.153이 있는 그룹에서 플레이어 192.168.1.120 및 192.168.1.100을 제거합니다.
플레이어 재부팅
이 섹션에서는 플레이어 소프트 재부팅에 대한 명령을 설명합니다.
9.1 플레이어 재부팅
설명
플레이어를 소프트 리부팅합니다.
요구
매개변수 yes(모든 값)를 사용한 POST 명령 /reboot
| 매개변수 | 설명 |
| 예 | 모든 값(예: 1). |
응답
설정이 업데이트되었습니다
재부팅 중입니다. 이 창을 닫아주세요.
기다리세요…
Example
curl -d 예=1 192.168.1.100/재부팅
초인종 소리
이 섹션에서는 플레이어 도어벨 차임에 대한 명령을 설명합니다.
10.1 초인종 소리
설명
초인종 소리를 활성화합니다.
요구
http://PLAYERIP:PORT/Doorbell?play=1
| 매개변수 | 설명 |
| 놀다 | 초인종 소리 재생(항상 1) |
응답
| 응답 속성 | 설명 |
| ~할 수 있게 하다 | 차임을 표시하다 |
| 용량 | 차임 볼륨 |
| 차임 | 차임 오디오 |
Example
http://192.168.1.100:11000/Doorbell?play=1 play doorbell chime
직접 입력
이 섹션에서는 직접 입력 소스를 선택하기 위한 명령을 설명합니다.
11.1 활성 입력 선택
설명
활성 입력 소스 선택. 이 명령은 /RadioBrowse?service=Capture 응답에 나타나는 활성 입력에 대해 작동합니다. BluOS HUB 입력 선택은 이 명령에서만 지원됩니다.
요구
/놀다?url=URL_값
| 매개변수 | 설명 |
| url | 그만큼 URL /RadioBrowse?service=Capture에 대한 응답의 속성 |
응답
개울
| 응답 속성 | 설명 |
| 상태 | 입력이 재생 중임을 나타냅니다. |
Example
1단계. URL매개변수의 값 url
요청: http://192.168.1.100:11000/RadioBrowse?service=Capture
응답:
<item playerName=”Tick
"틱" 텍스트="블루투스" 입력 유형="블루투스" id="입력2" URL=”캡처%3Abluez%3A블루투스” 이미지=” /images/BluetoothIcon.png” 유형=”오디오”/>
<item playerName=”Tick Tick” text=”Analog
입력” inputType="analog" id="input0" URL=”Capture%3Aplughw%3Aimxnadadc%2C0%2F48000%2F 24%2F2%3Fid%3Dinput0″ image=”/images/capture/ic_analoginput.png” type=”audio”/>
<item playerName=”Tick Tick” text=”Optical
입력” inputType="spdif" id="input1" URL=”Capture%3Ahw%3Aimxspdif%2C0%2F1%2F25%2F2%3Fid%
3Dinput1″ 이미지="/images/capture/ic_opticalinput.png" 유형="오디오"/>
<item playerName=”Tick
"틱" 텍스트="스포티파이" id="스포티파이" URL=”Spotify%3Aplay” 이미지=”/Sources/images/SpotifyIcon.png” 서비스
유형="클라우드 서비스" 유형="오디오"/>
<remoteitem playerName=”Test Hub” text=”Analog Input” inputType=”analog” id=”hub192168114911000input0″
URL=”Hub%3A%2F%2F192.168.1.149%3A11000%2Finput0″
이미지="/이미지/캡처/i
c_analoginput.png”
유형="오디오"/>
<remoteitem playerName=”Test Hub” text=”Coaxial Input” inputType=”spdif” id=”hub192168114911000input3″
URL=”Hub%3A%2F%2F192.168.1.149%3A11000%2Finput3″
이미지="/images/capture/ic
_광학입력.png”
유형="오디오"/>
<remoteitem playerName=”Test Hub” text=”HDMI ARC” inputType=”arc” id=”hub192168114911000input4″
URL=”Hub%3A%2F%2F192.168.1.149%3A11000%2Finput4″
이미지="/images/capture/ic
_tv.png”
유형="오디오"/>
<remoteitem playerName=”Test Hub” text=”Optical Input” inputType=”spdif” id=”hub192168114911000input2″
URL=”Hub%3A%2F%2F192.168.1.149%3A11000%2Finput2″
이미지="/images/capture/ic
_광학입력.png”
유형="오디오"/>
<remoteitem playerName=”Test Hub” text=”Phono Input” inputType=”phono” id=”hub192168114911000input1″
URL=”Hub%3A%2F%2F192.168.1.149%3A11000%2Finput1″
이미지="/images/capture/ic
_비닐.png”
유형="오디오"/>
2단계. 플레이어에서 아날로그 입력 재생
http://192.168.1.100:11000/Play?url=Capture%3Aplughw%3A2%2C0%2F48000%2F24%2F2%3Fid%3Dinput0 or play Analog Input of a HUB named “Test Hub”
http://192.168.1.100:11000/Play?url= Hub%3A%2F%2F192.168.1.149%3A11000%2Finput0
메모: 소스가 연결되어 있고 숨겨져 있지 않은지 확인하세요.
11.2 외부 입력 선택
설명
외부 입력 소스 선택. 때때로 비활성 외부 입력이 응답에 표시되지 않을 수 있습니다.
/RadioBrowse?service=Capture. 이 명령은 활성 및 비활성 입력 선택 모두에 적용됩니다. CI 외부 입력 선택에 권장됩니다.
요청(BluOS 펌웨어 v3.8.0보다 최신이고 v4.2.0보다 이전 버전)
/Play?inputIndex=인덱스ID
| 매개변수 | 설명 |
| 입력 인덱스 | /Settings?id=capture&shcemaVersion=1(32는 최신 스키마 버전)에 대한 응답에 나타나는 입력의 인덱스(32부터 시작)입니다. Bluetooth는 제외됩니다. |
응답
개울
| 응답 속성 | 설명 |
| 상태 | 입력이 재생 중임을 나타냅니다. |
Example
1단계. inputIndex 값 가져오기
요청: http://192.168.1.100:11000/Settings?id=capture&schemaVersion=32
응답:
<menuGroup icon=”/images/settings/ic_capture.png” url=”/설정” id=”캡처”
displayName="소스 사용자 정의">
<setting icon=”/images/settings/ic_bluetooth.png” refresh=”true” url=”/오디오모드”
id="bluetooth" displayName="Bluetooth" value="3" name="bluetoothAutoplay" description="사용 안 함" explanation="수동 모드를 사용하면 탐색 창에서 소스를 전환할 수 있습니다. 자동 모드는 연결된 Bluetooth 기기에서 오디오 재생이 시작되면 Bluetooth 소스로 전환됩니다. 그런 다음 탐색 창에서 소스를 전환할 수 있습니다. 게스트 모드는 연결된 Bluetooth 기기에서 오디오 재생이 시작되면 Bluetooth 소스로 전환됩니다. 다른 소스로 변경하면 Bluetooth 연결이 끊어집니다. Bluetooth 소스는 탐색 창에 표시되지 않습니다. 사용 안 함을 선택하면 탐색 창에서 소스가 제거되고 다른 기기가 플레이어에 Bluetooth로 연결할 수 없습니다.
출처." class="list">
…
<menuGroup icon=”/images/capture/ic_analoginput.png” url=”/설정” id=”captureinput0″
displayName="아날로그
입력”>
<menuGroup icon=”/images/capture/ic_opticalinput.png” url=”/설정” id=”캡처-입력1″
displayName="광학 입력">
응답에는 Bluetooth, 아날로그 입력, 광 입력이 표시됩니다. Bluetooth는 제외되었으므로 아날로그 입력의 inputIndex 값은 1이고, 광 입력의 inputIndex 값은 2입니다.
2단계. 플레이어에서 광 입력을 재생합니다.
http://192.168.1.100:11000/Play?InputId=2
요청(BluOS 펌웨어 v4.2.0 이상)
/재생?입력유형인덱스=$타입인덱스
| 매개변수 | 설명 |
| 입력 유형 인덱스 | typeIndex의 형식은 다음과 같습니다. 유형 인덱스 입력의. 다음은 입력 목록입니다. 유형: spdif(광 입력) 아날로그(아날로그 입력, 라인 입력) 동축(동축 입력) 블루투스 아크(HDMI ARC) Earc(HDMI eARC) 포노(비닐) 컴퓨터 에세부(AES/EBU) 밸런스드(Balanced In) 마이크(마이크 입력) 그만큼 색인 1부터 시작합니다. 동일한 유형의 입력이 두 개 이상 있는 경우 입력 1은 색인 1, 입력 2에는 색인 2, 등등. |
응답
개울
| 응답 속성 | 설명 |
| 상태 | 입력이 재생 중임을 나타냅니다. |
Example
요청: http://192.168.1.100:11000/Play?inputTypeIndex=spdif-2 광 입력 2 선택
응답: 개울
블루투스
이 섹션에서는 Bluetooth 모드를 변경하는 명령을 설명합니다.
12.1 블루투스 모드 변경
설명
Bluetooth 모드 변경: 수동, 자동, 게스트, 비활성화.
요구
/오디오모드?블루투스자동재생=값
| 매개변수 | 설명 |
|
블루투스 자동 재생 |
블루투스 모드 값 0은 수동, 1은 자동, 2는 게스트, 3은 비활성화를 의미합니다. |
응답 없음
Example
요청: http://192.168.1.100:11000/audiodes?bluetoothAutoplay=3 블루투스 비활성화
충수
13.1 Lenbrook 서비스 검색 프로토콜
소개
mDNS 및 SSDP와 같은 널리 사용되는 검색 방법은 UDP 멀티캐스트 통신을 사용하고 이에 의존합니다. 현재 Lenbrook 제품 대부분은 검색에 mDNS를 사용합니다. 안타깝게도 상당수의 고객이 멀티캐스트 트래픽이 제대로 작동하지 않고 당사 기기를 안정적으로 검색할 수 없는 홈 네트워크를 사용하고 있다는 사실을 확인했습니다. 이로 인해 많은 제품 반품 및 유통업체의 불만이 접수되었습니다.
이 문제를 해결하기 위해 UDP 브로드캐스트를 활용하는 LSDP라는 맞춤형 검색 프로토콜을 개발했습니다. 초기 테스트 결과, 이 프로토콜은 mDNS 기반 검색보다 훨씬 더 안정적인 것으로 나타났습니다.
프로토콜 오버view
이 프로토콜의 목표 중 하나는 비교적 단순하게 만드는 것입니다. 메모리가 매우 제한된 임베디드 장치에서 사용될 수 있습니다.
이 프로토콜은 UDP 포트 11430에서 송수신되는 모든 UDP 브로드캐스트 패킷을 사용합니다. 이 포트는 IANA에 등록되었으며 27년 2014월 XNUMX일부터 LSDP 사용을 위해 Lenbrook에 할당되었습니다.
정상 상태에서는 광고 서비스를 제공하는 각 노드가 약 1분마다 Announce 메시지를 브로드캐스트합니다.
시작 시와 서비스 목록 또는 네트워크 매개변수가 변경될 때, 초기 검색 및 변경 사항의 빠른 전파를 위해 짧은 간격으로 7개의 패킷을 브로드캐스트해야 합니다. 서비스를 광고하는 노드의 경우, 이 초기 7개 패킷에는 Announce 메시지가 포함되어야 합니다. 서비스를 검색하려는 노드의 경우, 초기 7개 패킷에는 Query 메시지가 포함되어야 합니다. 더 이상 사용할 수 없는 서비스의 경우, 이 초기 7개 패킷에는 Delete 메시지가 포함되어야 합니다.
UDP 패킷의 신뢰성 부족으로 인해 이러한 초기 패킷은 7번 전송됩니다. 7개 패킷 모두 실패하는 드문 경우이기는 하지만, 1분 주기의 Announce 메시지를 통해 일정 시간 후에 서비스가 발견될 수 있습니다.
노드가 광고하는 서비스 클래스에 대한 쿼리 메시지를 수신하면 짧은 무작위 시간 지연 후 Announce 메시지로 응답하고 현재 Announce 시간 제한을 재설정합니다.
패킷 헤더와 모든 메시지 블록에는 길이 필드가 포함되어 있습니다. 이는 추가적인 유연성을 제공하고 향후 하위 호환성을 위한 변경 사항을 적용할 수 있도록 합니다. 향후 추가 필드나 메시지 유형이 추가될 수 있으며, 이전 구현에서는 파싱 시 이를 건너뛸 수 있습니다. 하위 호환성을 위해 변경 사항을 적용하기로 결정한 경우, 패킷 헤더에 버전 필드가 있으며, 이 필드는 증가될 수 있습니다.
이 프로토콜은 또한 TXT 레코드가 서비스 광고에 포함될 수 있도록 허용합니다. 이는 TXT 레코드와 유사합니다.
mDNS를 사용하면 서비스에 임의의 추가 메타데이터를 포함할 수 있는 상당한 유연성이 제공됩니다.
프로토콜을 변경하지 않고도 광고를 표시합니다.
프로토콜 세부 정보
타이밍
전송되는 모든 패킷은 충돌을 피하기 위해 무작위 타이밍이나 지연을 예약해야 합니다.
- 시작 패킷 타이밍: 7개 패킷 시간 = [0, 1, 2, 3, 5, 7, 10초] + (0~250ms 임의) 이는 지연 시간이 아닌 절대 시간입니다. 7개 패킷 모두 약 10초 이내에 전송되어야 합니다.
- 메인 안내 기간: 57초 + (0~6초 랜덤)
- 쿼리 응답 지연: (0~750ms 임의)
노드 ID
각 노드는 노드를 식별하는 데 사용할 수 있는 고유 ID를 가져야 합니다. 고유 ID는 Announce 및 Delete 메시지에 포함됩니다. 클라이언트는 값을 캐싱하고 노드를 고유하게 식별할 때 이 값을 기본 키로 사용할 수 있습니다. 이 고유 ID는 MAC 주소일 수 있지만, 노드에 여러 인터페이스가 있는 경우 각 인터페이스에서 동일해야 합니다.
패킷 구조
각 패킷은 패킷 헤더로 시작하고, 그 뒤에 임의의 개수의 메시지 블록이 이어집니다. 각 메시지 블록은 길이 필드로 시작하여 인식되지 않는 메시지는 건너뛸 수 있습니다. 달리 명시되지 않는 한, 모든 다중 바이트 숫자 값은 빅 엔디언(최상위 바이트가 먼저)으로 저장됩니다. 달리 명시되지 않는 한, 모든 숫자는 부호 없는 값입니다. 예를 들어amp0바이트 길이는 255~XNUMX까지의 값을 가질 수 있습니다.
패킷 헤더
| 필드 | 바이트 | 설명 |
| 길이 | 1 | 이 필드를 포함한 헤더의 총 길이입니다. |
| 마법의 단어 | 4 | 이 필드는 "LSDP"의 4바이트 ASCII 값입니다. 이를 통해 패킷이 사용 가능한지 식별할 수 있으므로 예상치 못한 출처에서 무작위 데이터를 파싱할 필요가 없습니다. |
| 프로토콜 버전 | 1 | 프로토콜 버전입니다. 향후 프로토콜에 이전 버전과 호환되지 않는 변경 사항이 있을 경우 이 버전을 사용합니다. |
| 필드 | 바이트 설명 | |
| 변경될 예정입니다. 현재 버전은 1입니다. | ||
쿼리 메시지
| 필드 | ||
| 바이트 | 설명 | |
| 길이 | 1 | 이 필드를 포함한 메시지의 총 길이입니다. |
| 메시지 유형 | 1 | "Q" = 0x51: 브로드캐스트 응답에 대한 표준 쿼리. "R" = 0x52: 유니캐스트 응답에 대한 쿼리. |
| 세다 | 1 | 쿼리할 클래스 수. |
| 1학년 | 2 | 16비트(2바이트) 클래스 식별자. |
| … | 추가 클래스마다 이전 필드를 반복합니다. | |
메시지 알림
헤더 공지
| 필드 | ||
| 바이트 | 설명 | |
| 길이 | 1 | 전체 알림 헤더와 알림 레코드를 포함한 메시지의 총 길이입니다. |
| 메시지 유형 | 1 | “A” = 0x41 |
| 노드 ID 길이 | 1 | 노드 ID 필드의 길이. |
| 노드 ID | 변하기 쉬운 | 알림을 보내는 노드의 고유 노드 ID입니다. 일반적으로 노드 인터페이스 중 하나의 MAC 주소입니다. |
| 주소 길이 | 1 | 주소 필드의 길이입니다. IPv4의 경우 4입니다. |
| 필드 | ||
| 바이트 | 설명 | |
| 주소 | 변하기 쉬운 | 노드의 IP 주소. |
| 세다 | 1 | 팔로우할 발표 기록의 수. |
기록 발표
| 필드 | 바이트 | 설명 |
| 수업 | 2 | 16비트(2바이트) 클래스 식별자. |
|
TXT 개수 |
1 |
다음에 올 TXT 레코드 수입니다. 0이면 다음 필드는 생략됩니다. |
| 키 1 길이 | 1 | 키 이름의 길이. |
| 키 1 | 변하기 쉬운 | 키 이름. |
| 값 1 길이 | 1 | 값 텍스트의 길이. |
| 값 1 | 변하기 쉬운 | 값 텍스트. |
|
… |
추가 TXT 레코드마다 이전 4개 필드를 반복합니다. |
메시지 삭제
| 필드 | ||
| 바이트 | 설명 | |
| 길이 | 1 | 이 필드를 포함한 메시지의 총 길이입니다. |
| 메시지 유형 | 1 | "D" = 0x44 |
| 노드 ID 길이 | 1 | 노드 ID 필드의 길이. |
| 노드 ID | 변하기 쉬운 | 메시지를 보내는 노드의 고유 노드 ID입니다. 일반적으로 이는 노드 중 하나의 MAC 주소입니다. |
| 필드 | ||
| 바이트 | 설명 | |
| 인터페이스. | ||
| 세다 | 1 | 수강할 수업의 수. |
| 1학년 | 2 | 16비트(2바이트) 클래스 식별자. |
| … | 추가 클래스마다 이전 필드를 반복합니다. | |
클래스 ID 할당
| 클래스 ID | 설명 | mDNS 동등물 |
| 0x0001 | 블루OS 플레이어 | _musc._tcp |
| 0x0002 | BluOS 서버 | _muss._tcp |
| 0x0003 | BluOS 플레이어(CI580과 같은 다중 구역 플레이어의 보조 장치) | _musp._tcp |
| 0x0004 | 제조 테스트에는 sovi-mfg가 사용되었습니다. | _소비-제조._tcp |
| 0x0005 | 소비키패드 | _소비-키패드._tcp |
| 0x0006 | BluOS 플레이어(페어 슬레이브) | _musz._tcp |
| 0x0007 | 원격 Web 앱(AVR OSD Web 페이지) | _원격-web-ui._tcp |
| 0x0008 | 블루OS 허브 | _mush._tcp |
| 0xFFFF | 모든 클래스 – 쿼리 메시지와 함께 사용할 수 있습니다. |
참고사항 1:
전체 LSDP 패킷은 바이너리 데이터로 처리되어야 합니다.
참고사항 2:
하나의 알림 메시지로 모든 노드 정보를 담을 수 없는 경우(특히 CI580), 각 메시지에 헤더와 레코드가 포함되고 각 메시지에 전체 노드의 정보가 담긴 2개 이상의 알림 메시지가 분할됩니다.
BluOS 사용자 정의 통합 API 버전 1.7
문서 / 리소스
![]() |
BluOS T 778 사용자 정의 통합 API [PDF 파일] 사용자 매뉴얼 T 778, T 778 사용자 정의 통합 API, T 778, 사용자 정의 통합 API, 통합 API, API |
