BluOS - logoCustom na Integration API

T 778 Custom Integration API

Ang impormasyong nakapaloob sa manwal na ito ay pag-aari ng Lenbrook Industries.
Ito ay inilaan lamang para sa propesyonal na paggamit. Walang pananagutan ang Lenbrook Industries para sa katumpakan ng protocol. Ang protocol ay ibinigay "as-is", kasama ang lahat ng mga pagkakamali at walang anumang uri ng warranty, ipinahayag man o ipinahiwatig.

Patakaran sa Paggamit ng API

Sa pamamagitan ng pag-access sa mga API, sumasang-ayon ka sa Patakaran sa Paggamit ng API na ito (ang “Patakaran”) at sa aming Mga Tuntunin. Ibinibigay namin ang mga API na ito upang payagan ang mga kumpanya at tao na bumuo at makinabang mula sa aming Serbisyo sa pamamagitan ng paglikha ng software, mga serbisyo, o mga module na kumokonekta sa aming platform o may access sa data sa loob ng aming platform sa pamamagitan ng aming mga API (isang "Pagsasama"). Ang Patakaran na ito ay at ituturing bilang bahagi ng aming Mga Tuntunin.
Ang software ay ibinibigay "AS IS", nang walang anumang uri ng warranty, ipinahayag o ipinahiwatig, kabilang ngunit hindi limitado sa mga warranty ng kakayahang maikalakal, kaangkupan para sa isang partikular na layunin at hindi paglabag. Sa anumang pagkakataon ay mananagot ang mga may-akda o may hawak ng copyright para sa anumang paghahabol, pinsala, o iba pang pananagutan, maging sa isang aksyon ng kontrata, Tort o kung hindi man, na nagmumula sa, mula sa o may kaugnayan sa software o sa paggamit o iba pang mga deal sa software.
Pinahihintulutang Paggamit
Hindi mo maaaring gamitin ang API upang magpadala ng spam o gumawa ng anumang pagkilos na lumalabag sa aming Patakaran sa Katanggap-tanggap na Paggamit at aming Mga Karaniwang Tuntunin ng Paggamit. Susunod ka sa lahat ng naaangkop na batas (kabilang ang mga batas sa privacy at mga batas sa pagkontrol sa pag-export ng United States, European GPR at mga regulasyon at mga batas at regulasyon sa pang-ekonomiyang parusa). Susundan mo ang lahat ng dokumentasyong ibibigay namin para sa mga API. Hindi mo tatangkaing i-hack o baguhin ang paraan ng paggana ng Serbisyo. Maaari naming subaybayan ang iyong paggamit ng mga API para sa pagsunod sa mga panuntunang ito, at maaari naming tanggihan ang iyong access sa API kung lalabag ka sa Patakarang ito.
Pagkapribado
Iyong Dapat magpakita ang Integration ng patakaran sa privacy para sa mga user na nagdedetalye ng impormasyong kokolektahin mo mula sa kanila kapag ginamit nila ang Integration. Maa-access mo lang ang data ng user sa lawak na pinahihintulutan ng user at ipinaliwanag sa iyong patakaran sa privacy. Dapat mong agad na tanggalin ang data ng user kung hihilingin ng user na tanggalin o wakasan ang kanilang account sa iyo.
Seguridad
Ipapatupad at pananatilihin mo ang naaangkop na teknikal at pang-organisasyong mga hakbang sa seguridad upang maprotektahan at mapangalagaan ang seguridad, integridad, at pagiging kumpidensyal ng data. Dapat pigilan ng mga hakbang na ito sa seguridad ang hindi awtorisadong pag-access o pagsisiwalat ng personal o kumpidensyal na data na iyong pinoproseso.
Pagmamay-ari
Pagmamay-ari namin ang lahat ng karapatan, titulo, at interes sa Serbisyo at sa mga API, kabilang ang lahat ng karapatan sa intelektwal na ari-arian, marka, code, at feature. Hindi mo lalabagin, i-reverse engineer, o kokopyahin ang aming code, disenyo, o nilalaman. Hindi mo maa-access ang aming mga API upang makipagkumpitensya sa aming Serbisyo. Ang anumang mga karapatan na hindi hayagang ipinagkaloob ng Patakarang ito ay pinipigilan, kaya kung hindi mo ito makikita rito, hindi ito isang karapatan na pinahihintulutan namin sa iyo.
Paggamit ng mga Marka
Hindi mo maaaring gamitin ang aming pangalan at mga marka (ibig sabihin ang aming mga logo, tatak, at naka-copyright na larawan) sa anumang paraan. Hindi mo maaaring baguhin o alisin ang anumang pagmamay-ari na abiso sa aming mga marka. Hindi mo gagamitin ang aming pangalan o mga marka sa iyong pangalan o logo ng Integration, o sa anumang paraan na nagpapahiwatig ng pag-endorso namin.
Praktikal na Paggamit ng mga Marka
Ipinapaliwanag ng mga alituntuning ito kung paano mo dapat gamitin ang aming pangalan, mga marka, at mga asset ng brand sa lahat ng oras. Ang iyong paggamit ay nagpapahiwatig ng iyong pagtanggap sa mga alituntuning ito, at nauunawaan mo na ang iyong paggamit sa paglabag sa mga alituntuning ito ay magreresulta sa awtomatikong pagwawakas ng iyong pahintulot na gamitin ang aming pangalan, mga marka, at mga asset ng brand.

  • Ang paggamit ng aming pangalan, mga marka at mga asset ng brand ay dapat na malinaw na pinahintulutan sa pamamagitan ng pagsulat.
  • Huwag baguhin, baguhin, baluktutin, kopyahin, o gayahin ang aming Mga Brand Asset sa anumang paraan, kabilang ang pagpapalit ng kulay, pag-ikot at/o pag-uunat. Sa madaling salita, ang aming Mga Brand Asset ay dapat panatilihin sa kanilang orihinal na anyo.
  • Huwag bigyan ng hindi nararapat na katanyagan ang aming pangalan, mga marka at mga asset ng brand kumpara sa iyong pangalan at logo.
  • Huwag ipakita ang aming pangalan, mga marka, at mga asset ng brand sa tabi, o sa anumang anyo ng mapagkumpitensyang marketing, nang wala ang aming malinaw na pahintulot.
  • Ang iyong paggamit ay hindi dapat makalinlang sa mga mamimili tungkol sa aming pag-sponsor ng, kaugnayan sa o pag-endorso ng iyong kumpanya o ng iyong mga produkto o serbisyo.
  • Ang aming pangalan, mga marka at mga asset ng brand ay aming eksklusibong pag-aari. Ang lahat ng kabutihang loob na nagreresulta mula sa iyong paggamit ay para lamang sa aming kapakinabangan. Hindi ka gagawa ng anumang aksyon na salungat sa aming mga karapatan o pagmamay-ari.
  • Ang aming pangalan, mga marka, at mga asset ng brand ay dapat gamitin sa isang magalang na paraan at hindi maaaring gamitin sa paraang makapipinsala sa amin, sa aming mga produkto, o serbisyo, o sa paraang, sa aming opinyon, ay nakakabawas o nakakasira sa aming reputasyon o sa mabuting kalooban sa aming pangalan, mga marka at mga asset ng brand. Sa madaling salita, mangyaring huwag iugnay ang aming mga asset sa anumang mga ipinagbabawal o ilegal na aktibidad o gamitin ang mga ito sa paraang mapanlinlang o nakakapinsala.

Exampmga katanggap-tanggap na paggamit:
“[YOUR PRODUCT NAME] (compatible with / works with BluOS)”
Exampmga hindi katanggap-tanggap na paggamit
“[YOUR PRODUCT NAME] – BluOS”
“BluOS – [IYONG PANGALAN NG PRODUKTO]”
“[YOUR PRODUCT NAME] – Powered with BluOS”
Marketing at Press Releases
Matapos maaprubahan ang iyong aplikasyon, maaari itong mailista sa aming web ari-arian. Sa pangkalahatan, hindi kami mag-co-publish ng mga press release o mag-aambag sa co-marketing ng iyong aplikasyon.
Bago ka magpamahagi ng press release tungkol sa iyong app, siguraduhing makipag-ugnayan ka sa amin sa [EMAIL]. Kung babanggitin mo ang BluOS, kakailanganin naming mulingview ang paglabas. Inirerekomenda naming makipag-ugnayan sa iyong huling press release sa lalong madaling panahon.
Disclaimer
Sa maximum na saklaw na pinahihintulutan ng batas, ibinibigay namin ang mga API kung saan. Nangangahulugan iyon na hindi kami nagbibigay ng anumang uri ng mga warranty, ipinahayag man o ipinahiwatig, kabilang ngunit hindi limitado sa kakayahang maikalakal at pagiging angkop para sa isang partikular na layunin.
Mga update
Maaari naming i-update o baguhin ang mga API at ang Patakarang ito paminsan-minsan sa pamamagitan ng pag-post ng mga pagbabago sa site na ito o pag-abiso sa iyo sa pamamagitan ng email. Maaaring makaapekto ang mga pagbabagong ito sa iyong paggamit ng mga API o sa paraan ng pakikipag-ugnayan ng iyong Integration sa API. Kung gumawa kami ng pagbabago na hindi katanggap-tanggap sa iyo, dapat mong ihinto ang paggamit ng mga API.
Pagiging kompidensyal
Maaari kang magkaroon ng access sa kumpidensyal, pagmamay-ari, at hindi pampublikong impormasyon na partikular sa mga API ("Kumpidensyal na Impormasyon"). Maaari mo lamang gamitin ang impormasyong ito upang bumuo gamit ang mga API. Hindi mo ibubunyag ang Kumpidensyal na Impormasyon sa sinuman nang wala ang aming nakasulat na pahintulot, at poprotektahan mo ang Kumpidensyal na Impormasyon mula sa hindi awtorisadong paggamit at pagsisiwalat sa parehong paraan kung paano mo mapoprotektahan ang sarili mong kumpidensyal na impormasyon.
Indemnification
Babayaran mo ang danyos at gagawin mong hindi nakakapinsala sa amin at sa aming Koponan mula sa anumang pagkalugi (kabilang ang mga bayad sa abogado) na magreresulta mula sa mga claim ng third-party na nauugnay sa iyong paggamit ng API.
Ang natitira
Ang Patakarang ito ay hindi gumagawa o nagpapahiwatig ng anumang pakikipagsosyo, ahensya, o joint venture. Malalapat ang Patakaran na ito hangga't ginagamit mo ang mga API o hanggang sa wakasan alinsunod sa aming Mga Tuntunin. Kung sakaling magkaroon ng salungatan sa pagitan ng Patakaran na ito at ng Mga Karaniwang Tuntunin ng Paggamit, ang Mga Karaniwang Tuntunin ng Paggamit ang magkokontrol.
©2025 LENBROOK INDUSTRIES LIMITED
633 Granite Court, Pickering, Ontario, Canada L1W 3K1
Lahat ng karapatan ay nakalaan
Walang bahagi ng publikasyong ito ang maaaring kopyahin, iimbak o ipadala sa anumang anyo nang walang nakasulat na pahintulot ng Lenbrook Industries Limited. Habang ang bawat pagsusumikap ay ginawa upang matiyak na ang mga nilalaman ay tumpak sa oras ng paglalathala, ang mga tampok at mga detalye ay maaaring magbago nang walang abiso.

Kasaysayan ng Pagbabago
Bersyon Petsa Paglalarawan
1.0 6/17/2019 Unang release
1.2 01/12/2022 Nagdagdag ng soft reboot, doorbell chime, volume up/down, move track in queue, at direct input commands. Nagdagdag ng tala sa Appendix LSDP.
1.4 04/26/2022 Nagdagdag ng mute command; binagong direktang input command para sa HUB; na-update ang Play command para i-play ang naka-stream na custom na audio.
1.5 07/18/2022 Nagdagdag ng utos ng Bluetooth; Na-update ang LSDP upang magdagdag ng klase 5 hanggang 8; Idinagdag ang "Praktikal na Paggamit ng mga Marka" sa Patakaran sa Paggamit ng API.
1.6 03/13/2024 Nagdagdag ng tala para sa /Status para sa mga nakagrupong manlalaro sa sect 2; Idinagdag
/Play?seek=seconds is=tracked sa sect 4.1;
1.7 04/09/2025 Na-update ang seksyon 8.3 halample; Nagdagdag ng kahilingan sa pagba-browse ng inline na menu ng konteksto halample sa seksyon 7.1; Nagdagdag ng bagong command sa pagpili ng direktang input sa seksyon 11.2; Na-update ang seksyon 6.1 upang magdagdag ng "larawan" na katangian para sa mga preset; Nagdagdag ng komentong “followRedirects=1” para sa lahat ng katangian ng larawan; Na-update ang paliwanag ng paglalaro ng mga katangianURL at idagdag-ngayon sa seksyon 7.1

Panimula

Ang BluOS™ ay isang advanced na operating system at software sa pamamahala ng musika na nagbibigay-daan sa iyong mag-access at mag-stream ng walang pagkawalang musika hanggang sa 24-bit/192kHz sa bawat kuwarto gamit ang iyong home network. Ang BluOS ay matatagpuan sa mga produkto mula sa Bluesound, NAD Electronics, DALI Loudspeakers at iba pa.
Ang dokumentong ito ay ginawa upang tulungan ang mga developer at system integrator na nagtatrabaho sa custom na integration (CI) marketplace. Naglalaman ito ng subset ng mga kahilingan sa API na nakadokumento sa buong BluOS API Control Protocol.
Ang lahat ng mga kahilingang inilarawan sa dokumentong ito ay ipinapadala bilang mga kahilingan sa HTTP GET. Ang mga parameter ay isang pamantayan URL naka-encode na pangalan/pares ng halaga. Natatanggap ng mga manlalaro ng BluOS ang mga utos na ito at pagkatapos ay tumugon gamit ang UTF-8 na naka-encode na XML data.
Ang lahat ng mga kahilingan ay nasa anyo ng http:// : / saan:

  • player_ip ay ang IP address ng BluOS player (hal., 192.168.1.100)
  • port ay ang TC port na ginagamit para sa mga komunikasyon. Ginagamit ang Port 11000 para sa lahat ng manlalaro ng BluOS, maliban sa CI580. Ang CI580 ay may apat na streamer node sa isang chassis, kung saan ang node 1 ay gumagamit ng port 11000, ang node 2 ay gumagamit ng port 11010, ang node 3 ay gumagamit ng port 11020, at ang node 4 ay gumagamit ng port 11030. Ang aktwal na port na gagamitin ay dapat na matuklasan sa pamamagitan ng paggamit ng MDNS protocol gamit ang mga serbisyong musc.tccp.
  • Ang kahilingan ay ang aktwal na utos o query ng BluOS (hal., Play)

Tandaan: Gagamitin ang dokumentong ito http://192.168.1.100:11000 bilang player IP at port sa lahat ng examples.

Mga Tanong sa Katayuan

Ginagamit ang mga query sa status para mag-query ng isang BluOS player.
Nagbibigay ang BluOS ng dalawang mekanismo para sa paggawa ng mga query sa status; regular na botohan at mahabang botohan. Ibinabalik kaagad ng regular na botohan ang resulta ng query. Ang mahabang botohan ay nagpapanatili ng isang koneksyon para sa isang tinukoy na oras, at nagbabalik lamang ng isang resulta ng query kapag ang impormasyon ay nagbago o nag-timeout. Ang mahabang botohan ay lubos na makakabawas sa bilang ng mga tawag sa isang manlalaro.
Kapag hindi ginagamit ang mahabang botohan, dapat limitahan ng mga kliyente ang kanilang rate ng botohan sa hindi hihigit sa isang kahilingan kada 30 segundo. Kapag ginagamit ang mahabang botohan, hindi dapat gumawa ng dalawang magkasunod na kahilingan ang isang kliyente para sa parehong mapagkukunan na wala pang isang segundo sa pagitan, kahit na ang unang kahilingan ay bumalik nang wala pang isang segundo.
Ang mga kahilingan sa mahabang botohan ay tumatagal ng dalawang parameter: timeout at etag. ang timeout ay ang tagal ng kahilingan sa mahabang botohan at etag ay kinuha mula sa nakaraang tugon (isang katangian sa root elemento ng tugon).
Sa pangkalahatan, kinakailangan lamang na magkaroon ng matagal na poll na aktibo para sa isa sa /Status o /SyncStatus. Kasama sa tugon ng /Status ang isang elemento ( ) na nagpapahiwatig kung nagbago ang /SyncStatus. Dapat i-poll ang /SyncStatus kung ang pangalan, volume at status ng pagpapangkat ng isang manlalaro lamang ang interesado. /Katayuan ay dapat na polled kung ang kasalukuyang playback status ay kinakailangan.
Kapag pinagsama-sama ang mga manlalaro, ang pangunahing manlalaro ang pangunahing manlalaro sa grupo. Ang mga pangalawang manlalaro ay nakakabit sa pangunahing manlalaro. /Ang tugon sa katayuan ng mga pangalawang manlalaro ay mga kopya ng sa pangunahing manlalaro. Ang /SyncStatus mahabang botohan ay kinakailangan pagkatapos upang subaybayan ang dami ng bawat pangalawang manlalaro.
2.1 Katayuan ng Pag-playback
Paglalarawan
Ang dami ng mga query sa /Status endpoint at impormasyon sa pag-playback. Ang query na ito ay nagbabalik ng maraming mga katangian ng tugon,
ang ilan sa mga ito ay hindi naaangkop sa dokumentong ito. Ang mga hindi dokumentadong tugon ay dapat balewalain.
Kahilingan
/Status?timeout=segundo&etag=etag-halaga

Mga Parameter Paglalarawan
 timeout Opsyonal na parameter na ginagamit sa mahabang botohan. Ang inirerekomendang agwat ng botohan ay 100 segundo at dapat na limitado sa rate na 60 segundo o higit pa at hindi hihigit sa 10 segundo.
etag Opsyonal na parameter na ginagamit sa mahabang botohan. Ito ang etag katangian mula sa
Mga Parameter Paglalarawan
nakaraang /Katayuan na tugon ng tawag.

Tugon
<status etag=”4e266c9fbfba6d13d1a4d6ff4bd2e1e6″>
÷ (Deluxe)
Ed Sheeran
totoo
1
159
Deezer:142986206
/Artwork?service=Deezer&songid=Deezer%3A142986206
0
187
1
Perpekto
1054
0
320000
2
Deezer
/Sources/images/DeezerIcon.png
0
8

19
huminto
MP3 320 kb/s
5
Perpekto
Ed Sheeran
÷ (Deluxe)
263
4
35

TANDAAN: hindi lahat ng katangian ng tugon ay nakalista sa sumusunod na tsart. Ang iba pang mga elemento ay maaaring naroroon at dapat na huwag pansinin.

Mga Katangian ng Tugon Paglalarawan
etag Katangian ng elemento ng ugat ng tugon. Opaque na value na ginagamit sa matagal na botohan para makita ang mga pagbabago sa tugon. Kung ang halaga ay hindi nagbago mula noong nakaraang tugon, ang tugon ay garantisadong hindi nagbago (ngunit tingnan din ang mga segundo sa ibaba)
alarm segundo ang natitira Kung ang pag-playback ay resulta ng isang alarma, ito ay kung ilang segundo bago ito huminto.
aksyon Tingnan ang seksyong Mga Pagkilos para sa Pag-stream ng Mga Istasyon ng Radyo para sa paglalarawan.
album Pangalan ng album ng kasalukuyang aktibong track. Tingnan din ang title1 attribute.
artista Pangalan ng artist ng kasalukuyang aktibong track. Tingnan din ang title1 attribute.
baterya Ipinapakita kung may battery pack ang player. May kasamang mga katangian:
· antas – estado ng singil, porsyento
· nagcha-charge – 1 kung kasalukuyang nagcha-charge
· icon – URL ng larawan ng player na nagsasaad ng kasalukuyang estado ng pagsingil
 

canMovePlayback

Totoo kung posible na ilipat ang kasalukuyang nagpe-play o naka-pause na nilalaman sa ibang player.
 

canSeek

Kung 1, posible na mag-scrub sa kasalukuyang track, sa hanay na 0..totlen, sa pamamagitan ng paggamit ng seek parameter sa /Play. Para kay example: /Play?seek=34.
db Antas ng volume sa dB.
Pangalan ng pangkat Pangalan ng grupo. Ang manlalaro ay dapat ang pangunahing manlalaro sa grupo.
Dami ng pangkat Antas ng volume ng grupo. Ang manlalaro ay dapat ang pangunahing manlalaro sa grupo.
larawan URL ng larawang nauugnay sa kasalukuyang audio (album, istasyon, input, atbp.). Kung
Mga Katangian ng Tugon Paglalarawan
ang URL nagsisimula sa /Artwork maaari itong magresulta sa pag-redirect. Pagdaragdag ng parameter/key followRedirects=1 kapag ang pagkuha ng larawan ay maaaring maiwasan ang pag-redirect.
pipi I-mute ang estado. Itakda sa 1 kung naka-mute ang volume.
muteDb kung naka-mute ang player, naglalaman ito ng hindi naka-mute na volume sa dB.
muteVolume Kung may naka-mute, naglalaman ito ng hindi naka-mute na antas ng volume. Ang mga halaga ay mula 0 hanggang 100.
pangalan Ang pamagat ng kasalukuyang nagpe-play na audio track. Tingnan din ang title1 attribute.
ipagbigay-alamurl URL para sa isang pop up notification.
id Ang natatanging play queue id. Ito ay tumutugma sa id attribute ng /Playlist na tugon. Kung ang play queue ay binago ang numerong ito ay magbabago.
palayasin Ang natatanging preset na id. Tumutugma ito sa prid attribute sa /Presets na tugon. Kung ang isang preset ay binago, ang numerong ito ay magbabago na nagpapahiwatig na ang anumang naka-cache na tugon sa /Preset ay dapat i-purged.
kalidad Kalidad ng nagpe-play na pinagmulang audio:
· cd – walang nawawalang audio sa kalidad ng CD
· hd – lossless na audio na may mas mataas na resolution na kalidad ng CD o sample- rate ng 88200 sampmas mababa o higit pa
· dolbyAudio – DolbyDigital o AC3
· mqa – wastong MQA audio na na-decode
· mqaAuthored – wastong MQA-Authored na audio na na-decode
Ang numeric na halaga ay ang tinatayang bitrate ng kalidad ng naka-compress na audio source ng file.
 

ulitin

0, 1, o 2. Ang ibig sabihin ng 0 ay paulit-ulit na pag-play ng pila, 1 ay nangangahulugang ulitin ang isang track, at 2 ay nangangahulugang paulit-ulit na patayin
sec Bilang ng mga segundo na-play ang kasalukuyang audio track. Ang halagang ito ay hindi ginagamit sa pagkalkula ng etag at ang pag-unlad ay hindi mismo magdudulot ng pagbabalik mula sa isang mahabang tawag sa botohan. Kinakailangan ng mga kliyente na dagdagan ang posisyon ng pag-playback, kapag ang estado ay play o stream, batay sa agwat mula noong tugon.
serbisyo Ang service id ng kasalukuyang audio. Ito ay hindi isang halaga para sa pagpapakita sa isang UI, bilang ang
Mga Katangian ng Tugon Paglalarawan
ang aktwal na string ay maaaring iba sa opisyal na pangalan ng serbisyo.
serviceIcon URL ng kasalukuyang icon ng serbisyo.
shuffle 0 o 1. Ang ibig sabihin ng 0 ay shuffle off at ang 1 ay nangangahulugang shuffle on.
matulog Ang natitira pang minuto bago mag-activate ang sleep timer.
kanta Ang posisyon ng kasalukuyang track sa play queue. Tingnan din ang streamUrl.
estado Ang kasalukuyang estado ng manlalaro. Maaaring ito ay play, pause, stop, stream, connecting, atbp.
Ang /Play ay maaaring gamitin upang ipagpatuloy kapag nasa isang pause state ngunit hindi kapag nasa stop state.
play at stream ay dapat isaalang-alang na may parehong kahulugan. Tingnan din ang streamUrl.
 

stationImage

URL para sa larawan ng isang istasyon ng radyo, kung ang kasalukuyang audio ay isang istasyon ng radyo, hal., Deezer radio. Maaaring ito ay kapareho ng larawan.
streamFormat Format ng audio.
streamUrl Ang presensya ng elementong ito ay dapat ituring bilang isang watawat at ang mga nilalaman nito bilang isang opaque na halaga. Kung naroroon ito ay nagpapahiwatig ng:
· ang play queue ay hindi ang pinagmulan ng kasalukuyang audio (kanta ay hindi nauugnay)
· shuffle at ulitin ay hindi nauugnay at dapat na alisin sa anumang UI kung maaari
· Ang susunod at nakaraan ay hindi magagamit (ngunit tingnan din ang mga aksyon)
syncStat Ang natatanging id upang ipahiwatig ang anumang pagbabago sa /SyncStatus na tugon. Tumutugma ito sa katangian ng syncStat ng tugon na /SyncStatus. Nagbabago ito tuwing may pagbabago sa Katayuan ng Pag-sync.
pamagat1 Ang unang linya ng impormasyon na naglalarawan sa kasalukuyang audio. pamagat1, pamagat2 at pamagat3
DAPAT gamitin bilang text ng anumang UI na nagpapakita ng tatlong linya ng metadata na nagpe-play na ngayon. Huwag gumamit ng mga halaga tulad ng album, artist at pangalan.
pamagat2 Ang pangalawang linya ng impormasyon na naglalarawan sa kasalukuyang audio.
pamagat3 Ang ikatlong linya ng impormasyon na naglalarawan sa kasalukuyang audio.
totlen Kabuuang haba ng kasalukuyang track, sa mga segundo.
twoline_title1 Ang una sa dalawang linya na naglalarawan sa kasalukuyang audio. twoline_title1 at twoline_title2, kung mayroon, DAPAT gamitin bilang text ng anumang UI na nagpapakita ng dalawa
Mga Katangian ng Tugon Paglalarawan
mga linya ng metadata na naglalaro ngayon.
twoline_title2 Ang pangalawa sa dalawang linya na naglalarawan sa kasalukuyang audio.
dami Ang antas ng dami ng manlalaro sa porsyentotage; -1 ay nangangahulugan na ang dami ng manlalaro ay naayos.
sec Ang bilang ng mga segundo na na-play ang kasalukuyang audio track.

Example
http://192.168.1.100:11000/Status
Nakukuha ang status ng playback ng player.
http://192.168.1.100:11000/Status?timeout=100&etag=4e266c9fbfba6d13d1a4d6ff4bd2e1e6
Nakukuha ang katayuan ng pag-playback ng manlalaro gamit ang mahabang botohan. Ang isang resulta ay ibabalik lamang bago ang timeout ng 100 segundo kung ang katayuan ng manlalaro ay nagbago. Kung hindi, ibabalik ang resulta pagkatapos ng 100 segundo.
2.2 Katayuan ng Pag-sync ng Manlalaro at Grupo
Paglalarawan
Ang SyncStatus query ay nagbabalik ng impormasyon ng player at impormasyon ng pagpapangkat ng player. Nagbabalik ang query na ito ng maraming katangian ng pagtugon, ang ilan sa mga ito ay hindi naaangkop sa dokumentong ito. Ang mga hindi dokumentadong tugon ay dapat balewalain.
Kahilingan
/SyncStatus?timeout=segundo&etag=etag-halaga

Mga Parameter Paglalarawan
 timeout Opsyonal na parameter na ginagamit sa mahabang botohan. Ito ang pagitan ng botohan sa mga segundo. Ang inirerekomendang pagitan ng botohan ay 180 segundo.
 etag Opsyonal na parameter na ginagamit sa mahabang botohan. Ito ang etag attribute mula sa nakaraang /SyncStatus na tugon sa tawag.

Tugon
<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″:FULSE-90 + 56″ syncStat=”82″ id=”9:02″:78:11000″:192.168.1.100:XNUMX″:XNUMX:XNUMX″ XNUMX


…..

TANDAAN: hindi lahat ng katangian ng tugon ay nakalista sa sumusunod na tsart. Ang iba pang mga elemento ay maaaring naroroon at dapat na huwag pansinin.

Mga Katangian ng Tugon Paglalarawan
baterya Ipinapakita kung may battery pack ang player. May kasamang mga katangian:
· antas – estado ng singil, porsyento
· nagcha-charge – 1 kung kasalukuyang nagcha-charge
· icon – URL ng larawan ng player na nagsasaad ng kasalukuyang estado ng pagsingil
tatak Pangalan ng tatak ng manlalaro.
db Antas ng volume sa dB.
etag Tag ng tugon ng /SyncStatus, na ginagamit para sa mahabang botohan.
pangkat Ang pangalan ng grupo.
icon URL na naglalaman ng larawan ng icon ng player.
id Player IP at port.
pinasimulan True ay nangangahulugan na ang player ay naka-setup na, ang mali ay nangangahulugan na ang player ay nangangailangan ng setup. Dapat ay naka-setup ang player sa BluOS Controller app.
mac Ang natatanging id ng manlalaro para sa interface ng network. Maaaring isang MAC address.
master Master IP address ng manlalaro. Dumalo lamang kung ang isang manlalaro ay pangalawang manlalaro sa isang grupo. Mga Katangian:
· port – numero ng port.
· muling pagkonekta – totoo kung sinusubukang kumonekta muli sa pangunahing manlalaro
modelo Player model id.
ModelName Pangalan ng modelo ng manlalaro.
pipi Itakda sa 1 kung naka-mute ang volume.
muteDb Kung naka-mute ang player, ito ang unmute na volume level sa dB.
Mga Katangian ng Tugon Paglalarawan
muteVolume Kung naka-mute ang player, ito ang unmute na volume level (0..100).
pangalan Pangalan ng manlalaro.
schemaVersion Bersyon ng schema ng software.
alipin Pangalawang (mga) manlalaro ng IP address. Dumalo lamang kung ang manlalaro ang pangunahing manlalaro ng isang grupo. Maaaring mayroong maraming pangalawang manlalaro. Mga Katangian:
· id – IP address
· port – numero ng port
 

syncStat

id ng katayuan ng pag-sync. Nagbabago ito sa tuwing mababago ang anumang item sa /SyncStatus na tugon. Itugma sa elemento sa /Katayuan na tugon.
dami Antas ng volume sa isang 0..100 na sukat. -1 ay nangangahulugan ng fixed volume.
zone Pangalan ng nakapirming pangkat.
zoneMaster Kung ang manlalaro ang pangunahing manlalaro sa isang nakapirming grupo, ito ay nakatakda sa true.
zoneSlave Kung ang manlalaro ay pangalawang manlalaro sa isang nakapirming grupo, ito ay nakatakda sa true.

Example
http://192.168.1.100:11000/SyncStatus
Nakukuha ang katayuan ng manlalaro at pangkat ng manlalaro.
http://192.168.1.100:11000/SyncStatus?timeout=100&etag=4e266c9fbfba6d13d1a4d6ff4bd2e1e6
Nakukuha ang katayuan ng manlalaro at pangkat ng manlalaro gamit ang mahabang botohan. Ang isang resulta ay ibabalik lamang bago ang timeout ng 100 segundo kung ang katayuan ng manlalaro ay nagbago. Kung hindi, ibabalik ang resulta sa 100 segundo.

Kontrol ng Dami

Inaayos ang volume level ng isang player. Ginagamit din para i-mute ang isang player.
3.1 Itakda ang Dami
Paglalarawan
Ang kahilingang ito ay nagtatanong o nagtatakda ng dami ng manlalaro.
Lahat ng mga variant ng command, gumagamit man ng 0..100 level, absolute dB o relative dB na parameter, ay napipilitan sa mga value na nagreresulta sa isang level sa loob ng naka-configure na available na hanay ng volume, na karaniwang -80..0. Maaaring isaayos ang hanay ng volume gamit ang BluOS Controller app, sa pahina ng Mga Setting -> Player -> Audio.
Sinusuportahan ng query ang mahabang botohan (hindi nakalarawan sa ibaba).
Kahilingan
/Dami
/Volume?level=level&tell_slaves=on_off
/Volume?mute=on_off&tell_slaves=on_off
/Volume?abs_db=db&tell_slaves=on_off
/Volume?db=delta-db&tell_slaves=on_off

Mga Parameter Paglalarawan
antas Itakda ang absolute volume level ng player. Ito ay isang integer mula 0 -100.
 tell_slaves Nalalapat sa mga nakagrupong manlalaro. Kung nakatakda sa 0, tanging ang kasalukuyang napiling player lang ang nagbabago ng volume. Kung nakatakda sa 1, ang lahat ng manlalaro sa grupo ay magbabago ng volume.
pipi Kung nakatakda sa 0, ang player ay naka-mute. Kung itatakda sa 1, ang player ay hindi naka-mute.
abs_db Itakda ang volume gamit ang dB scale.
 db Gumawa ng relatibong pagbabago ng volume gamit ang sukat ng volume ng dB. Ang db ay maaaring positibo o negatibong numero.

Tugon
<volume db=”-49.9″ mute=”0″ offsetDb=”0″ etag=”6213593a6132887e23fe0476b9ab2cba”>15</volume>

Mga Katangian ng Tugon Paglalarawan
Mga Katangian ng Tugon Paglalarawan
db Antas ng volume sa dB.
pipi 1 kung naka-mute ang player, 0 kung naka-unmute ang player.
muteDb Kung naka-mute ang player, ito ang unmute na volume level sa dB.
muteVolume Kung naka-mute ang player, ito ang unmute na volume level (0..100).
dami Ang kasalukuyang antas ng volume: 0..100 o -1 para sa nakapirming volume.

Example
http://192.168.1.100:11000/Volume?level=15
Itinatakda ang antas ng volume ng player sa 15 (sa 100).
http://192.168.1.100:11000/Volume? tell_slaves=1&db=2
Pinapataas ang volume ng master player na 192.168.1.100, at lahat ng pangalawang manlalaro sa pangkat na iyon, ng 2 dB.
http://192.168.1.100:11000/Volume?mute=1
Ni-mute ang player.
3.2 Pagtaas ng Dami
Paglalarawan
Ang kahilingang ito ay nagpapataas ng volume ng ilang partikular na dB (karaniwang halaga ay 2dB).
Kahilingan
/Volume?db=db_value

Mga Parameter Paglalarawan
db Mga hakbang sa pagtaas ng volume sa dB (karaniwang halaga 2dB)

Tugon
<volume db=”-25″ mute=”0″ offsetDb=”6″ etag=”a071a168fac1c879b1de291720c8a4b8″>27</volume>

Mga Katangian ng Tugon Paglalarawan
db Antas ng volume sa dB.
pipi 1 kung naka-mute ang player, 0 kung hindi naka-mute ang player
Mga Katangian ng Tugon Paglalarawan
offsetDb
etag

Example
http://192.168.1.100:11000/Volume?db=2
Dagdagan ang volume ng 2dB.
3.3 Pagbaba ng Dami
Paglalarawan
Binabawasan ng kahilingang ito ang volume ng ilang partikular na dB (karaniwang halaga ay -2dB).
Kahilingan
/Volume?db=-db_value

Mga Parameter Paglalarawan
db Mga hakbang sa pagtaas ng volume sa dB (karaniwang halaga -2dB)

Tugon
<volume db=”-25″ mute=”0″ offsetDb=”6″ etag=”a071a168fac1c879b1de291720c8a4b8″>27</volume>

Mga Katangian ng Tugon Paglalarawan
db Antas ng volume sa dB
pipi 1 kung naka-mute ang player, 0 kung hindi naka-mute ang player
offsetDb
etag

Example
http://192.168.1.100:11000/Volume?db=-2
Bawasan ang volume ng 2dB.
3.4 I-mute ang Naka-on
Paglalarawan
Kahilingan
/Volume?mute=1

Mga Parameter Paglalarawan
pipi Itakda sa 1 para i-mute ang player

Tugon
<volume muteDb=”-43.1″ db=”100″
muteVolume=”11″
mute=”1″
offsetDb="0″
etag=”2105bed56563d9da46942a696cfadd63″>0</volume
>

Mga Katangian ng Tugon Paglalarawan
muteDb Antas ng volume sa dB bago i-mute
db Antas ng volume sa dB
muteVolume Antas ng volume sa porsyento bago i-mute
pipi 1 ay nangangahulugan na ang player ay naka-mute
offsetDb
etag

Example
http://192.168.1.100:11000/Volume?mute=1
3.5 I-mute Off
Paglalarawan
Itinatakda ng kahilingang ito na i-unmute ang player.
Kahilingan
/Volume?mute=0

Mga Parameter Paglalarawan
pipi Itakda sa 0 para i-unmute ang player

Tugon
<volume db=”-43.1″ mute=”0″ offsetDb=”0″ etag=”e72d53db17baa526ebb5ee9c26060b1f”>11</volume>

Mga Katangian ng Tugon Paglalarawan
db Antas ng volume sa dB
pipi 0 ay nangangahulugan na ang player ay hindi naka-mute
offsetDb
etag

Example
http://192.168.1.100:11000/Volume?mute=0

Kontrol sa Pag-playback

Ang mga utos na ito ay ginagamit para sa pangunahing kontrol sa pag-playback. Kasama sa mga utos ang play, pause, stop, skip, back, shuffle, at repeat.
4.1 Maglaro
Paglalarawan
Simulan ang pag-playback ng kasalukuyang pinagmumulan ng audio. Ang mga opsyonal na parameter ay nagbibigay-daan sa pagtalon sa mga audio track, at isang input na mapili, bago simulan ang pag-playback ng audio.
Kahilingan
/Maglaro
/Play?seek=seconds
/Play?seek=seconds&id=trackid
/Maglaro?url=encodedStreamURL

Mga Parameter Paglalarawan
 hanapin Tumalon sa tinukoy na posisyon sa kasalukuyang track. Valid lamang kung kasama ang tugon ng /Status . Hindi magagamit sa inputType at mga parameter ng index.
naka-encode naStreamURL URL ng naka-stream na custom na audio. Ito ay dapat na URL naka-encode.

Tugon
maglaro
stream

Mga Katangian ng Tugon Paglalarawan
 

estado

Ang estado pagkatapos isagawa ang utos. Tingnan ang katangian ng /Status response state para sa higit pang mga detalye.

Example
http://192.168.1.100:11000/Play
Simulan ang audio playback ng kasalukuyang track.
http://192.168.1.100:11000/Play?seek=55
Simulan ang pag-playback ng audio sa 55 segundo sa kasalukuyang track.
http://192.168.1.100:11000/Play?seek=55&id=4
Simulan ang pag-playback ng audio sa 55 segundo sa track number 5 sa queue.
192.168.1.125:11000/Play?url=https%3A%2F%2Fwww%2Esoundhelix%2Ecom%2Fexamples%2Fmp3%
2FSoundHelix-Song-1%2Emp3
Simulan ang audio playback ng isang online na mp3 audio.
4.2 I-pause
Paglalarawan
I-pause ang kasalukuyang nagpe-play na audio.
Kung tumutugtog ang isang alarm, at mayroon itong timeout, kakanselahin ang timeout ng alarm.
Kahilingan
/Pause
/Pause?toggle=1

Mga Parameter Paglalarawan
magpalipat-lipat Kung nakatakda sa 1, ang kasalukuyang estado ng pag-pause ay i-toggle.

Tugon
huminto

Katangian ng Tugon Paglalarawan
estado Ang estado pagkatapos isagawa ang utos. Tingnan ang katangian ng /Status response state para sa higit pang mga detalye.

Example
http://192.168.1.100:11000/Pause
Pino-pause ang kasalukuyang nagpe-play na audio.
4.3 Itigil
Paglalarawan
Ihinto ang kasalukuyang nagpe-play na audio. Kung tumutugtog ang isang alarma, at mayroon itong timeout, kinansela ang timeout ng alarma Hiling
/Tumigil ka

Mga Parameter Paglalarawan
wala

Tugon
huminto

Mga Katangian ng Tugon Paglalarawan
estado Ang ibig sabihin ng "stop" ay huminto ang kasalukuyang audio.

Example
http://192.168.1.100:11000/Stop
Ihihinto ang kasalukuyang nagpe-play na audio.
4.4 Laktawan
Paglalarawan
Lumaktaw sa susunod na audio track sa play queue
Kapag nagpe-play mula sa play queue, lalaktawan ito sa susunod na track sa queue. Kung ang kasalukuyang track ang huli sa pila, ang pagtawag sa /Skip ay mapupunta sa unang track sa queue. . Lalaktawan ito sa susunod o unang track sa pila anuman ang estado ng paulit-ulit na setting.
Para matukoy kung ginagamit mo ang play queue, i-verify na walaUrl> entry sa sagot na /Status.
Pagkatapos ay maaari mong gamitin ang /Skip command.
Maaari mo ring laktawan ang mga track para sa ilang streaming na istasyon ng radyo. Ang mga ito ay hinahawakan gamit ang /Action command.
Ang ilang mga mapagkukunan tulad ng TuneIn at Optical Input ay hindi sumusuporta sa isang opsyon sa paglaktaw. Ang mga mapagkukunang ito ay magkakaroon ng aURL> entry ngunit walang laktawan ang pangalan ng aksyon sa tugon ng /Status.
Kahilingan
/ Laktawan

Mga Parameter Paglalarawan
wala

Tugon
21

Mga Katangian ng Tugon Paglalarawan
id Ang track id pagkatapos isagawa ang skip command. Sumangguni sa katangian ng /Status response song para sa mga detalye.

Example
http://192.168.1.100:11000/Skip
Lumaktaw sa susunod na track.
4.5 Bumalik
Paglalarawan
Kung nagpe-play ang isang track at nagpe-play nang higit sa apat na segundo pagkatapos ay babalik sa simula ng track.
Kung hindi, mapupunta ang back command sa nakaraang kanta sa kasalukuyang playlist. Kung sa unang kanta sa playlist ang pagtawag pabalik ay mapupunta sa huling kanta. Mapupunta ito sa nauna o unang track sa queue anuman ang estado ng repeat setting.
Para matukoy kung ginagamit mo ang play queue, i-verify na walaUrl> elemento sa tugon ng /Status.
Pagkatapos ay maaari mong gamitin ang /Back command.
Maaari ka ring bumalik sa mga track para sa ilang streaming na istasyon ng radyo. Ang mga ito ay hinahawakan gamit ang /Action command.
Ang ilang mga mapagkukunan tulad ng TuneIn at Optical Input ay hindi sumusuporta sa isang pabalik na opsyon. Ang mga mapagkukunang ito ay magkakaroon ng aUrl> elemento ngunit walang laktawan ang pangalan ng aksyon sa tugon na /Status.
Kahilingan
/Bumalik

Mga Parameter Paglalarawan
wala

Tugon
19

Mga Katangian ng Tugon Paglalarawan
id Ang track id pagkatapos isagawa ang back command. Sumangguni sa katangian ng /Status response song para sa mga detalye.

4.6 Balasahin
Paglalarawan
Ang shuffle command ay lumilikha ng bagong queue sa pamamagitan ng pag-shuffle sa kasalukuyang queue. Ang orihinal (hindi na-shuffle) na pila ay pananatilihin para sa pagpapanumbalik kapag ang shuffle ay hindi pinagana.
Kahilingan
/Shuffle?state=0|1

Mga Parameter Paglalarawan
estado · 0 upang hindi paganahin ang shuffle
· 1 upang paganahin ang shuffle. Walang epekto kung ang queue ay nasa shuffled na estado. Tingnan ang /Tugon sa katayuan elemento.

Tugon

Mga Katangian ng Tugon Paglalarawan
binago 1 ay nangangahulugan na ang pila ay nabago mula noong na-load. 0 ay nangangahulugang hindi.
haba Kabuuang bilang ng mga track sa kasalukuyang queue.
shuffle Ang estado ng shuffle. 1 ay nangangahulugan na ang kasalukuyang queue ay shuffled. 0 ay nangangahulugan na ang kasalukuyang pila ay hindi na-shuffle.
id Ang kasalukuyang queue id. Nagbabago ito tuwing binago ang pila ng paglalaro.

Example
http://192.168.1.100:11000/Shuffle?state=1
Sina-shuffle ang kasalukuyang queue ng play.
4.7 Ulitin
Paglalarawan
Nagtatakda ng mga pagpipilian sa pag-uulit. Ang pag-uulit ay may tatlong estado; Ang ibig sabihin ng 0 ay ulitin ang kasalukuyang pila, ang ibig sabihin ng 1 ay ulitin ang kasalukuyang track at ang ibig sabihin ng 2 ay huwag ulitin. Ang lahat ng mga pag-uulit ay hindi tiyak, iyon ay, hindi sila tumitigil.
Kahilingan
/Repeat?state=0|1|2

Mga Parameter Paglalarawan
estado · 0 upang ulitin ang buong pila ng play
· 1 upang ulitin ang kasalukuyang track
· 2 upang i-off ang repeat

Tugon

Mga Katangian ng Tugon Paglalarawan
haba Ang kabuuang bilang ng mga track sa kasalukuyang pila ng paglalaro.
id Ang kasalukuyang queue id. Nagbabago ito tuwing binago ang pila ng paglalaro.
ulitin Ang kasalukuyang estado ng pag-uulit.

Example
http://192.168.1.100:11000/Repeat?state=1
Inuulit ang kasalukuyang nagpe-play na track.
4.8 Mga Pagkilos para sa Pag-stream ng mga Istasyon ng Radyo
Paglalarawan
Binibigyang-daan ka ng mga aksyon na lumaktaw pasulong, bumalik, mahalin at i-ban ang mga track sa mga piling streaming na istasyon ng radyo, gaya ng Slacker o Radio Paradise o Amazon Music Prime Stations. Ang mga streaming na istasyon ng radyo ay hindi naglo-load ng mga track sa play queue. Sa halip, nagbibigay sila ng a URL na magagamit mo para magawa ang ninanais na function.
Ang skip ay mapupunta sa susunod na track. Balik ay mapupunta sa nakaraang track. I-flag ng Love ang track bilang nagustuhan sa loob ng serbisyo ng musika. Lalaktawan ang pagbabawal sa susunod na track at i-flag ang track bilang hindi nagustuhan sa loob ng serbisyo ng musika.
Kung mayroong aUrl> entry sa sagot na /Status, at isang naaangkop na aksyon, maaari mong gawin ang mga function na ito. Ang aksyon ay maglalaman ng URL na ginagamit upang maisagawa ang aksyon.
Narito ang isang exampmula sa /Katayuan na tugon ng isang player na naglalaro ng Slacker radio:


<action name=”skip” url=”/Action?service=Slacker&skip=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
station” state=”-1″ text=”Ban” url=”/Action?service=Slacker&ban=4799148″/>

Sa ex na itoample, back is not available, but skip, love and ban are possible.
Kahilingan
/Action?service=service-name&action=action-URL
Tandaan: Ang mga partikular na detalye ng kahilingan (endpoint at mga parameter) ay ibinibigay ng kani-kanilang elemento. Ang mga utos sa HalampAng seksyon sa ibaba ay gumagamit ng /Action ngunit posible ang anumang URI.

Mga Parameter Paglalarawan
Ibinigay sa elemento.

Tugon
Para sa tugon, makakatanggap ka ng pagkilala sa pagkilos. Para sa paglaktaw at pagbabalik, makakatanggap ka ng:


Para sa pag-ibig na iyong natanggap:
1
Para sa pagbabawal na natatanggap mo:
1

Mga Katangian ng Tugon Paglalarawan
tugon Kung ang ugat na elemento ng tugon ay pagkatapos ang text node ay isang notification na ipapakita sa user. Kung ang isang alternatibong elemento ng ugat ay ibinalik at ang may kasamang attribute ng notification kung gayon dapat ipakita ang notification na iyon.

Example
http://192.168.1.100:11000/Action?service=Slacker&skip=10965139
Lumaktaw sa susunod na track ng radyo ng Slacker.
http://192.168.1.100:11000/Action?service=Slacker&ban=33332284
Pinagbawalan ang kasalukuyang nagpe-play na track ng radyo ng Slacker at lumaktaw sa susunod na track.

 Maglaro ng Queue Management

Ang isang mode ng pagpapatakbo ng isang player ay ang pag-load ng mga track sa isang play queue, at pagkatapos ay i-play ang mga track mula sa play queue na iyon. Ang mga utos na ito ay nagpapahintulot sa iyo na view at pamahalaan ang play queue.
5.1 Listahan ng mga Track
Paglalarawan
Ibalik ang status ng play queue, o ibalik ang impormasyon sa lahat ng track sa play queue.
Hindi inirerekumenda na gamitin ang query na ito nang wala ang haba o simula at pagtatapos na mga parameter, dahil kung hindi ay maaaring makabuo ng napakahabang tugon.
Kahilingan
/Playlist
/Playlist?length=1
/Playlist?start=first&end=last (kunin ang bahagi ng queue, para sa pagination kadalasan)

Mga Parameter Paglalarawan
haba=1 Ibalik lamang ang mga katangian sa pinakamataas na antas at walang mga detalye ng track.
simulan Unang entry sa queue na isasama sa tugon, simula sa 0.
wakas Huling entry sa pila na isasama sa tugon.

Tugon
Para sa status ng play queue:

13
243

1

Para sa listahan ng play queue:


2002
Anne-Marie
2002
Deezer:487381362

Mga Katangian ng Tugon Paglalarawan
pangalan Ang kasalukuyang pangalan ng play queue.
binago 0 ay nangangahulugan na ang queue ay hindi pa nabago mula noong ito ay na-load. 1 ay nangangahulugan na ang pila ay nabago mula noong ito ay na-load.
haba kabuuang bilang ng mga track sa kasalukuyang pila
id natatanging id para sa kasalukuyang estado ng pila (hal., 1054). Ito ay kapareho ng sa /Katayuan na tugon.
kanta Ang kanta ay binubuo ng ilang mga sub-elemento:
· albumid = id ng album kung nasaan ang track
· serbisyo = serbisyo ng musika ng track
· artistid = id ng track artist
· songid = song id
· id = posisyon ng track sa kasalukuyang pila. Kung kasalukuyang napili ang track, ang track id ay kapareho ng sa /Katayuan na tugon.
· pamagat = pangalan ng track
· sining = pangalan ng artista
· alb = pangalan ng album

Example
http://192.168.1.100:11000/Playlist
Inililista ang lahat ng track sa queue ng play.
http://192.168.1.100:11000/Playlist?length=1
5.2 Tanggalin ang Isang Track
Paglalarawan
Mag-alis ng track mula sa kasalukuyang queue ng play.
Kahilingan
/Delete?id=position

Mga Parameter Paglalarawan
id Ang track id ng track na tatanggalin mula sa kasalukuyang play queue.

Tugon
9

Mga Katangian ng Tugon Paglalarawan
tinanggal Ang posisyon sa pila ng track na aalisin.

Example
http://192.168.1.100:11000/Delete?id=9
Inaalis ang track sa posisyon 9 sa play queue.
5.3 Ilipat ang Isang Track
Paglalarawan
Maglipat ng track sa loob ng kasalukuyang queue ng play.
Kahilingan
/Move?new=destination&old=origin

Mga Parameter Paglalarawan
bago Bagong posisyon sa track na inililipat.
luma Lumang posisyon ng track na inililipat.

Tugon
inilipat

Mga Katangian ng Tugon Paglalarawan
inilipat Isinasaad na ang track ay inilipat.

Example
http://192.168.1.100:11000/Move?new=8&old=2
Ilipat ang track sa posisyon 2 sa posisyon 8 sa play queue.
5.4 I-clear ang Pila
Paglalarawan
I-clear ang lahat ng track mula sa kasalukuyang queue ng play
Kahilingan
/Malinaw

Mga Parameter Paglalarawan
wala

Tugon

Mga Katangian ng Tugon Paglalarawan
binago 0 ay nangangahulugan na ang pila ay hindi nabago mula noong na-load, ang 1 ay nangangahulugan na ang pila ay nabago mula noong na-load.
haba Ang kabuuang bilang ng mga track sa kasalukuyang queue.
id Ang natatanging id para sa kasalukuyang pila.

Example
http://192.168.1.100:11000/Clear
Aalisin nito ang lahat ng track mula sa play queue.
5.5 I-save ang Queue
Paglalarawan
I-save ang play queue bilang isang pinangalanang BluOS playlist.
Kahilingan
/Save?name=playlist_name

Mga Parameter Paglalarawan
pangalan Ang naka-save na pangalan ng queue ng play.

Tugon

126

Mga Katangian ng Tugon Paglalarawan
mga entry Ang kabuuang bilang ng mga track sa naka-save na pila ng play.

Example
http://192.168.1.100:11000/Save?name=Dinner+Music
Ise-save nito ang play queue bilang “Dinner Music”.

Preset

Nagbibigay-daan sa iyo ang mga preset na kahilingan na ilista ang lahat ng preset ng isang player, mag-load ng preset, at step up/down preset. Dapat idagdag at tanggalin ang mga preset gamit ang BluOS Controller app. Ang mga preset ay maaaring magsama ng mga istasyon ng radyo, playlist at input (hal
Bluetooth, analog, optical, HDMI ARC).
6.1 Listahan ng mga Preset
Paglalarawan
Ilista ang lahat ng preset sa kasalukuyang BluOS player.
Kahilingan
/Preset

Mga Parameter Paglalarawan
wala

Tugon

<preset id=”6″ name=”Serenity” url=”RadioParadise:/42:4/Serenity”
image=”https://img.radioparadise.com/channels/0/42/cover_512x512/0.jpg”/>
<preset id=”7″ name=”1980s Alternative Rock Classics” url=”/Load?service=Tidal&amp;id=fd3f797e-
a3e9-4de9-a1e2-b5adb6a57cc7″ image=”/Artwork?service=Tidal&amp;playlistimage=afacfc12-24034caf-a5c5-a2af28d811c8″/> </presets>

Mga Katangian ng Tugon Paglalarawan
pagmamalaki Isang natatanging id ng mga preset ng player. Ito ay kapareho ng sa /Katayuan na tugon.
pangalan Ang preset na pangalan.
id Ang preset na id.
url Ang preset URL. Ito ang preset na pinagmulan URL ginamit upang i-load ang preset.
larawan Imahe URL ng preset. Kung ang URL nagsisimula sa /Artwork maaari itong magresulta sa pag-redirect. Pagdaragdag ng parameter/key followRedirects=1 kapag ang pagkuha ng larawan ay maaaring maiwasan ang pag-redirect.

Example
http://192.168.1.100:11000/Presets
Ilista ang lahat ng mga preset sa player.
6.2 Mag-load ng Preset
Paglalarawan
Nagsisimulang maglaro ng preset. Maaari kang pumili ng isang partikular na preset na numero, pati na rin ang susunod o nakaraang preset. Ang mga preset na numero ay hindi kailangang sunud-sunod, ibig sabihin, maaari kang magkaroon ng mga preset na 1,2,3 5, 7 at 8. Ang mga preset ay umiikot mula sa itaas hanggang sa ibaba at sa ibaba hanggang sa itaas.
Kahilingan
/Preset?id=presetId|-1|+1

Mga Parameter Paglalarawan
id Ang id number ng preset na ilo-load. Ang listahan ng mga magagamit na preset na id ay matatagpuan sa utos ng Show Preset.
Kung ang preset na id ay +1, ilo-load nito ang susunod na preset. Kung ang preset id ay -1, ilo-load nito ang nakaraang preset.

Tugon
Kung ang preset ay isang listahan ng mga track ibinabalik nito ang bilang ng mga track ng preset na na-load.

60

Kung ang preset ay isang radyo ibinabalik nito ang estado ng stream.
stream

Mga Katangian ng Tugon Paglalarawan
serbisyo pangalan ng serbisyo ng na-load na preset
mga entry ang bilang ng mga track ng preset na na-load

Example
http://192.168.1.100:11000/Preset?id=4
I-load ang preset na may preset id 4.
http://192.168.1.100:11000/Preset?id=+1

Pagba-browse at Paghahanap ng Nilalaman

Inilalarawan ng seksyong ito ang mga utos para sa pagba-browse at paghahanap ng nilalaman ng serbisyo ng musika.
7.1 Pagba-browse sa Nilalaman ng Musika
Paglalarawan
Mag-navigate sa mga available na mapagkukunan ng musika, pati na rin ang mga input at playlist.
Ang ugat na elemento para sa mga tugon ay maliban kung mayroong tugon ng error. Karamihan sa mga resulta ay isang pagkakasunod-sunod ng . Sa ilang mga kaso ang resulta ay isang pagkakasunod-sunod ng , ang bawat isa ay naglalaman ng pagkakasunod-sunod kung . Ang lahat ng mga halaga ay ibinigay gamit ang mga katangian. Walang mga text node.
Ang resulta ng isang /Browse na tawag ay maaaring isang error na nakapaloob sa isang elemento ng ugat. Ang detalye ng error ay ibinigay sa isa at zero o higit pa mga node ng teksto.
Kahilingan
/Browse?key=key-value
/Browse?key=key-value&withContextMenuItems=1

Mga Parameter Paglalarawan
susi Opsyonal na parameter. Ang kawalan ng parameter na ito ay magreresulta sa isang top-level na pag-browse. Ibinabalik ang impormasyon para sa mga antas maliban sa pinakamataas na antas /Browse. Ginagamit ang value na kinuha mula sa isang value ng attribute na "browseKey", "nextKey", "parentKey", o "contextMenuKey" mula sa isang naunang tugon.
Tandaan: dapat na ang key-value URL naka-encode
mayContextMenuItems Opsyonal na parameter. Ang halaga ay palaging 1.
Ginagamit ang parameter na ito upang makakuha ng inline na menu ng konteksto kapag nakakakuha ng resulta ng pag-browse ng mga playlist, album, track, istasyon, artist, atbp.

Tugon
Tugon sa tuktok na antas ng pag-browse:



<item image=”/images/InputIcon.png” text=”Optical Input”
maglaroURL=”/Maglaro?url=Capture%3Ahw%3A1%2C0%2F1%2F25%2F2%2Finput1″ inputType=”spdif”
type="audio"/>




Iba pang antas ng tugon sa pag-browse:
<browse sid=”16″ serviceIcon=”/Sources/images/DeezerIcon.png” serviceName=”Deezer”
service=”Deezer” searchKey=”Deezer:Search” type=”menu”>
item browseKey=”/Playlists?service=Deezer&genre=0&category=toplist” text=”Popular Playlists”
type="link"/>

type="link"/>

type="link"/>
item browseKey=”/Songs?service=Deezer&genre=0&category=toplist” text=”Popular Songs”
type="link"/>

Mga Katangian ng Tugon Paglalarawan
Sumangguni sa mga talahanayan ng elemento/attribute sa ibaba

Example
TANDAAN: lahat ng pangunahing parameter ay dapat na naka-encode ng UTF-8.
http://192.168.1.100:11000/Browse
Nagba-browse sa pinakamataas na antas.
http://192.168.1.100:11000/Browse?key=Tidal%3A
Nagba-browse ang pangalawang antas, ibinabalik ang mga kategorya ng Tidal.
http://192.168.1.100:11000/Browse?key=Tidal%3AmenuGroup%2F3
Nagba-browse ba ang ikatlong antas, ibinabalik ang mga sub-category ng Tidal Masters (Group 3).
http://192.168.1.100:11000/Browse?key=%2FAlbums%3Fservice%3DTidal%26category%3Dmasters
Nagba-browse sa ikaapat na antas, ibinabalik ang unang hanay ng mga album ng Tidal Masters.
http://192.168.1.100:11000/Browse?key=%2FAlbums%3Fservice%3DTidal%26category%3Dmasters%26 start%3D30%26end%3D79
Nagba-browse ba ang isa pang pang-apat na antas, ibinabalik ang pangalawang hanay ng mga album ng Tidal Masters.

Elemento Katangian (at mga halaga) Paglalarawan
serviceIcon Ang URI para sa isang icon para sa serbisyong kasalukuyang bina-browse.
Pangalan ng serbisyo Ang pangalan ng serbisyong kasalukuyang bina-browse, para sa pagpapakita ng user.
searchKey Isang value na gagamitin para sa isang pangunahing parameter sa isang kahilingan sa /Browse para hanapin ang kasalukuyang serbisyo (o ilang mas malalim na bahagi ng hierarchy). Bilang karagdagan, ang kahilingan ay dapat magkaroon ng aq parameter na naglalaman ng termino para sa paghahanap.
susunod naSusi Isang value na gagamitin para sa isang pangunahing parameter sa isang kahilingan sa /Browse para makuha ang susunod na page ng mga item para sa kasalukuyan view. Ang laki ng paging chunk ay wala sa ilalim ng kontrol ng user ng API at hindi dapat subukang i-parse o manipulahin ang mga parameter ng query ng value na ito.
parentKey Isang value na gagamitin para sa isang pangunahing parameter sa isang kahilingan sa /Browse na mag-navigate pabalik sa hierarchy kung dapat ma-override ang default na back navigation.
uri menu Isang navigation node na posibleng naglalaman ng halo ng anumang uri ng item. Karamihan sa karaniwan ay naglalaman lamang ng link o mga audio na item.
contextMenu Isang listahan ng mga item ng tinukoy na uri.
mga artista
Elemento Katangian (at mga halaga) Paglalarawan
mga kompositor
mga album
mga playlist
mga track
mga genre
mga seksyon Alpabetikong mga seksyon.
mga bagay Pangkalahatang listahan ng resulta. Kadalasan ay pinaghalong mga node ng menu (type=”link”) at radio item (type=”audio”).
mga folder Maaaring naglalaman ng mga subfolder, track at mga entry sa playlist.
text Tumungo para sa kategorya.
susunod naSusi Isang value na gagamitin para sa isang pangunahing parameter sa isang kahilingan sa /Browse para makuha ang susunod na page ng mga item para sa kategorya.
parentKey Isang value na gagamitin para sa isang pangunahing parameter sa isang kahilingan sa /Browse na mag-navigate pabalik sa hierarchy kung dapat ma-override ang default na back navigation.
uri link Isang generic na node sa browse hierarchy na humahantong sa mga karagdagang node
audio Isang node na maaaring direktang laruin
artista Isang item na kumakatawan sa isang artist
Elemento Katangian (at mga halaga) Paglalarawan
kompositor Isang item na kumakatawan sa isang kompositor
album Isang item na kumakatawan sa isang album o katulad na koleksyon
playlist Isang item na kumakatawan sa isang playlist o katulad na koleksyon
subaybayan Isang item na kumakatawan sa isang track
text Isang plain text node.
seksyon Isang alpabetikong seksyon.
folder Isang folder sa isang folder browse.
text Pangunahin o unang linya ng paglalarawan ng item
teksto2 Pangalawang linya
larawan Isang icon o likhang sining para sa item. Kung ang larawan ay nagsisimula sa

/Artwork maaari itong magresulta sa pag-redirect. Pagdaragdag ng parameter/key followRedirects=1 kapag ang pagkuha ng larawan ay maaaring maiwasan ang pag-redirect.

browseKey Isang value na gagamitin para sa isang pangunahing parameter sa isang kasunod na kahilingan sa /Browse para bumaba sa hierarchy.
maglaroURL Isang URI na maaaring direktang i-invoke para i-invoke ang default na play action para sa item na pinag-uusapan. Kadalasan ito ay upang i-clear ang pila at simulan ang paglalaro nito.
autoplayURL Isang URI na maaaring direktang tawagan upang magdagdag ng track sa queue at i-play ito at magdagdag ng mga kasunod na track mula sa naglalaman ng object (gaya ng isang album) sa auto-fill
Elemento Katangian (at mga halaga) Paglalarawan
seksyon ng play queue.
contextMenuKey Isang value na gagamitin para sa isang pangunahing parameter sa isang kahilingan sa /Browse para makakuha ng resulta na context-menu ng mga pagkilos na nauugnay sa item.
aksyonURL Isang URI na maaaring direktang tawagin upang maisagawa ang tinukoy na pagkilos.

Ang mga item sa menu ng konteksto ay maaaring may mga sumusunod na halaga para sa katangian ng uri.

Katangian
Paglalarawan
paborito -dagdag Idagdag ang item bilang paborito (o katumbas)
-tanggalin Alisin ang item mula sa mga paborito ng user
idagdag Idagdag sa pila ng play
idagdag -ngayon Idagdag sa play queue pagkatapos ng kasalukuyang track at i-play ngayon
-susunod Idagdag sa play queue pagkatapos ng kasalukuyang track
-huling Idagdag sa dulo ng pila ng play
idagdagLahat -ngayon Magdagdag ng multi-track object sa play queue at maglaro ngayon
-susunod Magdagdag ng multi-track object sa play queue pagkatapos ng kasalukuyang track o multi-track object
-huling Magdagdag ng multi-track object sa dulo ng play queue
playRadio Magpatugtog ng istasyon ng radyo na nauugnay sa item
tanggalin Tanggalin ang bagay (karaniwan ay isang playlist). Dapat hilingin ang kumpirmasyon ng user

Kapag nagba-browse gamit ang parameter na "withContextMenuItem=1", ang resulta ay maglalaman ng in-line na menu ng konteksto.
Example
http://192.168.1.100:11000/Browse?key=%2FAlbums%3Fservice%3DDeezer%26genre%3D0%26category %3Dtoplist&withContextMenuItems=1
Humihiling ba ng Deezer => Ano'ng Patok => Mga Sikat na Album na may inline na menu ng konteksto.
Tugon
Ang tugon ay naglalaman ng inline para sa bawat item.

<item text=”Essonne History X” contextMenuKey=”Deezer:contextMenu/Album?albumid=693798541″
maglaroURL=”/Add?service=Deezer&albumid=693798541&playnow=1″ image=”/Artwork?service=Deezer&albumid=693798541″
browseKey=”Deezer:Album?artist=Ziak&album=Essonne%20History%20X&albumid=693798541″ text2=”Ziak” type=”album”>
<item text=”Favorite” type=”favourite-add” actionURL=”/AddFavourite?service=Deezer&albumid=693798541″/>
<item text=”Play now” type=”add-now”
aksyonURL=”/Add?service=Deezer&playnow=1&clear=0&shuffle=0&where=nextAlbum&albumid=693798541″/>
<item text=”Shuffle” type=”add-shuffle”
aksyonURL=”/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″/>




Mga Tala at Pahiwatig sa Pagpapatupad
Ang uri ng katangian ng isang item ay ibinigay bilang isang pahiwatig na maaaring mapadali ang iba't ibang mga opsyon sa pagpapakita.
Ang kakayahang mag-browse sa mga nilalaman ng isang item ay ipinapahiwatig ng pagkakaroon ng isang katangian ng browseKey. Ang kakayahang maglaro ng isang (buong) item ay ipinahiwatig ng pagkakaroon ng isang dulaURL (at posibleng mag-autoplay dinURL) katangian. Ang isang item ay maaaring may parehong katangian ng browseKey at isang playURL katangian.
Kapag naglalaro ang dalawaURL at autoplayURL available ang mga attribute, kung alin ang gagamitin bilang default na opsyon sa pag-play ay dapat na paksa ng isang kagustuhan ng user.
Ang mga halaga ng URI ay karaniwang mga kamag-anak na URI na may ganap na bahagi ng path. Ang mga kaugnay na URI ay niresolba sa mga ganap na URI ayon sa RFC 3986.
Ang mga value ng attribute na browseKey, contextMenuKey at searchKey ay dapat palaging naka-encode ng URI (na-escape ang porsyento) kapag ginamit bilang halaga ng isang pangunahing parameter sa isang kahilingan sa /Browse, tulad ng anumang iba pang mga parameter ng kahilingan.
Kapag bumababa sa hierarchy ng pag-browse, maaaring maging kapaki-pakinabang para sa header ng page ng UI na magpakita ng ilang uri ng (mga) breadcrumb, marahil gamit ang pamagat (teksto) ng mga node ng magulang at lolo.
Maaaring maging kapaki-pakinabang na gawing available ang context-menu para sa magulang kapag nagba-browse sa mga anak nito.
Maaaring kapaki-pakinabang na isaalang-alang ang uri ng magulang kapag nagpapasya kung paano ipapakita ang mga anak nito.
7.2 Search Music Content
Paglalarawan
Utos na maghanap sa loob ng isang serbisyo.
Kahilingan
/Browse?key=key-value&q=searchText

Mga Parameter Paglalarawan
susi Value na kinuha mula sa isang value ng attribute na "searchKey" mula sa isang naunang tugon
 q Ang string ng paghahanap. Magsagawa ng paghahanap sa kontekstong tinukoy ng key parameter (kinuha mula sa isang searchKey attribute mula sa isang tugon). Sa kawalan ng pangunahing parameter, magsagawa ng paghahanap sa pinakamataas na antas.

Tugon
<browse sid=”16″ serviceIcon=”/Sources/images/DeezerIcon.png” serviceName=”Deezer”
service=”Deezer” searchKey=”Deezer:Search” type=”menu”>





Ibalik ang pinakamataas na antas ng resulta ng paghahanap. Para sa karagdagang resulta ng paghahanap ng Mga Artist, Album, Kanta, o Playlist, kailangan ang isang browse command na may "browseKey" bilang key.
Para kay example, para makita ang resulta ng paghahanap ng Albums, magpadala ng command:
http://192.168.1.100:11000/Browse?key=%2FAlbums%3Fservice%3DDeezer%26expr%3Dmichael
Ang tugon ay magiging katulad ng tugon sa normal na /Browse command.

Mga Katangian ng Tugon Paglalarawan
Sumangguni sa mga talahanayan ng elemento/attribute sa utos na Mag-browse

Example
http://192.168.1.100:11000/Browse?key=Deezer:Search&q=michael Maghanap para sa “michael” within the Deezer music service.

Pagpapangkat ng Manlalaro

Inilalarawan ng seksyong ito ang mga utos para sa default na pagpapangkat ng player at pag-ungroup. Sinusuportahan din ng BluOS ang nakapirming pagpapangkat, na wala sa saklaw para sa dokumentong ito.
Ginagamit ng BluOS ang terminolohiya na pangunahing manlalaro at pangalawang manlalaro. Ang pangunahing manlalaro ay ang pangunahing manlalaro sa pangkat. Ang pangunahing player ay ginagamit upang piliin ang pinagmulan ng musika. Mayroon lamang isang pangunahing manlalaro. Ang pangalawang manlalaro ay nakakabit sa pangunahing manlalaro. Maaaring mayroong maraming pangalawang manlalaro.
Kung ang isang manlalaro ay isang pangalawang manlalaro kung gayon maraming mga kahilingan, kung nakadirekta sa pangalawang manlalaro, ay panloob na proxied sa pangunahing manlalaro. Kabilang dito ang /Status, Playback Control, Play Queue Management at mga kahilingan sa Pagba-browse at Paghahanap ng Nilalaman.
8.1 Pangkat Dalawang Manlalaro
Paglalarawan
Magpangkat ng isang pangalawang manlalaro sa isang pangunahing manlalaro.
Kahilingan
/AddSlave?slave=secondaryPlayerIP&port=secondaryPlayerPort&group=GroupName

Mga Parameter Paglalarawan
alipin IP address ng pangalawang manlalaro.
 daungan Numero ng port ng pangalawang manlalaro. Ang default na numero ng port ay 11000. Ang mga manlalaro tulad ng NAD CI580, na may apat na manlalaro na may isang IP, ay gumagamit ng maraming port.
 pangkat OPTIONAL, pangalan ng grupo. Kung hindi ibinigay, magbibigay ang BluOS ng default na pangalan ng grupo.

Tugon


Mga Katangian ng Tugon Paglalarawan
port ng alipin Port number ng pangalawang manlalaro na kaka-grupo lang.
Id ID ng pangalawang manlalaro na kaka-grupo lang.

Example
http://192.168.1.100:11000/AddSlave?slave=192.168.1.153&port=11000
Ipapangkat nito ang player 192.168.1.153 sa player na 192.168.1.100. Ang Manlalaro 192.168.1.100 ang pangunahing manlalaro.
8.2 Magdagdag ng Maramihang Manlalaro sa Isang Grupo
Paglalarawan
Magpangkat ng dalawa o higit pang manlalaro sa isang pangunahing manlalaro.
Kahilingan
/AddSlave?slaves=secondaryPlayerIPs&ports=secondaryPlayerPorts

Mga Parameter Paglalarawan
 mga alipin Mga IP address ng pangalawang manlalaro na idaragdag sa pangunahing manlalaro. Ang mga IP address ay pinaghihiwalay ng kuwit.
 mga daungan Ang mga port ng mga pangalawang manlalaro na idaragdag sa pangunahing manlalaro. Ang mga numero ng port ay pinaghihiwalay ng kuwit.

Tugon



Mga Katangian ng Tugon Paglalarawan
daungan Ang port ng pangalawang manlalaro na pinagsama-sama.
Id Ang id ng pangalawang manlalaro na naka-grupo.

Example
http://192.168.1.100:11000/AddSlave?slaves=192.168.1.153,192.168.1.120&ports=11000,11000
Ipangkat ang pangalawang manlalaro 192.168.1.153 at 192.168.1.120 sa pangunahing manlalaro 192.168.1.100.
8.3 Alisin ang Isang Manlalaro Mula sa Isang Grupo
Mag-alis ng manlalaro mula sa isang grupo. Kung aalisin ang pangalawang manlalaro mula sa isang grupo, ang pangalawang manlalaro ay aalisin sa pangkat. Kung aalisin ang pangunahing manlalaro mula sa isang pangkat ng 3 o higit pang mga manlalaro, ang pangunahing manlalaro ay aalisin sa pangkat at ang natitirang pangalawang manlalaro ay bubuo ng isang bagong grupo.
Kahilingan
/RemoveSlave?slave=secondaryPlayerIP&port=secondaryPlayerPort

Mga Parameter Paglalarawan
alipin IP ng player (pangalawang) na idaragdag sa isa pang player (pangunahin).
daungan Port ng player (pangalawang) na idaragdag sa isa pang player (pangunahin).

Tugon
<SyncStatus icon=”/images/players/P300_nt.png” volume=”4″ modelName=”PULSE” name=”PULSE0278″ model=”P300″
tatak=”Bluesound” 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″>

Mga Katangian ng Tugon Paglalarawan
Tingnan ang /SyncStatus para sa mga detalye.

Example
http://192.168.1.100:11000/RemoveSlave?slave=192.168.1.153&port=11000
Inaalis sa pangkat ang manlalaro na 192.168.1.153 mula sa pangkat na mayroong pangunahing manlalaro na 192.168.1.100
8.4 Alisin ang Maramihang Manlalaro Mula sa Isang Grupo
Paglalarawan
Alisin ang dalawa o higit pang mga manlalaro mula sa isang grupo.
Kahilingan
/RemoveSlave?slaves=secondaryPlayerIPs&ports=secondaryPlayerPorts

Mga Parameter Paglalarawan
 mga alipin Ang mga IP address ng pangalawang manlalaro ay aalisin sa pangunahing manlalaro. Ang mga IP address ay pinaghihiwalay ng kuwit.
Mga Parameter Paglalarawan
 mga daungan Ang mga port ng pangalawang manlalaro na aalisin sa pangunahing manlalaro. Ang mga numero ng port ay pinaghihiwalay ng kuwit.

Tugon
<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>

Mga Katangian ng Tugon Paglalarawan
Tingnan ang /SyncStatus para sa mga detalye.

Example
http://192.168.1.100:11000/RemoveSlave?slaves=192.168.1.153,192.168.1.120&ports=11000,11000
Inaalis ang mga manlalarong 192.168.1.153 at 192.168.1.120 mula sa pangkat na may pangunahing manlalaro na 192.168.1.100.

Pag-reboot ng Manlalaro

Inilalarawan ng seksyong ito ang command para sa soft reboot ng player.
9.1 I-reboot ang Isang Manlalaro
Paglalarawan
Soft reboot ang isang player.
Kahilingan
POST command /reboot na may parameter na oo (anumang halaga)

Mga Parameter Paglalarawan
oo Anumang halaga (hal. 1).

Tugon
Na-update ang Mga Setting
Nagre-reboot. Pakisara ang window na ito.
Mangyaring maghintay…
Example
curl -d yes=1 192.168.1.100/reboot

Mga Tunog ng Doorbell

Inilalarawan ng seksyong ito ang utos para sa tunog ng doorbell ng player.
10.1 Mga Tunog ng Doorbell
Paglalarawan
I-activate ang doorbell chimes.
Kahilingan
http://PLAYERIP:PORT/Doorbell?play=1

Mga Parameter Paglalarawan
maglaro Maglaro ng doorbell (laging 1)

Tugon

Mga Katangian ng Tugon Paglalarawan
paganahin Ipahiwatig ang chime
dami Dami ng chime
chime Chime audio

Example
http://192.168.1.100:11000/Doorbell?play=1 play doorbell chime

Direktang Input

Inilalarawan ng seksyong ito ang mga utos para sa pagpili ng direktang input source.
11.1 Aktibong Pagpili ng Input
Paglalarawan
Aktibong pagpili ng pinagmulan ng input. Gumagana ang command na ito para sa mga aktibong input na lumalabas sa tugon sa /RadioBrowse?service=Capture. Ang pagpili ng mga input ng BluOS HUB ay sinusuportahan lamang ng command na ito.
Kahilingan
/Maglaro?url=URL_halaga

Mga Parameter Paglalarawan
url Ang URL attribute mula sa tugon sa /RadioBrowse?service=Capture

Tugon
stream

Mga Katangian ng Tugon Paglalarawan
estado Ipahiwatig na nagpe-play ang input

Example
Hakbang 1. Kunin ang URL_value para sa parameter url
Kahilingan: http://192.168.1.100:11000/RadioBrowse?service=Capture
Tugon:

<item playerName=”Tick
Lagyan ng tsek ang” text=”Bluetooth” inputType=”bluetooth” id=”input2″ URL=”Capture%3Abluez%3Abluetooth” image=” /images/BluetoothIcon.png” type=”audio”/>
<item playerName=”Tick Tick” text=”Analog
Input” 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
Input” inputType=”spdif” id=”input1″ URL=”Capture%3Ahw%3Aimxspdif%2C0%2F1%2F25%2F2%3Fid%
3Dinput1″ image=”/images/capture/ic_opticalinput.png” type=”audio”/>
<item playerName=”Tick
Lagyan ng tsek ang” text="Spotify" id="Spotify" URL=”Spotify%3Aplay” image=”/Sources/images/SpotifyIcon.png” serbisyo
Type=”CloudService” type=”audio”/>

<remoteitem playerName=”Test Hub” text=”Analog Input” inputType=”analog” id=”hub192168114911000input0″
URL=”Hub%3A%2F%2F192.168.1.149%3A11000%2Finput0″
larawan =”/images/capture/i
c_analoginput.png”
type="audio"/>
<remoteitem playerName=”Test Hub” text=”Coaxial Input” inputType=”spdif” id=”hub192168114911000input3″
URL=”Hub%3A%2F%2F192.168.1.149%3A11000%2Finput3″
image="/images/capture/ic
_opticalinput.png”
type="audio"/>
<remoteitem playerName=”Test Hub” text=”HDMI ARC” inputType=”arc” id=”hub192168114911000input4″
URL=”Hub%3A%2F%2F192.168.1.149%3A11000%2Finput4″
image="/images/capture/ic
_tv.png”
type="audio"/>
<remoteitem playerName=”Test Hub” text=”Optical Input” inputType=”spdif” id=”hub192168114911000input2″
URL=”Hub%3A%2F%2F192.168.1.149%3A11000%2Finput2″
image="/images/capture/ic
_opticalinput.png”
type="audio"/>
<remoteitem playerName=”Test Hub” text=”Phono Input” inputType=”phono” id=”hub192168114911000input1″
URL=”Hub%3A%2F%2F192.168.1.149%3A11000%2Finput1″
image="/images/capture/ic
_vinyl.png”
type="audio"/>


Hakbang 2. I-play ang Analog Input sa player
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
Tandaan: Siguraduhin na ang mga mapagkukunan ay konektado at hindi nakatago.
11.2 Panlabas na Pagpili ng Input
Paglalarawan
Panlabas na pagpili ng pinagmulan ng input. Minsan ang mga hindi aktibong panlabas na input ay maaaring hindi lumabas sa tugon sa
/RadioBrowse?service=Capture. Gumagana ang command na ito para sa parehong aktibo at hindi aktibong pagpili ng input. Inirerekomenda ito para sa pagpili ng panlabas na input ng CI.
Kahilingan (BluOS firmware na mas bago sa v3.8.0 at mas luma sa v4.2.0)
/Play?inputIndex=IndexId

Mga Parameter Paglalarawan
 inputIndex Ang index (nagsisimula sa 1) ng mga input na lumalabas sa tugon sa /Settings?id=capture&shcemaVersion=32 (32 ang pinakabagong bersyon ng schema) sa numerical order. Ang Bluetooth ay hindi kasama.

Tugon
stream

Mga Katangian ng Tugon Paglalarawan
estado Ipahiwatig na nagpe-play ang input

Example
Hakbang 1. Kunin ang halaga ng inputIndex
Kahilingan: http://192.168.1.100:11000/Settings?id=capture&schemaVersion=32
Tugon:

<menuGroup icon=”/images/settings/ic_capture.png” url=”/setting” id=”capture”
displayName="I-customize ang mga mapagkukunan">
<setting icon=”/images/settings/ic_bluetooth.png” refresh=”true” url=”/audiomodes”
id=”bluetooth” displayName=”Bluetooth” value=”3″ name=”bluetoothAutoplay” description=”Disabled” explanation=”Pinapayagan ka ng manual mode na lumipat sa pagitan ng mga source sa navigation drawer. Lilipat ang awtomatikong mode sa pinagmumulan ng Bluetooth kapag nagsimulang mag-play ng audio ang isang nakakonektang Bluetooth device. Pagkatapos ay maaari kang lumipat sa pagitan ng mga mapagkukunan sa navigation drawer. Lilipat ang guest mode sa Bluetooth source kapag nagsimulang mag-play ng audio ang isang konektadong Bluetooth device. Kung lumipat ka sa ibang pinagmulan, madidiskonekta ang Bluetooth. Ang pinagmulan ng Bluetooth ay hindi lumalabas sa navigation drawer. Inaalis ng disabled ang source mula sa navigation drawer, at hindi pinapayagan ang isa pang device na kumonekta sa Player bilang Bluetooth
pinagmulan.” class="listahan">


<menuGroup icon=”/images/capture/ic_analoginput.png” url=”/setting” id=”captureinput0″
displayName="Analog
Input">

<menuGroup icon=”/images/capture/ic_opticalinput.png” url=”/setting” id=”capture-input1″
displayName="Optical Input">


Ipinapakita ng tugon ang Bluetooth, Analog Input, at Optical Input. Ang Bluetooth ay hindi kasama, kaya ang inputIndex value ay 1 para sa Analog Input, at inputIndex value ay 2 para sa Optical Input.'
Hakbang 2. I-play ang Optical Input sa player.
http://192.168.1.100:11000/Play?InputId=2
Kahilingan (BluOS firmware v4.2.0 o mas bago)
/Play?inputTypeIndex=$typeIndex

Mga Parameter Paglalarawan
  inputTypeIndex typeIndex ay may format na uri-index ng isang input. Narito ang listahan ng input uri:
spdif (Optical Input)
analog (Analog Input, Line In) coax (Coaxial Input) bluetooth
arko (HDMI ARC)
earc (HDMI eARC) phono (Vinyl) na computer
aesebu (AES/EBU) balanse (Balanced In)
mikropono (Input ng Mikropono)
Ang index nagsisimula sa 1. Kapag mayroong higit sa isang input ng parehong uri, ang input 1 ay mayroon index 1, ang input 2 ay may index 2, at iba pa.

Tugon
stream

Mga Katangian ng Tugon Paglalarawan
estado Ipahiwatig na nagpe-play ang input

Example
Kahilingan: http://192.168.1.100:11000/Play?inputTypeIndex=spdif-2 upang piliin ang Optical Input 2
Tugon: stream

Bluetooth

Inilalarawan ng seksyong ito ang utos na baguhin ang Bluetooth mode.
12.1 Baguhin ang Bluetooth Mode
Paglalarawan
Baguhin ang Bluetooth mode: Manwal, Awtomatiko, Bisita, Naka-disable.
Kahilingan
/audiomodes?bluetoothAutoplay=value

Mga Parameter Paglalarawan
 

bluetoothAutoplay

Mode ng Bluetooth halaga Ang 0 ay nangangahulugang Manwal, 1 ay nangangahulugang Awtomatiko, 2 ay nangangahulugang Bisita, 3 ay nangangahulugang Naka-disable.

Walang tugon
Example
Kahilingan: http://192.168.1.100:11000/audiomodes?bluetoothAutoplay=3 upang huwag paganahin ang bluetooth

Apendise

13.1 Lenbrook Service Discovery Protocol
Panimula
Ang mga sikat na paraan ng pagtuklas gaya ng mDNS at SSDP ay gumagamit at umaasa sa UDP multicast na komunikasyon. Karamihan sa mga kasalukuyang produkto ng Lenbrook ay gumagamit ng mDNS para sa pagtuklas. Sa kasamaang-palad, nalaman namin na ang malaking bilang ng aming mga customer ay may mga home network kung saan ang trapiko ng multicast ay hindi gumagana nang tama at ang aming mga device ay hindi matutuklasan nang mapagkakatiwalaan. Nagresulta ito sa maraming pagbabalik ng produkto at mga reklamo mula sa aming mga distributor.
Upang matugunan ang isyung ito, gumawa kami ng custom na discovery protocol na tinatawag na LSDP na gumagamit ng UDP broadcast. Ipinakita ng paunang pagsubok na ito ay mas maaasahan kaysa sa pagtuklas na batay sa mDNS.
Tapos na ang Protocolview
Ang isang layunin ng protocol na ito ay maging medyo simple. Maaari itong gamitin sa mga naka-embed na device na may napakalimitadong memorya.
Ginagamit ng protocol ang lahat ng UDP broadcast packet papunta at mula sa UDP port 11430. Ang port na ito ay nakarehistro sa IANA at nakatalaga sa Lenbrook para sa paggamit ng LSDP noong Marso 27, 2014.
Sa steady state bawat node na may serbisyo para mag-advertise ay nag-broadcast ng mensaheng Announce humigit-kumulang bawat minuto.
Sa pagsisimula at kapag nagbago ang listahan ng serbisyo o mga parameter ng network, ang pitong packet ay dapat i-broadcast nang may maiikling agwat upang bigyang-daan ang paunang pagtuklas at mga pagbabago na lumaganap nang mas mabilis. Para sa mga serbisyo sa pag-advertise ng mga node, ang paunang pitong packet na ito ay dapat magsama ng mensahe ng Anunsyo. Para sa mga node na sumusubok na tumuklas ng mga serbisyo, ang unang pitong packet ay dapat magsama ng isang Query message. Para sa mga serbisyong hindi na magagamit ang pitong packet ay dapat may kasamang Delete message.
Ang mga paunang packet na ito ay ipinadala ng pitong beses dahil sa hindi mapagkakatiwalaang katangian ng mga UDP packet. Sa hindi malamang na kaso, ang lahat ng pitong packet ay nabigo sa mga serbisyo ay matutuklasan pa rin pagkaraan ng ilang sandali mula sa isang minutong pana-panahong mga mensaheng Anunsyo.
Kung ang isang node ay nakatanggap ng mensahe ng Query para sa isang klase ng serbisyo ito ay nag-a-advertise, ito ay dapat tumugon sa isang mensahe ng Anunsyo pagkatapos ng isang maikling random na pagkaantala ng oras at i-reset ang kasalukuyan nitong timeout ng Anunsyo.
Ang packet header at lahat ng mga bloke ng mensahe ay may kasamang mga field ng haba. Nagbibigay ito ng karagdagang flexibility at nagbibigay-daan para sa mga pabalik na katugmang pagbabago na magawa sa hinaharap. Maaaring magdagdag ng mga karagdagang field o uri ng mensahe sa hinaharap na maaaring laktawan ng mga mas lumang pagpapatupad kapag nag-parse. Kung nagpasya kaming gumawa ng pabalik na hindi tugmang pagbabago mayroon ding field ng bersyon sa header ng packet na maaaring dagdagan.
Pinapayagan din ng protocol na maisama ang mga tala ng TXT sa mga advertisement ng serbisyo na katulad ng mga tala ng TXT na ginamit
may mDNS. Nagbibigay ito ng makabuluhang flexibility para sa karagdagang arbitrary meta data na isasama sa serbisyo
mga patalastas nang hindi binabago ang protocol.
Mga Detalye ng Protocol
Timing
Ang lahat ng mga packet na ipinadala ay dapat na naka-iskedyul na may random na timing o mga pagkaantala upang makatulong na maiwasan ang mga banggaan.

  • Startup Packet Timing: 7 Packet sa oras = [0, 1, 2, 3, 5, 7, 10s] + (0 hanggang 250ms random). Ito ay ganap na mga oras, hindi mga pagkaantala. Lahat ng 7 packet ay dapat ipadala sa loob ng humigit-kumulang 10 segundo.
  • Pangunahing Panahon ng Anunsyo: 57s + (0 hanggang 6s random)
  • Pagkaantala ng Pagtugon sa Query: (0 hanggang 750ms random)

Node ID
Ang bawat node ay dapat magkaroon ng isang natatanging ID na maaaring magamit upang makilala ang node. Ang natatanging ID ay kasama sa I-anunsyo at Tanggalin ang mga mensahe. Maaaring gamitin ng mga kliyente ang value na ito bilang pangunahing key kapag nagca-cache ng mga value at para natatanging tukuyin ang isang node. Ang natatanging ID na ito ay maaaring isang MAC address ngunit dapat ay pareho para sa bawat interface kung ang isang node ay maraming interface kung saan ito nag-a-advertise.
Istruktura ng Packet
Ang bawat packet ay nagsisimula sa isang packet header na sinusundan ng isang arbitrary na bilang ng mga bloke ng mensahe. Ang bawat bloke ng mensahe ay nagsisimula sa isang haba ng field upang ang mga hindi nakikilalang mensahe ay maaaring laktawan. Maliban kung tinukoy ang lahat ng mga multi-byte na halaga ng numero ay dapat na naka-imbak ng malaking endian (pinaka makabuluhang mga byte muna). Maliban kung tinukoy ang lahat ng mga numero ay mga unsigned value. Para kay exampAng haba ng isang byte ay maaaring magkaroon ng mga value na 0 hanggang 255.
Packet Header

Patlang Bytes Paglalarawan
Ang haba 1 Kabuuang haba ng header kasama ang field na ito.
Magic Word 4 Ang field na ito ay ang apat na ASCII byte ng "LSDP". Nakakatulong ito sa amin na matukoy ang mga packet bilang nilayon para gamitin kaya hindi namin kailangang subukang mag-parse ng random na data mula sa ilang hindi inaasahang pinagmulan.
Bersyon ng Protocol 1 Bersyon ng protocol. Kung gagawin ang mga pagbabago sa hinaharap sa protocol na pabalik na hindi tugma sa bersyong ito
Patlang Bytes Paglalarawan
ay mababago. Ang kasalukuyang bersyon ay 1.

Query Message

Patlang
Bytes Paglalarawan
Ang haba 1 Kabuuang haba ng mensahe kasama ang field na ito.
Uri ng Mensahe 1 “Q” = 0x51: Karaniwang query para sa tugon sa broadcast. “R” = 0x52: Query para sa unicast na tugon.
Bilangin 1 Bilang ng mga klase na itatanong.
Klase 1 2 16 bit (2 byte) class identifier.
Ulitin ang nakaraang field para sa bawat karagdagang klase.

Ipahayag ang Mensahe
Ipahayag ang Header

Patlang
Bytes Paglalarawan
Ang haba 1 Kabuuang haba ng mensahe kasama ang kumpletong announce header at announce records.
Uri ng Mensahe 1 “A” = 0x41
Haba ng Node ID 1 Haba ng field ng Node ID.
Node ID Variable Natatanging Node ID ng node na nagpapadala ng anunsyo. Ito ay karaniwang ang MAC address ng isa sa mga node interface.
Haba ng Address 1 Field ng Haba ng Address. Para sa IPv4 ito ay dapat na 4.
Patlang
Bytes Paglalarawan
Address Variable IP address ng node.
Bilangin 1 Bilang ng mga rekord ng anunsyo na susundan.

Ipahayag ang Record

Patlang Bytes Paglalarawan
Klase 2 16 bit (2 byte) class identifier.
 

Bilang ng TXT

 

1

Bilang ng mga tala ng TXT na susundan. Kung zero ang mga sumusunod na field ay tinanggal.
Susi 1 Haba 1 Haba ng key name.
Susi 1 Variable Pangalan ng susi.
Halaga 1 Haba 1 Haba ng text ng value.
Halaga 1 Variable Teksto ng halaga.
 

Ulitin ang nakaraang 4 na field para sa bawat karagdagang TXT record.

Tanggalin ang Mensahe

Patlang
Bytes Paglalarawan
Ang haba 1 Kabuuang haba ng mensahe kasama ang field na ito.
Uri ng Mensahe 1 “D” = 0x44
Haba ng Node ID 1 Haba ng field ng Node ID.
Node ID Variable Natatanging Node ID ng node na nagpapadala ng mensahe. Ito ay karaniwang MAC address ng isa sa mga node
Patlang
Bytes Paglalarawan
mga interface.
Bilangin 1 Bilang ng mga klase na susundan.
Klase 1 2 16 bit (2 byte) class identifier.
Ulitin ang nakaraang field para sa bawat karagdagang klase.

Mga Takdang-aralin sa Class ID

Class ID Paglalarawan Katumbas ng mDNS
0x0001 BluOS Player _musc._tcp
0x0002 BluOS Server _muss._tcp
0x0003 BluOS Player (pangalawa sa mga multi-zone na manlalaro tulad ng CI580) _musp._tcp
0x0004 sovi-mfg na ginagamit para sa pagsubok sa pagmamanupaktura. _sovi-mfg._tcp
0x0005 sovi-keypad _sovi-keypad._tcp
0x0006 BluOS Player (pares na alipin) _musz._tcp
0x0007 Remote Web App (AVR OSD Web pahina) _malayuan-web-ui._tcp
0x0008 BluOS Hub _mush._tcp
0xFFFF Lahat ng Klase – Maaaring gamitin sa Query Message.

Tandaan 1:
Ang kabuuang LSDP packet ay kailangang ituring bilang binary data.
Tandaan 2:
Kung hindi mahawakan ng isang Mensahe ng Anunsyo ang lahat ng impormasyon ng node (lalo na ang CI580), mahahati ito sa 2 o higit pang Mga Mensahe ng Anunsyo sa bawat Mensahe na naglalaman ng Header at Record at ang bawat Mensahe ay nagtataglay ng buong (mga) impormasyon ng node.

BluOS - logoBluOS Custom Integration API Bersyon 1.7

Mga Dokumento / Mga Mapagkukunan

BluOS T 778 Custom Integration API [pdf] User Manual
T 778, T 778 Custom Integration API, T 778, Custom Integration API, Integration API, API

Mga sanggunian

Mag-iwan ng komento

Ang iyong email address ay hindi maipa-publish. Ang mga kinakailangang field ay minarkahan *