How to play a mp3 stored at HA at mediaplayer with Node-RED?

I’m getting closer.
I did make a www directory in /config
restarted HA
Then I did copy the link with local in it and put it in straight in the browser it is playing the mp3.
So it is recognize local as directory
Put the string in NR it stil gives an error

Yesssssss It is working!!!
Thanks 1000 times.
I did make also a directory media into www
Now it is working.

I’m sooooo happy
What did you help me :+1: :+1: :+1:

Glad to hear!
And thank you for reminding me to tackle this problem I wanted to solve.
I tried this months ago and my Google Home Mini’s started distorting the audio and failing after about 20 minutes.
I think they fixed the issue because it was happening with the built-in “play white noise” command.
We’ll see if plays through the night for my kids and hopefully doesn’t start sounding like Satan is trying to teach my children the ways of evil.

I was trying the same thing, playing a local mp3 file from HA to one of my SONOS speakers in node-red. This is my flow:

image

As you can see the Data has no single quotes ’ around the link!

[{"id":"517e9999.ae4418","type":"api-call-service","z":"81901ec9.ddcee8","name":"test local mp3 play","server":"efdc12b5.8e0cb","version":1,"debugenabled":false,"service_domain":"media_player","service":"play_media","entityId":"media_player.werkkamer","data":"{\"entity_id\":\"media_player.werkkamer\",\"media_content_id\":\"https://XXXX.duckdns.org:8123/local/audio/test.mp3\",\"media_content_type\":\"music\"}","dataType":"json","mergecontext":"","output_location":"","output_location_type":"none","mustacheAltTags":false,"x":530,"y":780,"wires":[["fa805ab9.d984f8"]]},{"id":"efdc12b5.8e0cb","type":"server","z":"","name":"Home Assistant","legacy":false,"addon":true,"rejectUnauthorizedCerts":true,"ha_boolean":"y|yes|true|on|home|open","connectionDelay":true,"cacheJson":true}]

Why to define twice your entity_id?
In data and at the Node?
I think you don’t need to define this in the data part
Why do you mention no single quotes?

using the entity twice? I did not know you only would need it once.
removing it from the data part in next update :slight_smile:
double quotes works fine for me.

Does this not work with echos?

I tried it and it says sent, but dont hear anything. But if I open the URL in web browser, music plays so I know URL is good.
image

If I change content type to “music” alexa tells me that i can only do TTS through the notify service, blah blah blah. If I choose audio/mp3 it says sent as above, but doesnt play anything


image

1 Like

I remember back when I was slightly interested in using echo’s I found it much more difficult to accomplish things with HA.
I remember downloading something called Alexa Media Player or something like that so it could be treated as a media player.
It was kinda hit or miss.

I think I was told several months ago that Amazon prevents the use of local music files. Apparently they want you to subscribe to a service like Amazon Music, Spotify, etc. I installed the Amazon Media integration, but it doesn’t do anything as far as I can tell. It would be nice to play music from my library - I have tons and it’s enough for me

Well since this is resurrected now. I found a way to play your own music using a skill.

But its not very useful if you intend on playing your whole library as it involved a few steps and caveats. I would only use it now if I wanted a certain sound/song to play for a certain occsaion. One that, once set, I wouldent change it.

It pretty much involves uploading the song in a very speific format (only can be so long in length, certain size in kb, etc), then using an amazon skill to play it. The node would look like this…

image


Heres full breakdown in another thread…

Hi all,
I’ve find the way that is working for me, no need for new folder…just used this path for radio playlist:

{
    "media_content_id": "///media/radio/Radio.xspf",
    "media_content_type": "music"
}

and this path for song:

{
    "media_content_id": "///media/my_folder/song.mp3",
    "media_content_type": "music"
}

Hope this helps!

Thankyou - This post really helped me :smiley:

1 Like

Just for future reference. I think, that original problem is, you used service “media_play”, which equals to pressing the play button. But when you want to specify what to play, you have to use service “play_media” (used later in thread). It took me long time to spot this difference when i was trying to play some media myself

@Canedje @keithcroshaw Thanks for your help and example, I Make the same mistake, The key point is the service should be play_media.

1 Like

This is the way!