[ ]   [ ]   [ ]                        [ ]      [ ]   [ ]

Trump - RedTopFireBelow - Sep 24, 2022 - 2:37pm
 
Bug Reports & Feature Requests - jarro - Sep 24, 2022 - 12:34pm
 
hey Siri, play radio paradise in the living room? - jon9585 - Sep 24, 2022 - 12:31pm
 
Wordle - daily game - islander - Sep 24, 2022 - 12:31pm
 
New RP Website! (2022) - jarro - Sep 24, 2022 - 12:26pm
 
New App Changes. Can't Scroll Back On Comment Section of - jarro - Sep 24, 2022 - 11:30am
 
Radio Paradise Comments - Red_Dragon - Sep 24, 2022 - 9:44am
 
The Obituary Page - eyke - Sep 24, 2022 - 7:08am
 
Lowest rated song you gave a 10 - eyke - Sep 24, 2022 - 6:17am
 
COVID-19 - nottheusualkind - Sep 23, 2022 - 9:38pm
 
Ukraine - Red_Dragon - Sep 23, 2022 - 9:16pm
 
Photography Forum - Your Own Photos - KurtfromLaQuinta - Sep 23, 2022 - 9:04pm
 
What are you listening to now? - KurtfromLaQuinta - Sep 23, 2022 - 8:59pm
 
Mixtape Culture Club - KurtfromLaQuinta - Sep 23, 2022 - 8:53pm
 
Guns - westslope - Sep 23, 2022 - 8:05pm
 
Things You Thought Today - Bill_J - Sep 23, 2022 - 5:29pm
 
Radio Paradise NFL Pick'em Group - GeneP59 - Sep 23, 2022 - 2:58pm
 
Florida Hurricane preparedness - miamizsun - Sep 23, 2022 - 1:28pm
 
Display Album Art/Hide Slideshow - dischuckin - Sep 23, 2022 - 11:45am
 
YouTube: Music-Videos - thisbody - Sep 23, 2022 - 11:43am
 
Getting ads on Sonos Radio Paradise Plugin - scrubbrush - Sep 23, 2022 - 10:46am
 
Republican Party - Red_Dragon - Sep 23, 2022 - 10:41am
 
Derplahoma! - Red_Dragon - Sep 23, 2022 - 9:37am
 
Questions. - dischuckin - Sep 23, 2022 - 9:18am
 
260,000 Posts in one thread? - oldviolin - Sep 23, 2022 - 7:10am
 
Russia - The_Enemy - Sep 23, 2022 - 6:54am
 
Automotive Lust - KurtfromLaQuinta - Sep 23, 2022 - 6:14am
 
USA! USA! USA! - westslope - Sep 22, 2022 - 7:07pm
 
They're made out of meat. - Manbird - Sep 22, 2022 - 3:47pm
 
Pernicious Pious Proclivities Particularized Prodigiously - Red_Dragon - Sep 22, 2022 - 3:20pm
 
What makes you smile? - miamizsun - Sep 22, 2022 - 1:38pm
 
Climate Change - R_P - Sep 22, 2022 - 12:18pm
 
Sonos - scrubbrush - Sep 22, 2022 - 11:33am
 
Earthquake - Steely_D - Sep 22, 2022 - 9:40am
 
Name My Band - GeneP59 - Sep 22, 2022 - 7:10am
 
The Dragons' Roost - GeneP59 - Sep 22, 2022 - 6:55am
 
Anti-War - R_P - Sep 21, 2022 - 7:41pm
 
What is the meaning of this? - oldviolin - Sep 21, 2022 - 2:46pm
 
• • • The Once-a-Day • • •  - oldviolin - Sep 21, 2022 - 12:09pm
 
Grammar Police Rap Sheet - kbs - Sep 21, 2022 - 10:35am
 
First Porcupine Tree Concert in Toronto - the_jake - Sep 21, 2022 - 9:37am
 
Animal Resistance - Red_Dragon - Sep 21, 2022 - 8:21am
 
Artificial Intelligence - miamizsun - Sep 21, 2022 - 5:30am
 
Economix - miamizsun - Sep 21, 2022 - 5:02am
 
Talk Behind Their Backs Forum - VV - Sep 20, 2022 - 3:26pm
 
Radio Paradise for Android Automotive - mpatnode - Sep 20, 2022 - 2:05pm
 
The Wall - R_P - Sep 20, 2022 - 1:50pm
 
::Animal Kingdom:: - Red_Dragon - Sep 20, 2022 - 1:29pm
 
Sweet horrible irony. - Red_Dragon - Sep 20, 2022 - 11:47am
 
North Korea - miamizsun - Sep 20, 2022 - 4:08am
 
HALF A WORLD - NoEnzLefttoSplit - Sep 20, 2022 - 1:50am
 
Is there a new App. for mobile devices? - Laptopdog - Sep 19, 2022 - 11:43pm
 
Positive Thoughts and Prayer Requests - GeneP59 - Sep 19, 2022 - 3:17pm
 
Father John Misty has never been played on RP? - phineas - Sep 19, 2022 - 1:42pm
 
Sweden | Sverige - NoEnzLefttoSplit - Sep 19, 2022 - 12:03pm
 
Baseball, anyone? - ScottFromWyoming - Sep 19, 2022 - 11:49am
 
Today in History - Red_Dragon - Sep 19, 2022 - 5:55am
 
Australia has Disappeared - haresfur - Sep 18, 2022 - 10:38pm
 
New person programming ? - running_wolf - Sep 18, 2022 - 3:56pm
 
Vinyl Only Spin List - kurtster - Sep 18, 2022 - 1:13am
 
Sail to the Moon - oldviolin - Sep 17, 2022 - 9:52am
 
Counting with Pictures - ScottN - Sep 17, 2022 - 4:48am
 
• • • BRING OUT YOUR DEAD • • •  - oldviolin - Sep 16, 2022 - 9:19pm
 
Live Music - oldviolin - Sep 16, 2022 - 6:40pm
 
New Music - R_P - Sep 16, 2022 - 6:36pm
 
Gotta Get Your Drink On - Bill_J - Sep 16, 2022 - 5:46pm
 
PASS THE BEER - oldviolin - Sep 16, 2022 - 4:16pm
 
Back to the 70's - kcar - Sep 16, 2022 - 2:21pm
 
Graphic designers, ho's! - miamizsun - Sep 16, 2022 - 12:34pm
 
Van Halen Hobbles Again!!! - thisbody - Sep 16, 2022 - 12:33pm
 
Germany - Red_Dragon - Sep 16, 2022 - 11:31am
 
The obesity-sitting-dementia epidemic - westslope - Sep 16, 2022 - 11:05am
 
Rolling Stones - thisbody - Sep 16, 2022 - 9:50am
 
China - Coaxial - Sep 16, 2022 - 6:03am
 
Tennis - Coaxial - Sep 16, 2022 - 5:56am
 
Index » Internet/Computer » Streaming/Media » Live FLAC support in Sonos API
Post to this Topic
alistair.bill



Posted: Aug 30, 2022 - 8:08am

 jarro wrote:

"Each track in the cloud queue has all the standard metadata that is needed to fetch the audio for the track. This may include either a mediaUrl (the URL to the actual audio) or a MusicObjectId. If an item contains both of these objects, Sonos ignores the mediaUrl. This is because the MusicObjectId resolves to a URL using SMAPI."

If you just provide an url  it can avoid the smapi call.





Thanks - apologies for missing that part.

I've now solved my original problem after getting an email back from the Sonos developers. The players support FLAC streams framed in fragmented MP4 and sent via HLS. Once I provided a stream in that format (doable with the latest version of Liquidsoap) the player was happy.
jarro

jarro Avatar

Location: #guad
Gender: Male


Posted: Aug 18, 2022 - 2:54pm

 alistair.bill wrote:


Hello, thanks for the reply (and apologies for the follow-up, I know this is a bit off-topic!). The Sonos docs suggest that even when using Cloud Queue, SMAPI still needs to implement `getMediaURI`, the call I was surprised to see wasn't implemented - see item 11 under 'Cloud queue workflow' in https://developer.sonos.com/bu... and the diagram above.

"Each track in the cloud queue has all the standard metadata that is needed to fetch the audio for the track. This may include either a mediaUrl (the URL to the actual audio) or a MusicObjectId. If an item contains both of these objects, Sonos ignores the mediaUrl. This is because the MusicObjectId resolves to a URL using SMAPI."

If you just provide an url  it can avoid the smapi call.


alistair.bill



Posted: Aug 16, 2022 - 9:33am

 jarro wrote:

This is a bit fuzzy as implementation was quite awhile ago.   There is some overlap between smapi and cloud queue.   So you don't need to fully implement smapi for a service.  
If just for personal use,  it might be easier  to create your own web app and just work with the cloud queue.   
The docs and sample apps for that  seem to be more up to date.
https://developer.sonos.com/to...




Hello, thanks for the reply (and apologies for the follow-up, I know this is a bit off-topic!). The Sonos docs suggest that even when using Cloud Queue, SMAPI still needs to implement `getMediaURI`, the call I was surprised to see wasn't implemented - see item 11 under 'Cloud queue workflow' in https://developer.sonos.com/bu... and the diagram above.
jarro

jarro Avatar

Location: #guad
Gender: Male


Posted: Aug 16, 2022 - 8:12am

 alistair.bill wrote:

Hello,

I've got a project to feed the output of my vinyl record player into a Raspberry Pi and stream it across my local network so I can listen anywhere in the house, and I'm trying to get my Sonos system to accept a (lossless) live stream. Radio Paradise seems to be one of few services which achieves this.

I was having a poke around the Radio Paradise Sonos SOAP API with the help of Sonos' developer documentation, and noticed several API calls aren't implemented, including `getMediaURI` (which sounds crucial, if you believe the docs!). Sonos devices are also quite good at sending traffic over HTTPS, so unfortunately I can't sniff the traffic to figure it out on my own.

I wonder if anyone knows about the Sonos API, and if so - please could they provide some information about the API calls implemented to make FLAC streaming work? Thanks!


This is a bit fuzzy as implementation was quite awhile ago.   There is some overlap between smapi and cloud queue.   So you don't need to fully implement smapi for a service.  
If just for personal use,  it might be easier  to create your own web app and just work with the cloud queue.   
The docs and sample apps for that  seem to be more up to date.
https://developer.sonos.com/to...


thisbody

thisbody Avatar

Gender: Male


Posted: Aug 16, 2022 - 7:27am

 alistair.bill wrote:
Thanks for the reply. To clarify, I'm specifically interested in the Sonos Music API, which enables you to write your own music service (i.e. appear in the app as a music provider). This is extensively documented by Sonos here: https://developer.sonos.com/re... and seems to be only partially implemented by Radio Paradise (which prompted my question).

The library you linked wraps the Sonos Control API, which is what most people on GitHub and elsewhere are interested in. This allows you to send events to change volume, pause, play a stream etc., but not to add an entry to the app.

Ok. Thanks for the clarification. I'm sure you perused the Sonos community forum and all publicly available documentation.

Good luck with your endeavor! - And let us know when and how you succeed.

alistair.bill



Posted: Aug 16, 2022 - 1:49am

 thisbody wrote:

Not sure, how far you got digging around, but...
this link might provide some answers, along with a thorough web-search for the terms:
sonos api github (with the list of keywords potentially extended by the term flac after a serious first round of digging to learn and educate yourself on the topic).

*Cheers*



Thanks for the reply. To clarify, I'm specifically interested in the Sonos Music API, which enables you to write your own music service (i.e. appear in the app as a music provider). This is extensively documented by Sonos here: https://developer.sonos.com/re... and seems to be only partially implemented by Radio Paradise (which prompted my question).

The library you linked wraps the Sonos Control API, which is what most people on GitHub and elsewhere are interested in. This allows you to send events to change volume, pause, play a stream etc., but not to add an entry to the app.
thisbody

thisbody Avatar

Gender: Male


Posted: Aug 15, 2022 - 3:56pm

 alistair.bill wrote:

Hello,

I've got a project to feed the output of my vinyl record player into a Raspberry Pi and stream it across my local network so I can listen anywhere in the house, and I'm trying to get my Sonos system to accept a (lossless) live stream. Radio Paradise seems to be one of few services which achieves this.

I was having a poke around the Radio Paradise Sonos SOAP API with the help of Sonos' developer documentation, and noticed several API calls aren't implemented, including `getMediaURI` (which sounds crucial, if you believe the docs!). Sonos devices are also quite good at sending traffic over HTTPS, so unfortunately I can't sniff the traffic to figure it out on my own.

I wonder if anyone knows about the Sonos API, and if so - please could they provide some information about the API calls implemented to make FLAC streaming work? Thanks!


Not sure, how far you got digging around, but...
this link might provide some answers, along with a thorough web-search for the terms:
sonos api github (with the list of keywords potentially extended by the term flac after a serious first round of digging to learn and educate yourself on the topic).

*Cheers*

alistair.bill



Posted: Aug 15, 2022 - 2:05pm

Hello,

I've got a project to feed the output of my vinyl record player into a Raspberry Pi and stream it across my local network so I can listen anywhere in the house, and I'm trying to get my Sonos system to accept a (lossless) live stream. Radio Paradise seems to be one of few services which achieves this.

I was having a poke around the Radio Paradise Sonos SOAP API with the help of Sonos' developer documentation, and noticed several API calls aren't implemented, including `getMediaURI` (which sounds crucial, if you believe the docs!). Sonos devices are also quite good at sending traffic over HTTPS, so unfortunately I can't sniff the traffic to figure it out on my own.

I wonder if anyone knows about the Sonos API, and if so - please could they provide some information about the API calls implemented to make FLAC streaming work? Thanks!