Play m3u playlist
Access to play from a m3u playlist (omline radio stream)
You can already do this.
Open the navigation sidebar, select ‘Live Stream’, then press the toolbar + button and add your m3u url. You can also use the radio station search engine to find more content
-
Josh Schneider commented
I've tried using an m3u8 playlist, and it starts the audio but then loops after about 5 seconds and quits after looping 3 or 4 times. This playlist works fine in VLC. Is there any workaround within PA, or should I just rely on VLC to play it? Thanks
-
If it displays the track name, yes
-
Ben Armstrong commented
Gotcha. So VLC works only because it doesn't depend on the MediaPlayer API to do it.
-
The app doesn't handle Track information because Android MediaPlayer API onInfo callback which is supposed to be called with track information is never called... If I could be notified by the callback then I would implement this
-
Ben Armstrong commented
Seems like there's something to your theory after all. If I simply copy the stream.m3u onto my own web server (still inside my local net), then create a new Live stream in PA pointing at my local mirror of the m3u, then the stream plays fine.
The only thing that's still missing with this workaround is that the stream is missing track titles. Does PA not implement that?
-
the user agent is the default one from the device + the app name, so we can use 2 different user agents.
I honestly don't have any idea why it could fail especially on 2 different devices. If you can try a different connection, that might help rule out (or not) the user agent theory -
Ben Armstrong commented
I've ruled out CyanogenMod, since on my wife's Moto X Play, running Android 6.0, it fails in the same way.
I'm behind NAT here at home. Any possibility that's a factor? What network I'm on is a common factor for all these tests. If so, I could repeat testing on another network.
What I don't understand about your User Agent theory is, if the server is blocking me on the basis of User Agent, why isn't it blocking you?
Unfortunately, I can't conveniently grab a pcap of the packets from my devices right now, so I'm rapidly running out of easily testable things. I have VLC as my workaround for the time being. It's just a shame I can't take advantage of PA's superior handling of the live stream address in my library, as VLC isn't really that sort of app.
-
I just tested on my One Plus as well (standard ROM) and it works fine
-
Ben Armstrong commented
Well, that gives me something to investigate further. I know in a web browser, the User Agent string can be faked (though I don't know how I would do that with the app ... maybe Chrome remote debugging?) Thanks for discussing the issue with me. Since you can't reproduce it, I'll have to see if anyone from CyanogenMod can help. Also, my wife has a couple of devices with stock Android here, so I can run some further tests on those to see if it's CM-specific or also happening with stock.
-
Both apps aren't using the same user agent...
-
Ben Armstrong commented
I can't see how it could be the ISP or remote server preventing the download. On the same local network, I test first with PA, then with VLC, both on the Android devices and on my desktop system. The ISP is the same for each test. VLC for Android and on my desktop system both work. PA does not. So unless you're proposing that the way PA asks for the file (different headers in the http request?) causes the server or ISP to discriminate against me, I don't see why the request should be blocked. I can pull out wireshark to analyze the conversation if you really think there's something fishy going on at that level.
-
It means the default Android MediaPlayer API.
This url works fine on the first N7, N5 and N6P running stock android
I don't see which bug can prevent this from working except if the ISP or the remote server prevent the download of the m3u file -
Ben Armstrong commented
Well, I have tried this with two different devices on two different releases of CyanogenMod. The first is Nexus 7 2013, running CyanogenMod 11-20141115-SNAPSHOT-M12-flo (Android 4.4.4). The second is Nexus 4, running CyanogenMod 12.1-20151007-SNAPSHOT-YOG4PAO334-mako (Android 5.1.1). If I knew what the "built in player" actually means, I'd go file a bug on CM's tracker about the issue. Is that an app, or a lower level component belonging to the OS?
-
The app does this automatically.
It downloads the m3u file, parses it and plays the stream it containsPasting the m3u url into the app will result in the app playing http://206.180.232.42:8000/stream
You can also paste the stream url directly into the app for the same result.
I'm sorry but i don't understand how it can fail to stream from the m3u url and succeeds from the other, unless either the remote server or the ISP blocks the download of the m3u file or the app user agent (but it works fine on my devices)
-
Ben Armstrong commented
Further testing notes: if I wget the m3u, then view it, then add the URL contained within it, this works. But then the stream is missing both the stream title and track titles.
-
This means that your device built-in player doesn't support the live stream encoding.
Playback is handled by the device player, not by the app.
VLC uses its own engine so it might support more encoding.This stream work fine on my device
-
Ben Armstrong commented
Xavier, please test with this stream. I can add the m3u, but can't play it. I tap it and a progress indicator shows for a while, and then nothing happens. VLC for Android plays it fine.
-
Ben Armstrong commented
As a workaround for this missing feature, I use PA's "Copy episode url to clipboard" and then use VLC for Android's "Open network stream" and paste the url. If PA implements this feature, it should also display track titles from the stream, something VLC for Android 1.7.5 supports perfectly.