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

Russia - NoEnzLefttoSplit - Sep 29, 2022 - 12:39pm
 
Lowest rated song you gave a 10 - pilgrim - Sep 29, 2022 - 12:34pm
 
Recommended documentaries - miamizsun - Sep 29, 2022 - 12:34pm
 
Radio Paradise Comments - miamizsun - Sep 29, 2022 - 12:28pm
 
The Obituary Page - miamizsun - Sep 29, 2022 - 12:27pm
 
260,000 Posts in one thread? - oldviolin - Sep 29, 2022 - 11:24am
 
• • • The Once-a-Day • • •  - oldviolin - Sep 29, 2022 - 11:12am
 
Can I use my ratings to create a playlist? - ScottFromWyoming - Sep 29, 2022 - 10:52am
 
Name My Band - Isabeau - Sep 29, 2022 - 9:54am
 
Things You Thought Today - oldviolin - Sep 29, 2022 - 9:39am
 
Artificial Intelligence - oldviolin - Sep 29, 2022 - 9:34am
 
Wordle - daily game - geoff_morphini - Sep 29, 2022 - 8:52am
 
Two questions. That's it. I promise. - oldviolin - Sep 29, 2022 - 8:45am
 
Vinyl Only Spin List - kurtster - Sep 29, 2022 - 8:06am
 
What the hell OV? - oldviolin - Sep 29, 2022 - 7:57am
 
How's the weather? - Proclivities - Sep 29, 2022 - 7:10am
 
Radio Paradise NFL Pick'em Group - Coaxial - Sep 29, 2022 - 5:26am
 
Guns - Red_Dragon - Sep 29, 2022 - 4:56am
 
Bug Reports & Feature Requests - jarro - Sep 29, 2022 - 2:26am
 
Prog Rockers Anonymous - ianm42 - Sep 29, 2022 - 2:03am
 
They're made out of meat. - oldviolin - Sep 28, 2022 - 8:08pm
 
What Makes You Laugh? - ScottFromWyoming - Sep 28, 2022 - 8:06pm
 
Republican Party - Red_Dragon - Sep 28, 2022 - 6:50pm
 
Pink Floyd Set? - Red_Dragon - Sep 28, 2022 - 6:45pm
 
Baseball, anyone? - Bill_J - Sep 28, 2022 - 5:34pm
 
NASA & other news from space - Red_Dragon - Sep 28, 2022 - 4:27pm
 
First Porcupine Tree Concert in Toronto - the_jake - Sep 28, 2022 - 12:21pm
 
Florida Hurricane preparedness - pilgrim - Sep 28, 2022 - 10:23am
 
The Abortion Wars - Red_Dragon - Sep 28, 2022 - 10:11am
 
Photography Forum - Your Own Photos - fractalv - Sep 28, 2022 - 8:56am
 
New RP Website! (2022) - eyke - Sep 28, 2022 - 8:47am
 
Derplahoma! - Red_Dragon - Sep 28, 2022 - 8:24am
 
Mixtape Culture Club - miamizsun - Sep 28, 2022 - 7:28am
 
Today in History - Red_Dragon - Sep 28, 2022 - 6:56am
 
Counting with Pictures - Proclivities - Sep 28, 2022 - 6:17am
 
What's the first concert you ever went to? - Coaxial - Sep 28, 2022 - 5:03am
 
TEXAS - Red_Dragon - Sep 27, 2022 - 6:34pm
 
Display Album Art/Hide Slideshow - Joril - Sep 27, 2022 - 12:58am
 
Blondie in Detroit - Red_Dragon - Sep 26, 2022 - 4:38pm
 
Bob Dylan - miamizsun - Sep 26, 2022 - 3:08pm
 
• • • BRING OUT YOUR DEAD • • •  - oldviolin - Sep 26, 2022 - 1:46pm
 
HALF A WORLD - oldviolin - Sep 26, 2022 - 1:39pm
 
Britain - R_P - Sep 26, 2022 - 11:57am
 
What the world needs now is .... - Red_Dragon - Sep 26, 2022 - 11:24am
 
China - miamizsun - Sep 26, 2022 - 7:28am
 
Really missing ABBA (not) - ColdMiser - Sep 26, 2022 - 6:59am
 
Joe Biden - VV - Sep 26, 2022 - 6:05am
 
Annoying stuff. not things that piss you off, just annoyi... - Red_Dragon - Sep 25, 2022 - 4:35pm
 
New App Changes. Can't Scroll Back On Comment Section of - Laptopdog - Sep 25, 2022 - 4:04pm
 
Art Show - Manbird - Sep 25, 2022 - 2:08pm
 
Italy - Red_Dragon - Sep 25, 2022 - 1:45pm
 
What are you listening to now? - eyke - Sep 25, 2022 - 12:45pm
 
Questions. - haresfur - Sep 25, 2022 - 12:24pm
 
Ambient Music - haresfur - Sep 25, 2022 - 12:16pm
 
Trump - westslope - Sep 25, 2022 - 11:30am
 
Judy Chops - gazweid - Sep 25, 2022 - 9:42am
 
Positive Thoughts and Prayer Requests - Red_Dragon - Sep 25, 2022 - 8:13am
 
Quick! I need a chicken... - haresfur - Sep 24, 2022 - 4:36pm
 
hey Siri, play radio paradise in the living room? - KurtfromLaQuinta - Sep 24, 2022 - 4:04pm
 
COVID-19 - nottheusualkind - Sep 23, 2022 - 9:38pm
 
Ukraine - Red_Dragon - Sep 23, 2022 - 9:16pm
 
RIP Barbara Billingsley - fateme.mollaei - Sep 23, 2022 - 6:40pm
 
YouTube: Music-Videos - thisbody - Sep 23, 2022 - 11:43am
 
Getting ads on Sonos Radio Paradise Plugin - scrubbrush - Sep 23, 2022 - 10:46am
 
Automotive Lust - KurtfromLaQuinta - Sep 23, 2022 - 6:14am
 
USA! USA! USA! - westslope - Sep 22, 2022 - 7:07pm
 
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
 
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
 
Grammar Police Rap Sheet - kbs - Sep 21, 2022 - 10:35am
 
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

Location: 54° 28' 8.205" N 9° 50' 18.408" E
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

Location: 54° 28' 8.205" N 9° 50' 18.408" E
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!