BluOS - лагатыпAPI карыстальніцкай інтэграцыі

API карыстальніцкай інтэграцыі T 778

Інфармацыя, якая змяшчаецца ў гэтым кіраўніцтве, з'яўляецца ўласнасцю кампаніі 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.
Астатнія
Гэтая Палітыка не стварае і не мае на ўвазе ніякага партнёрства, агенцтва або сумеснага прадпрыемства. Гэта Палітыка будзе дзейнічаць, пакуль вы карыстаецеся API, або да спынення яе дзеяння ў адпаведнасці з нашымі Умовамі. У выпадку супярэчнасці паміж гэтай Палітыкай і Стандартнымі ўмовамі карыстання, прыярытэт маюць Стандартныя ўмовы карыстання.
©2025 LENBROOK INDUSTRIES LIMITED
633 Граніт-Корт, Пікерынг, Антарыё, Канада L1W 3K1
Усе правы абароненыя
Ніякая частка гэтай публікацыі не можа быць прайграная, захаваная або перададзена ў любой форме без пісьмовага дазволу кампаніі Lenbrook Industries Limited. Нягледзячы на тое, што былі прыкладзены ўсе намаганні для забеспячэння дакладнасці зместу на момант публікацыі, характарыстыкі і спецыфікацыі могуць быць зменены без папярэдняга паведамлення.

Гісторыя версій
Версія Дата Апісанне
1.0 Першы выпуск
1.2 01г Дададзены мяккі перазапуск, званок дзвярнога званка, павелічэнне/памяншэнне гучнасці, перамяшчэнне трэка ў чарзе і каманды прамога ўводу. Дададзена заўвага да Дадатку LSDP.
1.4 04г Дададзена каманда адключэння гуку; зменены каманды прамога ўводу для HUB; абноўлена каманда прайгравання для прайгравання струменевага карыстальніцкага аўдыё.
1.5 07г Дададзена каманда Bluetooth; абноўлены LSDP для дадання класаў з 5 па 8; дададзены раздзел «Практычнае выкарыстанне знакаў» у палітыку выкарыстання API.
1.6 03г Дададзена заўвага для /Статус для згрупаваных гульцоў у секцыі 2; Дададзена
/Play?seek=seconds is=trackid у раздзеле 4.1;
1.7 04г Абноўлены раздзел 8.3 example; Дададзены запыт на прагляд у кантэкстным меню example ў раздзеле 7.1; Дададзена новая каманда выбару прамога ўводу ў раздзеле 11.2; Абноўлены раздзел 6.1, каб дадаць атрыбут «image» для прэсетаў; Дададзены каментарый «followRedirects=1» для ўсіх атрыбутаў выявы; Абноўлена тлумачэнне атрыбутаў прайграванняURL і дапаўненне ў раздзеле 7.1

Уводзіны

BluOS™ — гэта перадавая аперацыйная сістэма і праграмнае забеспячэнне для кіравання музыкай, якое дазваляе атрымліваць доступ і трансляваць музыку без страт да 24 біт/192 кГц у кожны пакой праз вашу хатнюю сетку. BluOS можна знайсці ў прадуктах Bluesound, NAD Electronics, DALI Loudspeakers і іншых.
Гэты дакумент быў створаны, каб дапамагчы распрацоўшчыкам і сістэмным інтэгратарам, якія працуюць на рынку карыстальніцкай інтэграцыі (CI). Ён змяшчае падмноства запытаў API, задакументаваных у поўным пратаколе кіравання API BluOS.
Усе запыты, апісаныя ў гэтым дакуменце, адпраўляюцца як HTTP GET-запыты. Параметры з'яўляюцца стандартнымі. URL закадаваная пара імя/значэнне. Плэеры BluOS атрымліваюць гэтыя каманды, а затым адказваюць дадзенымі XML у закадзіраваным фармаце UTF-8.
Усе запыты маюць фармат http:// : / дзе:

  • player_ip — гэта IP-адрас плэера BluOS (напрыклад, 192.168.1.100)
  • Порт — гэта порт TC, які выкарыстоўваецца для сувязі. Порт 11000 выкарыстоўваецца ўсімі прайгравальнікамі BluOS, за выключэннем CI580. CI580 мае чатыры стрымерныя вузлы ў адным шасі, дзе вузел 1 выкарыстоўвае порт 11000, вузел 2 выкарыстоўвае порт 11010, вузел 3 выкарыстоўвае порт 11020, а вузел 4 выкарыстоўвае порт 11030. Фактычны порт для выкарыстання павінен быць знойдзены з дапамогай пратакола MDNS з выкарыстаннем сэрвісаў musc.tcp і musp.tcp.
  • запыт — гэта фактычная каманда або запыт BluOS (напрыклад, Play)

Заўвага: У гэтым дакуменце будзе выкарыстоўвацца http://192.168.1.100:11000 як IP-адрас і порт гульца ва ўсіх былыхampлес.

Запыты аб стане

Запыты стану выкарыстоўваюцца для запыту прайгравальніка BluOS.
BluOS прапануе два механізмы для выканання запытаў статусу: звычайны апытанне і доўгі апытанне. Звычайны апытанне неадкладна вяртае вынік запыту. Доўгі апытанне падтрымлівае злучэнне на працягу пэўнага часу і вяртае вынік запыту толькі тады, калі інфармацыя змянілася або скончыўся час чакання. Доўгі апытанне можа значна скараціць колькасць выклікаў гульца.
Калі доўгі апытанне не выкарыстоўваецца, кліентам варта абмежаваць частату апытання не больш чым адным запытам кожныя 30 секунд. Пры выкарыстанні доўгага апытання кліент не павінен рабіць два паслядоўныя запыты да аднаго і таго ж рэсурсу з інтэрвалам менш за адну секунду, нават калі першы запыт будзе адпраўлены менш чым праз адну секунду.
Доўгія запыты на апытанне прымаюць два параметры: тайм-аўт і etag. тайм-аўт — гэта працягласць запыту на доўгі апытанне, а etag бярэцца з папярэдняга адказу (атрыбут у каранёвым элеменце адказу).
Увогуле, неабходна мець актыўны доўгі апытанне толькі для аднаго з /Status або /SyncStatus. Адказ /Status уключае элемент ( ), які паказвае, ці змяніўся /SyncStatus. /SyncStatus варта апытваць, калі цікавяць толькі імя, гучнасць і статус групоўкі прайгравальніка. /Status варта апытваць, калі патрэбны бягучы статус прайгравання.
Калі гульцы аб'ядноўваюцца ў групы, асноўны гулец з'яўляецца галоўным гульцом у групе. Да асноўнага гульца прымацаваны другасныя гульцы. Адказы /Status другасных гульцоў з'яўляюцца копіямі адказаў асноўнага гульца. Тады для адсочвання гучнасці кожнага другаснага гульца неабходны доўгі апытанне /SyncStatus.
2.1 Стан прайгравання
Апісанне
Кропка /Status запытвае інфармацыю аб гучнасці і прайграванні. Гэты запыт вяртае мноства атрыбутаў адказу,
некаторыя з якіх не прымяняюцца да гэтага дакумента. Недакументаваныя адказы варта ігнараваць.
Запыт
/Статус?таймаўт=секунд&etag=etag-значэнне

Параметры Апісанне
 тайм-аўт Неабавязковы параметр, які выкарыстоўваецца пры працяглым апытанні. Рэкамендаваны інтэрвал апытання складае 100 секунд і павінен быць абмежаваны частатой каля 60 секунд, але не хутчэй за 10 секунд.
etag Неабавязковы параметр, які выкарыстоўваецца пры доўгім апытанні. Гэта etag атрыбут з
Параметры Апісанне
папярэдні адказ на выклік /Статус.

Адказ
<status etag=”4e266c9fbfba6d13d1a4d6ff4bd2e1e6″>
÷ (Дэлюкс)
Эд Шыран
праўда
1
159
Дызер:142986206
/Малюнак твора?паслуга=Deezer&гід песні=Deezer%3A142986206
0
187
1
Ідэальна
1054
0
320000
2
Дызер
/Крыніцы/малюнкі/DeezerIcon.png
0
8

19 гадоў
паўза
MP3 320 кбіт/с
5
Ідэальна
Эд Шыран
÷ (Дэлюкс)
263
4
35

УВАГА: У наступнай табліцы пералічаны не ўсе атрыбуты адказу. Могуць прысутнічаць і іншыя элементы, якія варта ігнараваць.

Атрыбуты адказу Апісанне
etag Атрыбут каранёвага элемента адказу. Непразрыстае значэнне, якое выкарыстоўваецца пры доўгім апытанні для выяўлення змяненняў адказу. Калі значэнне не змянілася з моманту папярэдняга адказу, то адказ гарантавана не змяніўся (але гл. таксама раздзелы ніжэй).
засталося секунд будзільніка Калі прайграванне з'яўляецца вынікам сігналу трывогі, то гэта колькасць секунд, праз якія яно спыніцца.
дзеянне Глядзіце апісанне ў раздзеле «Дзеянні для струменевых радыёстанцый».
альбом Назва альбома бягучай актыўнай кампазіцыі. Глядзіце таксама атрыбут title1.
мастак Назва выканаўцы бягучай актыўнай кампазіцыі. Глядзіце таксама атрыбут title1.
батарэя Паказваецца, калі ў гульца ёсць акумулятарная батарэя. Уключае атрыбуты:
· узровень – стан зарада, працэнты
· зарадка – 1, калі зарадка ідзе
· значок – URL выява гульца, якая паказвае бягучы стан зарада
 

canMovePlayback

Праўда, калі можна перанесці бягучы прайграваны або прыпынены кантэнт на іншы прайгравальнік.
 

canSeek

Калі 1, то можна пераключацца паміж бягучымі трэкамі ў дыяпазоне ад 0 да totlen, выкарыстоўваючы параметр seek для /Play. Напрыкладampле: /Прайграць?шукаць=34.
db Узровень гучнасці ў дБ.
Назва групы Назва групы. Гулец павінен быць асноўным гульцом у групе.
групавы аб'ём Узровень гучнасці групы. Гулец павінен быць асноўным гульцом у групе.
малюнак URL выявы, звязанай з бягучым аўдыё (альбом, станцыя, уваход і г.д.). Калі
Атрыбуты адказу Апісанне
у URL пачынаецца з /Artwork, гэта можа прывесці да перанакіравання. Даданне параметра/ключа followRedirects=1 пры атрыманні выявы можна пазбегнуць перанакіравання.
нямы Стан без гуку. Усталюйце значэнне 1, калі гук выключаны.
muteDb Калі гук прайгравальніка выключаны, то тут змяшчаецца гучнасць у дБ без гуку.
адключыць гук Калі гук выключаны, то тут змяшчаецца ўзровень гучнасці без гуку. Значэнні ад 0 да 100.
імя Назва бягучай прайграванай аўдыядарожкі. Глядзіце таксама атрыбут title1.
паведаміцьurl URL для ўсплывальнага апавяшчэння.
id Унікальны ідэнтыфікатар чаргі прайгравання. Ён супадае з атрыбутам id адказу /Playlist. Пры змене чаргі прайгравання гэты нумар зменіцца.
пазбавіць Унікальны ідэнтыфікатар прэсета. Ён супадае з атрыбутам prid у адказе /Presets. Калі прэсет зменіцца, гэты лік зменіцца, што азначае, што любы кэшаваны адказ на /Presets павінен быць выдалены.
якасць Якасць прайграванага гуку крыніцы:
· cd – аўдыё без страт у якасці CD
· hd – аўдыё без страт з больш высокім разрозненнем, чым якасць CD або sampхуткасць ле 88200 сampменш/больш
· dolbyAudio – DolbyDigital або AC3
· mqa – сапраўдны дэкадзіраваны гук MQA
· mqaAuthored – дзейсны аўдыёзапіс, дэкадаваны з дапамогай MQA-Authored
Лікавае значэнне — гэта прыблізны бітрэйт сціснутага гукавога сігналу file.
 

паўтараць

0, 1 або 2. 0 азначае чаргу паўторнага прайгравання, 1 азначае паўтор трэка, а 2 азначае паўтор выключаны.
сек Колькасць секунд прайгравання бягучай аўдыядарожкі. Гэта значэнне не выкарыстоўваецца пры разліку etag і сам па сабе прагрэс не прывядзе да вяртання пасля доўгага выкліку апытання. Кліенты павінны павялічваць пазіцыю прайгравання, калі стан знаходзіцца ў рэжыме прайгравання або патоку, на аснове інтэрвалу з моманту атрымання адказу.
абслугоўванне Ідэнтыфікатар службы бягучага аўдыё. Гэта значэнне не адлюструецца ў карыстальніцкім інтэрфейсе, бо
Атрыбуты адказу Апісанне
фактычны радок можа адрознівацца ад афіцыйнай назвы службы.
значок службы URL значка бягучай службы.
ператасаваць 0 або 1. 0 азначае выпадковае прайграванне выключана, а 1 азначае ўключэнне выпадковага прайгравання.
спаць Хвіліны, якія засталіся да ўключэння таймера сну.
песня Пазіцыя бягучай кампазіцыі ў чарзе прайгравання. Глядзіце таксама патокUrl.
стан Бягучы стан гульца. Гэта можа быць прайграванне, паўза, прыпынак, трансляцыя, падключэнне і г.д.
/Play можна выкарыстоўваць для аднаўлення прайгравання ў стане паўзы, але не ў стане прыпынку.
Слова «play» і «stream» варта лічыць аднолькавымі. Глядзіце таксама «stream»Url.
 

станцыяВыява

URL для выявы радыёстанцыі, калі бягучы аўдыёзапіс з'яўляецца радыёстанцыяй, напрыклад, радыё Deezer. Гэта можа быць тое ж самае, што і выява.
streamFormat Фармат аўдыё.
патокUrl Прысутнасць гэтага элемента павінна разглядацца як сцяжок, а яго змесціва — як непразрыстае значэнне. Калі ён прысутнічае, ён паказвае:
· чарга прайгравання не з'яўляецца крыніцай бягучага аўдыё (песня не мае значэння)
· Перамешванне і паўтарэнне не маюць значэння і павінны быць выдалены з любога інтэрфейсу, калі гэта магчыма
· наступны і папярэдні недаступныя (але гл. таксама дзеянні)
сінхранізацыяСтаты Унікальны ідэнтыфікатар, які паказвае на любыя змены ў адказе /SyncStatus. Ён адпавядае атрыбуту syncStat адказу /SyncStatus. Ён змяняецца кожны раз, калі адбываецца змяненне стану сінхранізацыі.
назва1 Першы радок інфармацыі, якая апісвае бягучы аўдыёфайл. title1, title2 і title3
АБАВЯЗКОВА выкарыстоўваецца ў якасці тэксту любога карыстальніцкага інтэрфейсу, які адлюстроўвае тры радкі метададзеных прайгранай песні. Не выкарыстоўвайце такія значэнні, як альбом, выканаўца і назва.
назва2 Другі радок інфармацыі, які апісвае бягучы аўдыёзапіс.
назва3 Трэці радок інфармацыі, які апісвае бягучы аўдыёзапіс.
тотлен Агульная працягласць бягучай кампазіцыі ў секундах.
twoline_title1 Першы з двух радкоў, якія апісваюць бягучы аўдыёфайл. twoline_title1 і twoline_title2, калі яны ёсць, ПАВІННЫ выкарыстоўвацца ў якасці тэксту любога карыстальніцкага інтэрфейсу, які адлюстроўвае два
Атрыбуты адказу Апісанне
радкі метададзеных, якія прайграваюцца зараз.
twoline_title2 Другі з двух радкоў, якія апісваюць бягучы аўдыёзапіс.
аб'ём Узровень гучнасці прайгравальніка ў працэнтах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 Неабавязковы параметр, які выкарыстоўваецца пры доўгім апытанні. Гэта etag атрыбут з папярэдняга адказу на выклік /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″ ініцыялізаваны=”true” group=”PULSE-0278 + 2″ syncStat=”23″ id=”192.168.1.100:11000″ mac=”90:56:82:9F:02:78″> 11000


…..

ЗАЎВАГА: у наступнай табліцы пералічаны не ўсе атрыбуты адказу. Могуць прысутнічаць і іншыя элементы, якія варта ігнараваць.

Атрыбуты адказу Апісанне
батарэя Паказваецца, калі ў гульца ёсць акумулятарная батарэя. Уключае атрыбуты:
· узровень – стан зарада, працэнты
· зарадка – 1, калі зарадка ідзе
· значок – URL выява гульца, якая паказвае бягучы стан зарада
брэнд Фірмовая назва гульца.
db Узровень гучнасці ў дБ.
etag Tag адказу /SyncStatus, які выкарыстоўваецца для доўгага апытання.
група Назва групы.
значок URL які змяшчае выяву значка гульца.
id IP-адрас і порт гульца.
ініцыялізаваны Праўда азначае, што плэер ужо настроены, няпраўда — што плэер патрабуе налады. Плэер павінен быць настроены з дапамогай праграмы BluOS Controller.
Mac Унікальны ідэнтыфікатар гульца для сеткавага інтэрфейсу. Можа быць MAC-адрас.
гаспадар IP-адрас галоўнага гульца. Прысутнічае толькі ў тым выпадку, калі гулец з'яўляецца другарадным гульцом у групе. Атрыбуты:
· порт – нумар порта.
· перападключэнне – ісціна, калі спрабуецца перападключыцца да асноўнага гульца
мадэль Ідэнтыфікатар мадэлі гульца.
назва мадэлі Назва мадэлі плэера.
нямы Усталюйце значэнне 1, калі гук выключаны.
muteDb Калі гук прайгравальніка выключаны, гэта ўзровень гучнасці ў дБ без гуку.
Атрыбуты адказу Апісанне
адключыць гук Калі гук прайгравальніка выключаны, то гэта ўзровень гучнасці без прыглушэння (0..100).
імя Імя гульца.
schemaVersion Версія схемы праграмнага забеспячэння.
раб IP-адрасы другасных гульцоў. Прысутнічаюць толькі ў тым выпадку, калі гулец з'яўляецца асноўным гульцом групы. Можа быць некалькі другасных гульцоў. Атрыбуты:
· ідэнтыфікатар – IP-адрас
· порт – нумар порта
 

сінхранізацыяСтаты

ідэнтыфікатар статусу сінхранізацыі. Ён змяняецца кожны раз, калі змяняецца які-небудзь элемент у адказе /SyncStatus. Супастаўленне з элемент у адказе /Status.
аб'ём Узровень гучнасці па шкале ад 0 да 100. -1 азначае фіксаваную гучнасць.
зона Назва фіксаванай групы.
zoneMaster Калі гулец з'яўляецца асноўным гульцом у фіксаванай групе, гэта значэнне мае значэнне «true».
zoneSlav Калі гулец з'яўляецца другарадным гульцом у фіксаванай групе, гэта значэнне мае значэнне «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, абсалютнага дБ або адноснага дБ, абмежаваныя значэннямі, якія прыводзяць да ўзроўню ў межах настроенага даступнага дыяпазону гучнасці, які звычайна складае -80..0. Дыяпазон гучнасці можна рэгуляваць з дапамогай праграмы BluOS Controller на старонцы Налады -> Плэер -> Аўдыё.
Запыт падтрымлівае доўгі апытанне (не паказана ніжэй).
Запыт
/ Аб'ём
/Гучнасць?узровень=узровень&tell_slaves=укл_выкл
/Гучнасць?адключэнне=укл_выкл&тэл_падпарадкавальнікі=укл_выкл
/Гучнасць?abs_db=db&tell_slaves=on_off
/Гучнасць?db=delta-db&tell_slaves=on_off

Параметры Апісанне
ўзровень Усталюйце абсалютны ўзровень гучнасці прайгравальніка. Гэта цэлы лік ад 0 да 100.
 расказаць рабам Прымяняецца да згрупаваных гульцоў. Калі зададзена 0, гучнасць зменіцца толькі ў бягуча выбранага гульца. Калі зададзена 1, гучнасць зменіцца ва ўсіх гульцоў у групе.
нямы Калі ўсталявана 0, гук гульца выключаны. Калі ўсталявана 1, гук гульца ўключаны.
abs_db Усталюйце гучнасць з дапамогай шкалы дБ.
 db Вызначце адноснае змяненне гучнасці з дапамогай шкалы гучнасці ў дБ. дБ можа быць дадатным або адмоўным лікам.

Адказ
<volume db=”-49.9″ mute=”0″ offsetDb=”0″ etag=”6213593a6132887e23fe0476b9ab2cba”>15</volume>

Атрыбуты адказу Апісанне
Атрыбуты адказу Апісанне
db Узровень гучнасці ў дБ.
нямы 1, калі гулец адключаны, 0, калі гулец уключаны.
muteDb Калі гук прайгравальніка выключаны, гэта ўзровень гучнасці ў дБ без гуку.
адключыць гук Калі гук прайгравальніка выключаны, то гэта ўзровень гучнасці без прыглушэння (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 і ўсіх другарадных прайгравальнікаў у гэтай групе на 2 дБ.
http://192.168.1.100:11000/Volume?mute=1
Адключае гук гульца.
3.2 Павялічыць гучнасць
Апісанне
Гэты запыт павялічвае гучнасць на пэўны ўзровень у дБ (тыповае значэнне — 2 дБ).
Запыт
/Аб'ём?db=значэнне_db

Параметры Апісанне
db Крокі павелічэння гучнасці ў дБ (тыповае значэнне 2 дБ)

Адказ
<volume db=”-25″ mute=”0″ offsetDb=”6″ etag=”a071a168fac1c879b1de291720c8a4b8″>27</volume>

Атрыбуты адказу Апісанне
db Узровень гучнасці ў дБ.
нямы 1, калі гулец адключаны, 0, калі гулец не адключаны
Атрыбуты адказу Апісанне
offsetDb
etag

Example
http://192.168.1.100:11000/Volume?db=2
Павялічце гучнасць на 2 дБ.
3.3 Памяншэнне гучнасці
Апісанне
Гэты запыт памяншае гучнасць на пэўны ўзровень у дБ (тыповае значэнне — -2 дБ).
Запыт
/Аб'ём?db=-значэнне_db

Параметры Апісанне
db Крокі павелічэння гучнасці ў дБ (тыповае значэнне -2 дБ)

Адказ
<volume db=”-25″ mute=”0″ offsetDb=”6″ etag=”a071a168fac1c879b1de291720c8a4b8″>27</volume>

Атрыбуты адказу Апісанне
db Узровень гучнасці ў дБ
нямы 1, калі гулец адключаны, 0, калі гулец не адключаны
offsetDb
etag

Example
http://192.168.1.100:11000/Volume?db=-2
Зменшце гучнасць на 2 дБ.
3.4 Адключэнне гуку
Апісанне
Запыт
/Гучнасць?адключэнне=1

Параметры Апісанне
нямы Усталюйце значэнне 1, каб адключыць гук гульца

Адказ
<volume muteDb=”-43.1″ db=”100″
muteVolume = "11"
mute=”1″
offsetDb=”0″
etag=”2105bed56563d9da46942a696cfadd63″>0</volume
>

Атрыбуты адказу Апісанне
muteDb Узровень гучнасці ў дБ перад адключэннем гуку
db Узровень гучнасці ў дБ
адключыць гук Узровень гучнасці ў працэнтах перад адключэннем гуку
нямы 1 азначае, што гулец адключаны
offsetDb
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 Узровень гучнасці ў дБ
нямы 0 азначае, што гулец не мае адключанага гуку
offsetDb
etag

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

Кіраванне прайграваннем

Гэтыя каманды выкарыстоўваюцца для базавага кіравання прайграваннем. Сярод каманд ёсць прайграванне, паўза, прыпынак, прапуск, назад, перамешванне і паўтор.
4.1 Гуляць
Апісанне
Пачаць прайграванне бягучай аўдыякрыніцы. Дадатковыя параметры дазваляюць пераходзіць да аўдыядарожак і выбіраць уваходны сігнал перад пачаткам прайгравання аўдыё.
Запыт
/Прайграць
/Play?seek=секунды
/Play?seek=секунды&id=ідэнтыфікатар трэка
/Гуляць?url=encodedStreamURL

Параметры Апісанне
 шукаць Перайсці да пазначанай пазіцыі ў бягучай дарожцы. Дзейнічае толькі калі адказ /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-Song-1%2Emp3
Пачаць прайграванне аўдыё ў фармаце mp3 онлайн.
4.2 Паўза
Апісанне
Прыпыніць бягучы прайграваны аўдыёфайл.
Калі гучыць будзільнік і ў яго ёсць тайм-аўт, то тайм-аўт будзільніка адмяняецца.
Запыт
/Паўза
/Паўза?пераключэнне=1

Параметры Апісанне
пераключаць Калі ўсталявана значэнне 1, то бягучы стан паўзы пераключаецца.

Адказ
паўза

Атрыбуты адказу Апісанне
стан Стан пасля выканання каманды. Глядзіце атрыбут стану адказу /Status для атрымання больш падрабязнай інфармацыі.

Example
http://192.168.1.100:11000/Pause
Прыпыняе бягучае прайграванне аўдыё.
4.3 Прыпынак
Апісанне
Спыніць бягучае прайграванне аўдыё. Калі гучыць будзільнік і мае тайм-аўт, то тайм-аўт будзільніка адмяняецца. Запыт
/Стоп

Параметры Апісанне
Няма

Адказ
спыніцца

Атрыбуты адказу Апісанне
стан «Стоп» азначае, што бягучы аўдыё спынены.

Example
http://192.168.1.100:11000/Stop
Спыняе бягучае прайграванне аўдыё.
4.4 Прапусціць
Апісанне
Перайсці да наступнай аўдыядарожкі ў чарзе прайгравання
Пры прайграванні з чаргі прайгравання адбываецца пераход да наступнага трэка ў чарзе. Калі бягучы трэк з'яўляецца апошнім у чарзе, выклік /Skip пераключыць на першы трэк у чарзе. Пераход да наступнага або першага трэка ў чарзе адбудзецца незалежна ад стану налады паўтору.
Каб вызначыць, ці выкарыстоўваеце вы чаргу прайгравання, пераканайцеся, што нямаUrl> запіс у адказе /Status.
Затым вы можаце скарыстацца камандай /Skip.
Вы таксама можаце прапускаць трэкі некаторых струменевых радыёстанцый. Гэта робіцца з дапамогай каманды /Action.
Некаторыя крыніцы, такія як TuneIn і Optical Input, не падтрымліваюць опцыю прапускання. Гэтыя крыніцы будуць мецьURL> запіс, але ў адказе /Status няма назвы дзеяння прапуска.
Запыт
/Прапусціць

Параметры Апісанне
Няма

Адказ
21

Атрыбуты адказу Апісанне
id Ідэнтыфікатар трэка пасля выканання каманды прапускання. Падрабязнасці глядзіце ў атрыбуце песні адказу /Status.

Example
http://192.168.1.100:11000/Skip
Перайсці да наступнага трэка.
4.5 Назад
Апісанне
Калі трэк прайграваецца больш за чатыры секунды, функцыя вяртання вернецца да пачатку трэка.
У адваротным выпадку каманда «Назад» вернецца да папярэдняй песні ў бягучым спісе прайгравання. Калі гулец вернецца да першай песні ў спісе прайгравання, каманда «Назад» вернецца да апошняй песні. Адбудзецца пераход да папярэдняга або першага трэка ў чарзе незалежна ад стану налады паўтору.
Каб вызначыць, ці выкарыстоўваеце вы чаргу прайгравання, пераканайцеся, што нямаUrl> элемент у адказе /Status.
Затым можна скарыстацца камандай /Back.
Вы таксама можаце перайсці да папярэдніх трэкаў некаторых струменевых радыёстанцый. Гэта робіцца з дапамогай каманды /Action.
Некаторыя крыніцы, такія як TuneIn і Optical Input, не падтрымліваюць опцыю «Назад». Гэтыя крыніцы будуць мецьUrl> элемент, але ў адказе /Status няма назвы дзеяння прапускання.
Запыт
/Назад

Параметры Апісанне
Няма

Адказ
19

Атрыбуты адказу Апісанне
id Ідэнтыфікатар трэка пасля выканання каманды back. Глядзіце атрыбут песні адказу /Status для атрымання падрабязнай інфармацыі.

4.6 Ператасаванне
Апісанне
Каманда shuffle стварае новую чаргу, перамешваючы бягучую чаргу. Арыгінальная (не перамешаная) чарга захоўваецца для аднаўлення, калі перамешванне адключана.
Запыт
/Выпадкова?стан=0|1

Параметры Апісанне
стан · 0, каб адключыць перамешванне
· 1, каб уключыць перамешванне. Не мае эфекту, калі чарга ўжо знаходзіцца ў перамешаным стане. Глядзіце адказ /Status элемент.

Адказ

Атрыбуты адказу Апісанне
мадыфікаваны 1 азначае, што чарга была зменена з моманту загрузкі. 0 азначае, што не.
даўжыня Агульная колькасць трэкаў у бягучай чарзе.
ператасаваць Стан перамешвання. 1 азначае, што бягучая чарга перамешваецца. 0 азначае, што бягучая чарга не перамешваецца.
id Ідэнтыфікатар бягучай чаргі. Ён змяняецца кожны раз, калі чарга прайгравання змяняецца.

Example
http://192.168.1.100:11000/Shuffle?state=1
Перамешвае бягучую чаргу прайгравання.
4.7 Паўтарыце
Апісанне
Устанаўлівае параметры паўтарэння. Паўтарэнне мае тры станы: 0 азначае паўтарэнне бягучай чаргі, 1 азначае паўтарэнне бягучай кампазіцыі і 2 азначае адсутнасць паўтарэння. Усе паўторы бясконцыя, гэта значыць яны не спыняюцца.
Запыт
/Паўтарыць?стан=0|1|2

Параметры Апісанне
стан · 0 для паўтарэння ўсёй чаргі прайгравання
· 1 для паўтарэння бягучай кампазіцыі
· 2, каб адключыць паўтор

Адказ

Атрыбуты адказу Апісанне
даўжыня Агульная колькасць трэкаў у бягучай чарзе прайгравання.
id Ідэнтыфікатар бягучай чаргі. Ён змяняецца кожны раз, калі чарга прайгравання змяняецца.
паўтараць Бягучы стан паўтарэння.

Example
http://192.168.1.100:11000/Repeat?state=1
Паўтарае бягучую прайграваную кампазіцыю.
4.8 Дзеянні для струменевай перадачы радыёстанцый
Апісанне
Дзеянні дазваляюць пераключацца наперад, вяртацца назад, дадаваць лайкі і блакіраваць трэкі на асобных струменевых радыёстанцыях, такіх як Slacker, Radio Paradise або Amazon Music Prime Stations. Струменевыя радыёстанцыі не загружаюць трэкі ў чаргу прайгравання. Замест гэтага яны забяспечваюць URL якія вы можаце выкарыстоўваць для выканання патрэбнай функцыі.
«Прапусціць» перанясе трэк да наступнага. «Назад» — да папярэдняга. «Люблю» пазначыць трэк як спадабаўся ў музычным сэрвісе. «Забараніць» перанясе трэк да наступнага і пазначыць яго як не спадабаўся ў музычным сэрвісе.
Калі ёсцьUrl> запіс у адказе /Status і адпаведнае дзеянне, вы можаце выканаць гэтыя функцыі. Дзеянне будзе ўтрымліваць URL які выкарыстоўваецца для выканання дзеяння.
Вось былыampз адказу /Status гульца, які гуляе на радыё Slacker:


<action name=”skip” url=”/Дзеянне?паслуга=Slacker&прапусціць=4799148″/>
<action icon=”/images/loveban/love.png” name=”love” notification=”Track marked as favorite” state=”1″ text=”Love” url=”/Дзеянне?паслуга=Slacker&каханне=4799148″/>
<action icon=”/images/loveban/ban.png” name=”ban” notification=”Track banned from this
станцыя” стан =”-1″ тэкст =”Забарона” url=”/Дзеянне?паслуга=Slacker&бан=4799148″/>

У гэтым эксampле, назад недаступна, але прапусціць, палюбіць і забараніць можна.
Запыт
/Дзеянне?паслуга=назва-паслугі&дзеянне=дзеянне-URL
Заўвага: Канкрэтныя дэталі запыту (канцавая кропка і параметры) падаюцца адпаведнымі элемент. Каманды ў ExampУ раздзеле ніжэй выкарыстоўваецца /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 унікальны ідэнтыфікатар для бягучага стану чаргі (напрыклад, 1054). Ён такі ж, як і у адказе /Status.
песня Песня складаецца з некалькіх падэлементаў:
· albumid = ідэнтыфікатар альбома, у якім знаходзіцца трэк
· сэрвіс = музычны сэрвіс трэка
· artistid = ідэнтыфікатар выканаўцы трэка
· ідэнтыфікатар песні = ідэнтыфікатар песні
· id = пазіцыя трэка ў бягучай чарзе. Калі трэк выбраны, ідэнтыфікатар трэка супадае з у адказе /Status.
· назва = назва трэка
· мастацтва = імя мастака
· альбом = назва альбома

Example
http://192.168.1.100:11000/Playlist
Паказвае спіс усіх трэкаў у чарзе прайгравання.
http://192.168.1.100:11000/Playlist?length=1
5.2 Выдаліць трэк
Апісанне
Выдаліць трэк з бягучай чаргі прайгравання.
Запыт
/Выдаліць?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 Унікальны ідэнтыфікатар бягучай чаргі.

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. Прэстэты могуць уключаць радыёстанцыі, спісы прайгравання і ўваходы (напрыклад,
Bluetooth, аналагавы, аптычны, 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=”/Загрузка?паслуга=Прыліў&amp;id=fd3f797e-
a3e9-4de9-a1e2-b5adb6a57cc7″ image=”/Artwork?service=Tidal&amp;playlistimage=afacfc12-24034caf-a5c5-a2af28d811c8″/> </presets>

Атрыбуты адказу Апісанне
ганарлівасць Унікальны ідэнтыфікатар прэсетаў прайгравальніка. Ён такі ж, як і у адказе /Status.
імя Назва загадзя зададзенай налады.
id Зададзены ідэнтыфікатар.
url Заданне URLГэта загадзя ўсталяваная крыніца URL выкарыстоўваецца для загрузкі прэсета.
малюнак Малюнак URL зададзенай налады. Калі URL пачынаецца з /Artwork, гэта можа прывесці да перанакіравання. Даданне параметра/ключа followRedirects=1 пры атрыманні выявы можна пазбегнуць перанакіравання.

Example
http://192.168.1.100:11000/Presets
Пералічыце ўсе прадусталяваныя налады на плэеры.
6.2 Загрузка прэсета
Апісанне
Пачынае прайграванне прэсета. Вы можаце выбраць пэўны нумар прэсета, а таксама наступны або папярэдні прэсет. Нумары прэсетаў не абавязкова павінны быць паслядоўнымі, гэта значыць, вы можаце мець прэсеты 1,2,3, 5, 7, 8, XNUMX і XNUMX. Прэсеты пераключаюцца зверху ўніз і знізу ўверх.
Запыт
/Preset?id=presetId|-1|+1

Параметры Апісанне
id Ідэнтыфікацыйны нумар прэсета, які трэба загрузіць. Спіс даступных ідэнтыфікатараў прэсетаў можна знайсці з дапамогай каманды "Паказаць прэсеты".
Калі ідэнтыфікатар прэсета роўны +1, будзе загружаны наступны прэсет. Калі ідэнтыфікатар прэсета роўны -1, будзе загружаны папярэдні прэсет.

Адказ
Калі прэсет з'яўляецца спісам трэкаў, ён вяртае колькасць загружаных трэкаў прэсета.

60

Калі прадусталяваная ўстаноўка з'яўляецца радыё, яна вяртае стан патоку.
паток

Атрыбуты адказу Апісанне
абслугоўванне назва сэрвісу загружанай зададзенай папярэдняй налады
запісы колькасць загружаных трэкаў прэсета

Example
http://192.168.1.100:11000/Preset?id=4
Загрузіце прэсет з ідэнтыфікатарам прэсета 4.
http://192.168.1.100:11000/Preset?id=+1

Прагляд і пошук кантэнту

У гэтым раздзеле апісаны каманды для прагляду і пошуку кантэнту музычных сэрвісаў.
7.1 Прагляд музычнага кантэнту
Апісанне
Перамяшчайцеся па даступных крыніцах музыкі, а таксама ўваходах і спісах прайгравання.
Каранёвым элементам для адказаў з'яўляецца калі няма адказу пра памылку. Большасць вынікаў уяўляюць сабой паслядоўнасць У некаторых выпадках вынікам з'яўляецца паслядоўнасць , кожны з якіх змяшчае паслядоўнасць, калі Усе значэнні падаюцца з дапамогай атрыбутаў. Тэкставых вузлоў няма.
Вынікам выкліку /Browse можа быць памылка, уключаная ў каранёвы элемент. Падрабязнасці памылкі прадстаўлены ў адным і нуль ці больш тэкставыя вузлы.
Запыт
/Browse?key=ключ-значэнне
/Агляд?key=ключ-значэнне&withContextMenuItems=1

Параметры Апісанне
ключ Неабавязковы параметр. Адсутнасць гэтага параметра прывядзе да прагляду верхняга ўзроўню. Вяртае інфармацыю для ўзроўняў, акрамя верхняга ўзроўню /Browse. Выкарыстоўвае значэнне, узятае са значэння атрыбута «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» searchKey = «Deezer:Пошук» тып = «меню»>
item browseKey=”/Playlists?service=Deezer&genre=0&category=toplist” text=”Папулярныя плэйлісты”
тып = "спасылка" />

тып = "спасылка" />

тып = "спасылка" />
item browseKey=”/Songs?service=Deezer&genre=0&category=toplist” text=”Папулярныя песні”
тып = "спасылка" />

Атрыбуты адказу Апісанне
Глядзіце табліцы элементаў/атрыбутаў ніжэй

Example
УВАГА: усе ключавыя параметры павінны быць у кадаванні UTF-8.
http://192.168.1.100:11000/Browse
Ці выконвае прагляд верхняга ўзроўню.
http://192.168.1.100:11000/Browse?key=Tidal%3A
Выконвае прагляд другога ўзроўню, вяртаючы катэгорыі Tidal.
http://192.168.1.100:11000/Browse?key=Tidal%3AmenuGroup%2F3
Выконвае прагляд трэцяга ўзроўню, вяртаючы падкатэгорыі Tidal Masters (Група 3).
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 для значка службы, якую вы зараз праглядаеце.
servicename Назва службы, якую праглядае карыстальнік, для адлюстравання.
Ключ пошуку Значэнне, якое выкарыстоўваецца ў якасці ключавога параметра ў запыце /Browse для пошуку ў бягучай службе (ці ў больш глыбокай частцы іерархіі). Акрамя таго, запыт павінен утрымліваць параметр aq, які змяшчае пошукавы тэрмін.
nextKey Значэнне, якое выкарыстоўваецца ў якасці ключавога параметра ў запыце /Browse для атрымання наступнай старонкі элементаў для бягучага viewПамер фрагмента падпампоўкі не кантралюецца карыстальнікам API, і нельга рабіць ніякіх спроб разабраць або маніпуляваць параметрамі запыту гэтага значэння.
бацькоўскі ключ Значэнне, якое выкарыстоўваецца ў якасці ключавога параметра ў запыце /Browse для навігацыі назад уверх па іерархіі, калі стандартная навігацыя назад павінна быць перавызначана.
тыпу меню Навігацыйны вузел, які патэнцыйна можа ўтрымліваць розныя тыпы элементаў. Часцей за ўсё ён змяшчае толькі спасылкі або аўдыёэлементы.
кантэкстнае меню Спіс элементаў пазначанага тыпу.
артысты
элемент Атрыбут (і значэнні) Апісанне
кампазітары
альбомы
плэйлісты
дарожкі
жанры
раздзелы Алфавітныя раздзелы.
элементы Агульны спіс вынікаў. Часцей за ўсё гэта спалучэнне вузлоў меню (type=”link”) і радыёэлементаў (type=”audio”).
папкі Можа ўтрымліваць падпапкі, трэкі і запісы ў плэйлістах.
тэкст Рухаюся ў катэгорыю.
nextKey Значэнне, якое выкарыстоўваецца ў якасці ключавога параметра ў запыце /Browse для атрымання наступнай старонкі элементаў для катэгорыі.
бацькоўскі ключ Значэнне, якое выкарыстоўваецца ў якасці ключавога параметра ў запыце /Browse для навігацыі назад уверх па іерархіі, калі стандартная навігацыя назад павінна быць перавызначана.
тыпу спасылка Агульны вузел у іерархіі прагляду, які вядзе да далейшых вузлоў
аўдыё Вузел, які можна прайграваць непасрэдна
мастак Прадмет, які прадстаўляе мастака
элемент Атрыбут (і значэнні) Апісанне
кампазітар Прадмет, які прадстаўляе кампазітара
альбом Прадмет, які прадстаўляе альбом або падобную калекцыю
спіс прайгравання Элемент, які прадстаўляе спіс прайгравання або падобную калекцыю
трэк Элемент, які прадстаўляе адзін трэк
тэкст Звычайны тэкставы вузел.
падзел Алфавітны раздзел.
папка Папка ў тэчцы для прагляду.
тэкст Асноўны або першы радок апісання тавару
тэкст2 Другая лінія
малюнак Значок або малюнак для элемента. Калі выява пачынаецца з

/Мастацкая праца можа прывесці да перанакіравання. Даданне параметра/ключа followRedirects=1 пры атрыманні выявы можна пазбегнуць перанакіравання.

browseKey Значэнне, якое выкарыстоўваецца ў якасці ключавога параметра для наступнага запыту /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&albumid=693798541&playnow=1″ выява=”/Малюнак?паслуга=Deezer&albumid=693798541″
browseKey=”Deezer:Альбом?выканаўца=Ziak&album=Essonne%20History%20X&albumid=693798541″ text2=”Ziak” type=”альбом”>
<item text=”Favorite” type=”favourite-add” actionURL=”/AddFavourite?service=Deezer&albumid=693798541″/>
<item text=”Play now” type=”add-now”
дзеяннеURL=”/Дадаць?паслуга=Deezer&playnow=1&clear=0&shuffle=0&where=nextAlbum&albumid=693798541″/>
<item text=”Shuffle” type=”add-shuffle”
дзеяннеURL=”/Дадаць?паслуга=Deezer&выпадковае прайграванне=1&прайграць зараз=1&дзе=наступныальбом&albumid=693798541″/>
<item text=”Add next” type=”addAll-next” actionURL=”/Дадаць?паслуга=Deezer&playnow=-1&where=nextAlbum&albumid=693798541″/>
<item text=”Add last” type=”addAll-last” actionURL=”/Дадаць?паслуга=Deezer&playnow=-1&where=last&albumid=693798541″/>




Заўвагі і падказкі па рэалізацыі
Атрыбут тыпу элемента прадастаўляецца ў якасці падказкі, якая можа палегчыць розныя варыянты адлюстравання.
Магчымасць прагляду змесціва элемента пазначаецца наяўнасцю атрыбута browseKey. Магчымасць прайгравання (вельмі) элемента пазначаецца наяўнасцю атрыбута play.URL (і, магчыма, таксама аўтаматычнае прайграваннеURL) атрыбут. Элемент можа мець як атрыбут browseKey, так і атрыбут playURL атрыбут.
Калі гуляюць абодваURL і аўтапрайграваннеURL даступныя атрыбуты, які з іх выкарыстоўваць у якасці опцыі прайгравання па змаўчанні, павінен выбіраць карыстальнік.
Значэнні URI звычайна будуць адноснымі URI з абсалютным кампанентам шляху. Адносныя URI пераўтвараюцца ў абсалютныя URI ў адпаведнасці з RFC 3986.
Значэнні атрыбутаў browseKey, contextMenuKey і searchKey заўсёды павінны быць закадаваны URI (працэнт экранаваны) пры выкарыстанні ў якасці значэння ключавога параметра для запыту /Browse, як і любыя іншыя параметры запыту.
Пры спуску па іерархіі прагляду ў загалоўку старонкі карыстальніцкага інтэрфейсу можа быць карысна паказваць нейкія навігацыйныя крошкі, верагодна, выкарыстоўваючы загаловак (тэкст) бацькоўскага і прабацькоўскага вузлоў.
Можа быць карысна зрабіць кантэкстнае меню даступным для бацькоўскага элемента пры праглядзе яго даччыных элементаў.
Пры выбары спосабу адлюстравання даччыных аб'ектаў можа быць карысна ўлічваць тып бацькоўскага аб'екта.
7.2 Пошук музычнага кантэнту
Апісанне
Каманда для пошуку ўнутры сэрвісу.
Запыт
/Агляд?key=ключ-значэнне&q=пошукТэкст

Параметры Апісанне
ключ Значэнне, якое бярэцца са значэння атрыбута «searchKey» з папярэдняга адказу
 q Радок пошуку. Выканаць пошук у кантэксце, зададзеным ключавым параметрам (узятым з атрыбута searchKey з адказу). Пры адсутнасці ключавога параметра выканаць пошук верхняга ўзроўню.

Адказ
<browse sid=”16″ serviceIcon=”/Sources/images/DeezerIcon.png” serviceName=”Deezer”
паслуга = «Deezer» searchKey = «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 Пошук “michael” within the Deezer music service.

Групаванне гульцоў

У гэтым раздзеле апісаны каманды для групавання і разгрупавання гульцоў па змаўчанні. BluOS таксама падтрымлівае фіксаванае групаванне, якое выходзіць за рамкі гэтага дакумента.
У BluOS выкарыстоўваецца тэрміналогія «асноўны прайгравальнік» і «дадатковы прайгравальнік». Асноўны прайгравальнік — гэта галоўны прайгравальнік у групе. Асноўны прайгравальнік выкарыстоўваецца для выбару крыніцы музыкі. Ёсць толькі адзін асноўны прайгравальнік. Да асноўнага прайгравальніка падключаны другасны прайгравальнік. Можа быць некалькі другасных прайгравальнікаў.
Калі гулец з'яўляецца другасным гульцом, то многія запыты, накіраваныя другаснаму гульцу, унутрана перадаюцца першаснаму гульцу. Да іх адносяцца запыты /Status, кіраванне прайграваннем, кіраванне чаргой прайгравання і прагляд і пошук кантэнту.
8.1 Гульцы другой групы
Апісанне
Згрупуйце аднаго другараднага гульца з асноўным гульцом.
Запыт
/AddSlave?slave=secondaryPlayerIP&port=secondaryPlayerPort&group=НазваГрупы

Параметры Апісанне
раб IP-адрас другаснага гульца.
 порт Нумар порта другаснага прайгравальніка. Нумар порта па змаўчанні — 11000. Такія прайгравальнікі, як NAD CI580, які мае чатыры прайгравальнікі з адным IP-адрасам, выкарыстоўваюць некалькі партоў.
 група НЕАБАВЯЗКОВА, назва групы. Калі не пазначана, BluOS дасць назву групы па змаўчанні.

Адказ


Атрыбуты адказу Апісанне
рабскі порт Нумар порта другаснага прайгравальніка, які толькі што быў згрупаваны.
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-адрасы падзеленыя коскамі.
 парты Парты другасных прайгравальнікаў, якія будуць дададзены да асноўнага прайгравальніка. Нумары партоў падзеленыя коскамі.

Адказ



Атрыбуты адказу Апісанне
порт Порт другаснага гульца, які быў згрупаваны.
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.
8.3 Выдаленне аднаго гульца з групы
Выдаліць гульца з групы. Пры выдаленні другараднага гульца з групы другарадны гулец разгрупоўваецца. Пры выдаленні асноўнага гульца з групы з 3 ці больш гульцоў асноўны гулец разгрупоўваецца, а астатнія другарадныя гульцы ўтвараюць новую групу.
Запыт
/RemoveSlave?slave=secondaryPlayerIP&port=secondaryPlayerPort

Параметры Апісанне
раб IP-адрас гульца (другасны), які будзе дададзены да іншага гульца (асноўны).
порт Порт гульца (другасны), які будзе дададзены да іншага гульца (асноўны).

Адказ
<SyncStatus icon=”/images/players/P300_nt.png” volume=”4″ modelName=”PULSE” name=”PULSE0278″ model=”P300″
брэнд = «Bluesound»tag=”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 Перазагрузка гульца
Апісанне
Мяккая перазагрузка плэера.
Запыт
Каманда POST /reboot з параметрам yes (любое значэнне)

Параметры Апісанне
так Любое значэнне (напрыклад, 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 The URL атрыбут з адказу на /RadioBrowse?service=Capture

Адказ
паток

Атрыбуты адказу Апісанне
стан Паказвае, што ўваходны сігнал прайграваецца

Example
Крок 1. Атрымайце URL_значэнне параметра url
Запыт: http://192.168.1.100:11000/RadioBrowse?service=Capture
Адказ:

<item playerName=”Tick
Адзначце” тэкст =”Bluetooth” inputType =”bluetooth” id =”input2″ URL=”Захоп%3Abluez%3Abluetooth” выява =” /images/BluetoothIcon.png” тып =”аўдыё”/>
<item playerName=”Tick Tick” text=”Analog
Уваход” inputType=”аналагавы” 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
Пастаўце галачку” тэкст = “Spotify” id = “Spotify” URL=”Spotify%3Aplay” выява =”/Крыніцы/малюнкі/SpotifyIcon.png” сэрвіс
Тып = "CloudService" тып = "аўдыё" />

<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″
выява = ”/выявы/захоп/ic
_аптычны ўваход.png”
тып = "аўдыё" />
<remoteitem playerName=”Test Hub” text=”HDMI ARC” inputType=”arc” id=”hub192168114911000input4″
URL=”Hub%3A%2F%2F192.168.1.149%3A11000%2Finput4″
выява = ”/выявы/захоп/ic
_tv.png”
тып = "аўдыё" />
<remoteitem playerName=”Test Hub” text=”Optical Input” inputType=”spdif” id=”hub192168114911000input2″
URL=”Hub%3A%2F%2F192.168.1.149%3A11000%2Finput2″
выява = ”/выявы/захоп/ic
_аптычны ўваход.png”
тып = "аўдыё" />
<remoteitem playerName=”Test Hub” text=”Phono Input” inputType=”phono” id=”hub192168114911000input1″
URL=”Hub%3A%2F%2F192.168.1.149%3A11000%2Finput1″
выява = ”/выявы/захоп/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)
/Прайграць?inputIndex=Ідэнтыфікатар_ідэнтыфікатара

Параметры Апісанне
 inputIndex Індэкс (пачынаецца з 1) уваходных дадзеных, якія з'яўляюцца ў адказе на /Settings?id=capture&shcemaVersion=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.
крыніца.” клас = “спіс”>


<menuGroup icon=”/images/capture/ic_analoginput.png” url=”/налада” ідэнтыфікатар=”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 версіі 4.2.0 або больш новай)
/Прайграць?inputTypeIndex=$typeIndex

Параметры Апісанне
  inputTypeIndex typeIndex мае фармат індэкс тыпу уваходнага сігналу. Вось спіс уваходных сігналаў тыпу:
SPDIF (аптычны ўваход)
аналагавы (аналагавы ўваход, лінейны ўваход) кааксіяльны (кааксіяльны ўваход) Bluetooth
дуга (HDMI ARC)
earc (HDMI eARC) фона (вініл) кампутар
aesebu (AES/EBU) збалансаваны (збалансаваны ўваход)
мікрафон (уваход для мікрафона)
The індэкс пачынаецца з 1. Калі ёсць больш за адзін уваход аднаго тыпу, уваход 1 мае індэкс 1, уваход 2 мае індэкс 2 і гэтак далей.

Адказ
паток

Атрыбуты адказу Апісанне
стан Паказвае, што ўваходны сігнал прайграваецца

Example
Запыт: http://192.168.1.100:11000/Play?inputTypeIndex=spdif-2 для выбару аптычнага ўваходу 2
Адказ: паток

Bluetooth

У гэтым раздзеле апісана каманда для змены рэжыму Bluetooth.
12.1 Змена рэжыму Bluetooth
Апісанне
Змяніць рэжым Bluetooth: ручны, аўтаматычны, госць, адключаны.
Запыт
/audiomodes?bluetoothAutoplay=значэнне

Параметры Апісанне
 

Bluetooth Аўтапрайграванне

Рэжым Bluetooth значэнне 0 азначае ручны рэжым, 1 азначае аўтаматычны, 2 азначае госць, 3 азначае адключаны.

Адказу няма
Example
Запыт: http://192.168.1.100:11000/audiomodes?bluetoothAutoplay=3 для адключэння Bluetooth

дадатак

13.1 Пратакол выяўлення службы Lenbrook
Уводзіны
Папулярныя метады выяўлення, такія як mDNS і SSDP, выкарыстоўваюць і абапіраюцца на шматадресную сувязь UDP. Большасць сучасных прадуктаў Lenbrook выкарыстоўваюць mDNS для выяўлення. На жаль, мы выявілі, што значная колькасць нашых кліентаў мае хатнія сеткі, дзе шматадресны трафік працуе няправільна, і нашы прылады не могуць быць надзейна выяўленыя. Гэта прывяло да шматлікіх вяртанняў прадуктаў і скаргаў ад нашых дыстрыб'ютараў.
Каб вырашыць гэтую праблему, мы стварылі спецыяльны пратакол выяўлення пад назвай LSDP, які выкарыстоўвае UDP-рассылку. Пачатковае тэставанне паказала, што гэта значна больш надзейна, чым выяўленне на аснове mDNS.
Пратакол скончаныview
Адной з мэтаў гэтага пратакола з'яўляецца адносная прастата. Яго можна выкарыстоўваць ва ўбудаваных прыладах з вельмі абмежаванай памяццю.
Пратакол выкарыстоўвае ўсе шырокавяшчальныя пакеты UDP, якія адпраўляюцца на порт UDP 11430 і з яго. Гэты порт быў зарэгістраваны ў IANA і прызначаны Lenbrook для выкарыстання LSDP з 27 сакавіка 2014 года.
У стацыянарным стане кожны вузел з паслугай для рэкламы транслюе паведамленне Announce прыблізна кожную хвіліну.
Пры запуску і пры змене спісу паслуг або параметраў сеткі сем пакетаў павінны рассылацца з кароткімі інтэрваламі, каб забяспечыць хутчэйшае выяўленне і распаўсюджванне змяненняў. Для вузлоў, якія рэкламуюць паслугі, гэтыя першыя сем пакетаў павінны ўключаць паведамленне Announce (Анансаванне). Для вузлоў, якія спрабуюць выявіць паслугі, першыя сем пакетаў павінны ўключаць паведамленне Query (Запыт). Для паслуг, якія больш недаступныя, сем пакетаў павінны ўключаць паведамленне Delete (Выдаленне).
Гэтыя пачатковыя пакеты адпраўляюцца сем разоў з-за ненадзейнасці UDP-пакетаў. У малаверагодным выпадку, калі ўсе сем пакетаў не атрымаюць дазволу, службы ўсё роўна будуць выяўленыя праз некаторы час з дапамогай перыядычных паведамленняў Announce, якія адпраўляюцца з працягласцю адной хвіліны.
Калі вузел атрымлівае паведамленне запыту для класа абслугоўвання, які ён рэкламуе, ён павінен адказаць паведамленнем Announce пасля кароткай выпадковай затрымкі і скінуць свой бягучы тайм-аўт Announce.
Загаловак пакета і ўсе блокі паведамленняў утрымліваюць палі даўжыні. Гэта дае дадатковую гнуткасць і дазваляе ўносіць змены, сумяшчальныя з папярэднімі версіямі, у будучыні. У будучыні можна дадаць дадатковыя палі або тыпы паведамленняў, якія старыя рэалізацыі могуць прапускаць пры разборы. Калі мы вырашым зрабіць змены, несумяшчальныя з папярэднімі версіямі, у загалоўку пакета таксама ёсць поле версіі, якое можна павялічваць.
Пратакол таксама дазваляе ўключаць запісы TXT у рэкламу паслуг, падобна да запісаў TXT, якія выкарыстоўваюцца
з mDNS. Гэта дае значную гнуткасць для ўключэння дадатковых адвольных метададзеных у сэрвіс
рэкламу без змены пратакола.
Падрабязнасці пратакола
Тэрміны
Усе адпраўленыя пакеты павінны быць запланаваны з выпадковым часам або затрымкамі, каб пазбегнуць сутыкненняў.

  • Час запуску пакетаў: 7 пакетаў за раз = [0, 1, 2, 3, 5, 7, 10 с] + (ад 0 да 250 мс выпадковым чынам). Гэта абсалютны час, а не затрымкі. Усе 7 пакетаў павінны быць адпраўлены на працягу прыблізна 10 секунд.
  • Асноўны перыяд аб'явы: 57 секунд + (ад 0 да 6 секунд выпадковым чынам)
  • Затрымка адказу на запыт: (ад 0 да 750 мс выпадковым чынам)

Ідэнтыфікатар вузла
Кожны вузел павінен мець унікальны ідэнтыфікатар, які можна выкарыстоўваць для яго ідэнтыфікацыі. Унікальны ідэнтыфікатар уключаецца ў паведамленні Announce і Delete. Кліенты могуць выкарыстоўваць гэта значэнне ў якасці першаснага ключа пры кэшаванні значэнняў і для унікальнай ідэнтыфікацыі вузла. Гэты унікальны ідэнтыфікатар можа быць MAC-адрасам, але ён павінен быць аднолькавым для кожнага інтэрфейса, калі вузел мае некалькі інтэрфейсаў, на якіх ён размяшчае рэкламу.
Структура пакета
Кожны пакет пачынаецца з загалоўка пакета, за якім ідзе адвольная колькасць блокаў паведамленняў. Кожны блок паведамлення пачынаецца з поля даўжыні, таму нераспазнаныя паведамленні можна прапусціць. Калі не пазначана іншае, усе шматбайтавыя лікавыя значэнні павінны захоўвацца ў парадку big endian (спачатку старэйшыя значныя байты). Калі не пазначана іншае, усе лікі з'яўляюцца беззнакавымі значэннямі. Напрыкладampадзін байт можа мець значэнні ад 0 да 255.
Загаловак пакета

Палявы Байты Апісанне
Даўжыня 1 Агульная даўжыня загалоўка, уключаючы гэтае поле.
Чароўнае слова 4 Гэта поле павінна складацца з чатырох ASCII-байтаў «LSDP». Гэта дапамагае нам ідэнтыфікаваць пакеты як прызначаныя для выкарыстання, таму нам не трэба спрабаваць разабраць выпадковыя дадзеныя з нейкай нечаканай крыніцы.
Версія пратакола 1 Версія пратакола. Калі ў будучыні ў пратакол будуць унесены змены, гэтая версія будзе несумяшчальнай з зваротнай сумяшчальнасцю.
Палявы Байты Апісанне
будзе зменена. Бягучая версія — 1.

Паведамленне запыту

Палявы
Байты Апісанне
Даўжыня 1 Агульная даўжыня паведамлення, уключаючы гэтае поле.
Тып паведамлення 1 «Q» = 0x51: Стандартны запыт для адказу рассылкі. «R» = 0x52: Запыт для адказу аднаадреснай рассылкі.
Граф 1 Колькасць класаў для запыту.
1 клас 2 16-бітны (2 байты) ідэнтыфікатар класа.
Паўтарыце папярэдняе поле для кожнага дадатковага класа.

Паведамленне аб аб'яве
Загаловак аб'явы

Палявы
Байты Апісанне
Даўжыня 1 Агульная даўжыня паведамлення, уключаючы поўны загаловак аб'явы і запісы аб'явы.
Тып паведамлення 1 «А» = 0x41
Даўжыня ідэнтыфікатара вузла 1 Даўжыня поля ідэнтыфікатара вузла.
Ідэнтыфікатар вузла Пераменная Унікальны ідэнтыфікатар вузла, які адпраўляе паведамленне. Звычайна гэта MAC-адрас аднаго з інтэрфейсаў вузлоў.
Даўжыня адраса 1 Даўжыня поля адраса. Для IPv4 гэта павінна быць 4.
Палявы
Байты Апісанне
Адрас Пераменная IP-адрас вузла.
Граф 1 Колькасць запісаў аб'яваў, якія трэба адсочваць.

Абвясціць запіс

Палявы Байты Апісанне
Клас 2 16-бітны (2 байты) ідэнтыфікатар класа.
 

Колькасць тэкставых паведамленняў

 

1

Колькасць запісаў TXT, якія трэба адлюстраваць. Калі роўна нулю, наступныя палі апускаюцца.
Даўжыня ключа 1 1 Даўжыня назвы ключа.
Ключ 1 Пераменная Ключавая назва.
Значэнне 1 Даўжыня 1 Даўжыня тэксту значэння.
Значэнне 1 Пераменная Тэкст значэння.
 

Паўтарыце папярэднія 4 палі для кожнага дадатковага запісу TXT.

Выдаліць паведамленне

Палявы
Байты Апісанне
Даўжыня 1 Агульная даўжыня паведамлення, уключаючы гэтае поле.
Тып паведамлення 1 «D» = 0x44
Даўжыня ідэнтыфікатара вузла 1 Даўжыня поля ідэнтыфікатара вузла.
Ідэнтыфікатар вузла Пераменная Унікальны ідэнтыфікатар вузла, які адпраўляе паведамленне. Звычайна гэта MAC-адрас аднаго з вузлоў.
Палявы
Байты Апісанне
інтэрфейсы.
Граф 1 Колькасць заняткаў, якія трэба прайсці.
1 клас 2 16-бітны (2 байты) ідэнтыфікатар класа.
Паўтарыце папярэдняе поле для кожнага дадатковага класа.

Прызначэнне ідэнтыфікатараў класаў

Ідэнтыфікатар класа Апісанне Эквівалент mDNS
0x0001 Прайгравальнік BluOS _musc._tcp
0x0002 Сервер BluOS _muss._tcp
0x0003 BluOS Player (другасны ў мультызонавых прайгравальніках, такіх як CI580) _musp._tcp
0x0004 sovi-mfg выкарыстоўваецца для вытворчых выпрабаванняў. _sovi-mfg._tcp
0x0005 sovi-клавіятура _sovi-клавіятура._tcp
0x0006 Прайгравальнік BluOS (пара падпарадкаваных прылад) _musz._tcp
0x0007 Дыстанцыйнае Web Прыкладанне (AVR OSD) Web старонка) _дыстанцыйны-web-ui._tcp
0x0008 Цэнтр BluOS _mush._tcp
0xFFFF Усе класы — можна выкарыстоўваць з паведамленнем запыту.

Заўвага 1:
Агульны пакет LSDP павінен апрацоўвацца як двайковыя дадзеныя.
Заўвага 2:
Калі адно паведамленне-аб'ява не можа змясціць інфармацыю пра ўсе вузлы (асабліва CI580), яно будзе падзелена на 2 ці больш паведамленняў-аб'яў, прычым кожнае паведамленне будзе ўтрымліваць загаловак і запіс, і кожнае паведамленне будзе ўтрымліваць інфармацыю пра ўсе вузлы.

BluOS - лагатыпAPI карыстальніцкай інтэграцыі BluOS версіі 1.7

Дакументы / Рэсурсы

API карыстальніцкай інтэграцыі BluOS T 778 [pdfКіраўніцтва карыстальніка
T 778, T 778 Карыстальніцкі API інтэграцыі, T 778, Карыстальніцкі API інтэграцыі, API інтэграцыі, API

Спасылкі

Пакінуць каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя для запаўнення палі пазначаны *