Automatically pausing and resuming music playback with Tasker - MTCD Android Head Units General

This thread is for discussing idea and methods that can be used to allow media playback to resume playback where it left off after unit comes back out of sleep - especially when music is stored on SD card or using online music services.
While setting up my Eonon MTCE unit "on the bench", I quickly found that something as simple as resuming music playback from where it left off before entering sleep mode wasn't "automatic" - especially when your music is stored on an SD card (which Android automatically checks for errors every time the unit comes out of sleep mode) - or if using online media.
Here is how I accomplished this by using Tasker (and the AutoNotification plugin).
My problem was this... I am using the app Car Launcher Pro - and plan to stay at the Car Launcher Pro screen most of the time (provides nice big clock, date, weather, album art, etc). Car Laucher Pro allows you to change media players and skip songs right from it's screen, so most of the time, I have no need to ever leave my "launcher" screen - regardless of what app I'm using for media playback. I wanted to be able to have the unit continue the song that it was last playing when it went into sleep mode - whether that be through my local media player app (PowerAmp in my case) or an online service (Pandora or Spotify in my case). This turned out to be a lot harder that I expected. With most apps, if you attempt to resume playback too soon (before the SD card is mounted or before you are back online), playback will fail, which is why I set things up to wait for the SD card to be mounted (or wifi to become available for online music services) before attempting to resume playback. Using this method allows me to resume right where I left off when the unit was shutdown - all automatically (I also use Tasker to automatically put my phone into hotspot mode when it sees the radio bluetooth). So far, it works perfectly. Although, there are probably dozens of ways to do this - all slightly different depending on your exact setup. This is just the way *I* did things for my setup...
So here is the screen that I normally see - my "launcher" (Car Launcher Pro):
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
By pressing the button in the lower-left-hand corner, I can select what media player i want to use - and can skip songs using the on-screen music controls or my steering-wheel controls. Like I said, regardless of what I had playing when I shut the car off, I wanted it to just pick up where it left off when I restarted the car (without the song starting over). In order to do this, I found that I had to pause the player before the unit went to sleep and then resume playback when the unit came out of sleep. If playing music from SD card, I had to make sure the SD card was available before resuming playing and if listening to an online music service, I had to wait until wifi was reconnected before resuming playback. I was able to do all of this using Tasker and the AutoNotification plugin (auto-notification plugin was needed to determine what media player was active so I knew wheher I had to wait for the SD card to be available or the wifi to be reconnected before resuming playback).
Here is my entire Tasker setup for this (note also that when I run one media playback app, I also kill the other media players so that only one is running at a time) - all media players and Car Launcher Pro are in my whitelist:
Code:
[b]Profile: PlaySDAfterSleep (3)[/b]
Event: Card Mounted [ Card Title:Music Frequency:* ]
State: Variable Value [ %CPPLAYER ~ PowerAmp ]
Enter: PlayMedia (21)
[b]Profile: GoIntoSleep (5)[/b]
Event: Intent Received [ Action:com.microntek.bootcheck Cat:None Cat:None Scheme:* Mime Type:* ]
Enter: PauseMedia (2)
[b]Profile: PandoraRunning (14)[/b]
State: AutoNotification Intercept [ Configuration:Persistency Type: Persistent Only
Notification Apps: Pandora ]
Enter: KillPA_and_Spotify (9)
[b]Profile: PowerAmpRunning (17)[/b]
State: AutoNotification Intercept [ Configuration:Persistency Type: Persistent Only
Notification Apps: Poweramp ]
Enter: KillPandora_and_Spotify (11)
[b]Profile: SpotifyRunning (18)[/b]
State: AutoNotification Intercept [ Configuration:Persistency Type: Persistent Only
Notification Apps: Spotify ]
Enter: KillPA_and_Pandora (13)
[b]Profile: PlayOnlineAfterSleep (20)[/b]
State: Wifi Connected [ SSID:* MAC:* IP:* Active:Yes ]
State: Variable Value [ %CPPLAYER !~ PowerAmp ]
Enter: PlayMedia (21)
[b]Task: PauseMedia (2)[/b]
A1: Run Shell [ Command:input keyevent KEYCODE_MEDIA_PAUSE Timeout (Seconds):0 Use Root:eek:n Store Output In: Store Errors In: Store Result In: ] If [ %class ~ poweroff ]
[b]Task: PlaySDMedia (6)[/b]
A1: Run Shell [ Command:input keyevent KEYCODE_MEDIA_PLAY Timeout (Seconds):0 Use Root:eek:n Store Output In: Store Errors In: Store Result In: ] If [ %CPPLAYER ~ PowerAmp ]
[b]Task: KillPA_and_Spotify (9)[/b]
A1: Variable Set [ Name:%CPPLAYER To:Pandora Recurse Variables:eek:ff Do Maths:eek:ff Append:eek:ff ]
A2: Kill App [ App:Poweramp Use Root:eek:n ]
A3: Kill App [ App:Spotify Use Root:eek:n ]
[b]Task: KillPandora_and_Spotify (11)[/b]
A1: Variable Set [ Name:%CPPLAYER To:PowerAmp Recurse Variables:eek:ff Do Maths:eek:ff Append:eek:ff ]
A2: Kill App [ App:Pandora Use Root:eek:n Continue Task After Error:eek:n ]
A3: Kill App [ App:Spotify Use Root:eek:n ]
[b]Task: KillPA_and_Pandora (13)[/b]
A1: Variable Set [ Name:%CPPLAYER To:Spotify Recurse Variables:eek:ff Do Maths:eek:ff Append:eek:ff ]
A2: Kill App [ App:Poweramp Use Root:eek:n ]
A3: Kill App [ App:Pandora Use Root:eek:n ]
[b]Task: PlayOnlineMedia (19)[/b]
A1: Run Shell [ Command:input keyevent KEYCODE_MEDIA_PLAY Timeout (Seconds):0 Use Root:eek:n Store Output In: Store Errors In: Store Result In: ] If [ %CPPLAYER !~ PowerAmp ]
[b]Task: PlayMedia (21)[/b]
A1: Run Shell [ Command:input keyevent KEYCODE_MEDIA_PLAY Timeout (Seconds):0 Use Root:eek:n Store Output In: Store Errors In: Store Result In: ]
I hope this helps someone. Please don't hesitate to ask questions!

What i don't understand is why it doesn't resume even when Poweramp is whitelisted.... could it be because the drives are beeing unmounted when going into deep sleep mode???
The stock app resumes just fine though.......

Is your music on internal or external storage? If it's on external, then yes, that is why it doesn't auto-resume - the SD cards (for example) get unmounted when the unit goes to sleep - and then when you come out of sleep, Android runs a filesystem check on the SD cards. If the SD cards are large and have lots of files on them, that filesystem check can take longer.
The stock music app probably takes this into account already since it was written for the head-unit specifically.
I had even more serious issues with Jet Audio - it would completely remove the music on the SD card from the library completely!
If the music is on internal storage, PowerAmp should resume normally. If not, you'll need to use Tasker to make it work right.

jtrosky said:
Is your music on internal or external storage? If it's on external, then yes, that is why it doesn't auto-resume - the SD cards (for example) get unmounted when the unit goes to sleep - and then when you come out of sleep, Android runs a filesystem check on the SD cards. If the SD cards are large and have lots of files on them, that filesystem check can take longer.
The stock music app probably takes this into account already since it was written for the head-unit specifically.
I had even more serious issues with Jet Audio - it would completely remove the music on the SD card from the library completely!
If the music is on internal storage, PowerAmp should resume normally. If not, you'll need to use Tasker to make it work right.
Click to expand...
Click to collapse
I copied all music to the internal flash drive, still no go...
heard somebody that Musicolet worked for him, i'll give it a go and let you know.
If it doesn't work i'll use Tasker

Hmm - at this point, I can't remember if Poweramp worked for me on internal storage, but Jet Audio worked perfectly with internal storage for me.... Didnt' have to pause it or anything - it would just continue where it left off when the unit came out of sleep. However, this didn't work for me because my music collection is bigger than my internal storage, which is why I had to move to tasker since I wanted to keep my library on external storage.

I have 16gb flash storage and mostly dj mixes, plenty of space available for me.
I just tested Musicolet and it works perfectly, it resumes and is supported by the car launcher widgets (stock player not)
So i'm very happy now, now i can focus on the last tiny issue.... Can't control navigation audio volume seperate from system audio.

g-member said:
Can't control navigation audio volume seperate from system audio.
Click to expand...
Click to collapse
Yeah, I too hate that there only seems to be one volume setting on these radios. Can't control navi, phone righter or even notification volume separately... Hell, I couldn't even get notification sounds working at all. Major oversight, IMO. Don''t think there is a solution though (that I'm aware of).

So I modified my Tasker setup to make it easier to add new apps to the setup... Here is have I have things setup now (may give others ideas or others may give me ideas to make it work better):
Code:
[b]Profile: GoIntoSleep (5)[/b]
Event: Intent Received [ Action:com.microntek.bootcheck Cat:None Cat:None Scheme:* Mime Type:* ]
Enter: PauseMedia (2)
[b]Profile: PlayOnlineAfterSleep (20)[/b]
State: Wifi Connected [ SSID:* MAC:* IP:* Active:Yes ]
State: Variable Value [ %CPPLAYER ~ Online ]
Enter: PlayMedia (21)
[b]Profile: PlaySDAfterSleep (3)[/b]
Event: Card Mounted [ Card Title:Music Frequency:* ]
State: Variable Value [ %CPPLAYER ~ Local ]
Enter: PlayMedia (21)
[b]Profile: PandoraRunning (14)[/b]
State: AutoNotification Intercept [ Configuration:Persistency Type: Persistent Only Notification Apps: Pandora ]
Enter: Pandora (15)
[b]Profile: PowerAmpRunning (17)[/b]
State: AutoNotification Intercept [ Configuration:Persistency Type: Persistent Only Notification Apps: Poweramp ]
Enter: PowerAmp (22)
[b]Profile: SpotifyRunning (18)[/b]
State: AutoNotification Intercept [ Configuration:Persistency Type: Persistent Only Notification Apps: Spotify ]
Enter: Spotify (19)
[b]Task: PlayMedia (21)[/b]
A1: Run Shell [ Command:input keyevent KEYCODE_MEDIA_PLAY Timeout (Seconds):0 Use Root:eek:n Store Output In: Store Errors In: Store Result In: ]
[b]Task: PauseMedia (2)[/b]
A1: Run Shell [ Command:input keyevent KEYCODE_MEDIA_PAUSE Timeout (Seconds):0 Use Root:eek:n Store Output In: Store Errors In: Store Result In: ] If [ %class ~ poweroff ]
[b]Task: SetLocalPlayer (10)[/b]
A1: Variable Set [ Name:%CPPLAYER To:Local Recurse Variables:eek:ff Do Maths:eek:ff Append:eek:ff ]
[b]Task: SetOnlinePlayer (12)[/b]
A1: Variable Set [ Name:%CPPLAYER To:eek:nline Recurse Variables:eek:ff Do Maths:eek:ff Append:eek:ff ]
[b]Task: Pandora (15)[/b]
A1: Variable Set [ Name:%CPPLAYER To:eek:eek:nline Recurse Variables:eek:ff Do Maths:eek:ff Append:eek:ff ]
A2: Variable Set [ Name:%PLAYER To:Pandora Recurse Variables:eek:ff Do Maths:eek:ff Append:eek:ff ]
A3: Perform Task [ Name:KillOtherApps Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
[b]Task: Spotify (19)[/b]
A1: Variable Set [ Name:%CPPLAYER To:eek:eek:nline Recurse Variables:eek:ff Do Maths:eek:ff Append:eek:ff ]
A2: Variable Set [ Name:%PLAYER To:Spotify Recurse Variables:eek:ff Do Maths:eek:ff Append:eek:ff ]
A3: Perform Task [ Name:KillOtherApps Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
[b]Task: PowerAmp (22)[/b]
A1: Variable Set [ Name:%CPPLAYER To:Local Recurse Variables:eek:ff Do Maths:eek:ff Append:eek:ff ]
A2: Variable Set [ Name:%PLAYER To:PowerAmp Recurse Variables:eek:ff Do Maths:eek:ff Append:eek:ff ]
A3: Perform Task [ Name:KillOtherApps Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
[b]Task: KillOtherApps (16)[/b]
A1: If [ %PLAYER ~ PowerAmp ]
A2: Kill App [ App:Pandora Use Root:eek:n ]
A3: Kill App [ App:Spotify Use Root:eek:n ]
A4: Else If [ %PLAYER ~ Pandora ]
A5: Kill App [ App:Poweramp Use Root:eek:n ]
A6: Kill App [ App:Spotify Use Root:eek:n ]
A7: Else If [ %PLAYER ~ Spotify ]
A8: Kill App [ App:Poweramp Use Root:eek:n ]
A9: Kill App [ App:Pandora Use Root:eek:n ]
A10: End If
Hope this makes sense. Don't hesitate to ask if anyone has any questions - or any tips to make this simpler...
So basically, if it's a "local" music player, I set %CPPLAYER to "Local" and if it's an "online" music player, I set %CPPLAYER to "Online". This is used later to determine if I need to wait for the SD card to become ready or wait for the Wifi to become ready before "un-pausing" the player after the unit comes out of sleep.
The %PLAYER varible is used so I know which exact player is currently active - so that I know what other players to kill (since i have them all whitelisted). For some reason, the Hal9k "apps that cannot run simultanously" doesn't work for me, which is why I have to do this. I don't want a bunch of apps running when the unit sleeps (still not sure if the unit uses more battery power in sleep if more apps are running?).

Great idea to start media playing after sd mount.
In my case I'm using Tasker almost the same way - PauseMedia with shutdown intent.
But I'm starting PowerAmp and playing media directly after bootup, which works in 90% of all.
But I'll try to use your hint with starting after sd mount.
Thanks!!!

Yeah, in my case, waiting for the SD card to become "ready" after coming out of sleep is critical since I have all of my music stored on SD card...
In case anyone is interested, I've actually worked out a way to have per-app Viper4Android settings using Tasker now! So now I can have completely separate EQ settings for Pandora, Spotify, PowerAmp, etc - and it's all handled automatically... You can change V4A settings while an app is running and they're automatically saved for that app.
I've always wanted per-source EQ settings, but I've never actually had a radio that supported it - now I do.
I wish V4A also worked with the FM tuner, but thankfully I rarely listen to FM, so that shouldn't be a huge deal. Same for CD/DVD - don't think V4A processes output from CD/DVD - but again, I don't use physical media anymore, so....
If anyone wants me to post the tasker details for this, let me know...
I think I'm *finally* ready to acutally install this unit "in car" now (I've had it for over a month now) - been waiting until I get everything setup like I wanted it before installing it in-car - otherwise, you spend way too much time running back and forth to the car to test.
Last issue I want to eventually solve is the horrible turn-signal/warning chime sounds provided by the CANBUS box that Eonon provides (the turn-signal and warning chime sounds originally came out of my car speakers - now that come out of a little "stick on" speaker - and the sounds that the CANBUS box generated are HORRIBLE. Might like into replacing the CANBUS box with another one at some point (Metra makes them and they even have volume controls, etc).

jtrosky said:
So I modified my Tasker setup to make it easier to add new apps to the setup... Here is have I have things setup now (may give others ideas or others may give me ideas to make it work better):
Code:
[b]Profile: GoIntoSleep (5)[/b]
Event: Intent Received [ Action:com.microntek.bootcheck Cat:None Cat:None Scheme:* Mime Type:* ]
Enter: PauseMedia (2)
[b]Profile: PlayOnlineAfterSleep (20)[/b]
State: Wifi Connected [ SSID:* MAC:* IP:* Active:Yes ]
State: Variable Value [ %CPPLAYER ~ Online ]
Enter: PlayMedia (21)
[b]Profile: PlaySDAfterSleep (3)[/b]
Event: Card Mounted [ Card Title:Music Frequency:* ]
State: Variable Value [ %CPPLAYER ~ Local ]
Enter: PlayMedia (21)
[b]Profile: PandoraRunning (14)[/b]
State: AutoNotification Intercept [ Configuration:Persistency Type: Persistent Only Notification Apps: Pandora ]
Enter: Pandora (15)
[b]Profile: PowerAmpRunning (17)[/b]
State: AutoNotification Intercept [ Configuration:Persistency Type: Persistent Only Notification Apps: Poweramp ]
Enter: PowerAmp (22)
[b]Profile: SpotifyRunning (18)[/b]
State: AutoNotification Intercept [ Configuration:Persistency Type: Persistent Only Notification Apps: Spotify ]
Enter: Spotify (19)
[b]Task: PlayMedia (21)[/b]
A1: Run Shell [ Command:input keyevent KEYCODE_MEDIA_PLAY Timeout (Seconds):0 Use Root:eek:n Store Output In: Store Errors In: Store Result In: ]
[b]Task: PauseMedia (2)[/b]
A1: Run Shell [ Command:input keyevent KEYCODE_MEDIA_PAUSE Timeout (Seconds):0 Use Root:eek:n Store Output In: Store Errors In: Store Result In: ] If [ %class ~ poweroff ]
[b]Task: SetLocalPlayer (10)[/b]
A1: Variable Set [ Name:%CPPLAYER To:Local Recurse Variables:eek:ff Do Maths:eek:ff Append:eek:ff ]
[b]Task: SetOnlinePlayer (12)[/b]
A1: Variable Set [ Name:%CPPLAYER To:eek:nline Recurse Variables:eek:ff Do Maths:eek:ff Append:eek:ff ]
[b]Task: Pandora (15)[/b]
A1: Variable Set [ Name:%CPPLAYER To:eek:eek:nline Recurse Variables:eek:ff Do Maths:eek:ff Append:eek:ff ]
A2: Variable Set [ Name:%PLAYER To:Pandora Recurse Variables:eek:ff Do Maths:eek:ff Append:eek:ff ]
A3: Perform Task [ Name:KillOtherApps Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
[b]Task: Spotify (19)[/b]
A1: Variable Set [ Name:%CPPLAYER To:eek:eek:nline Recurse Variables:eek:ff Do Maths:eek:ff Append:eek:ff ]
A2: Variable Set [ Name:%PLAYER To:Spotify Recurse Variables:eek:ff Do Maths:eek:ff Append:eek:ff ]
A3: Perform Task [ Name:KillOtherApps Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
[b]Task: PowerAmp (22)[/b]
A1: Variable Set [ Name:%CPPLAYER To:Local Recurse Variables:eek:ff Do Maths:eek:ff Append:eek:ff ]
A2: Variable Set [ Name:%PLAYER To:PowerAmp Recurse Variables:eek:ff Do Maths:eek:ff Append:eek:ff ]
A3: Perform Task [ Name:KillOtherApps Priority:%priority Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:eek:ff ]
[b]Task: KillOtherApps (16)[/b]
A1: If [ %PLAYER ~ PowerAmp ]
A2: Kill App [ App:Pandora Use Root:eek:n ]
A3: Kill App [ App:Spotify Use Root:eek:n ]
A4: Else If [ %PLAYER ~ Pandora ]
A5: Kill App [ App:Poweramp Use Root:eek:n ]
A6: Kill App [ App:Spotify Use Root:eek:n ]
A7: Else If [ %PLAYER ~ Spotify ]
A8: Kill App [ App:Poweramp Use Root:eek:n ]
A9: Kill App [ App:Pandora Use Root:eek:n ]
A10: End If
Hope this makes sense. Don't hesitate to ask if anyone has any questions - or any tips to make this simpler...
So basically, if it's a "local" music player, I set %CPPLAYER to "Local" and if it's an "online" music player, I set %CPPLAYER to "Online". This is used later to determine if I need to wait for the SD card to become ready or wait for the Wifi to become ready before "un-pausing" the player after the unit comes out of sleep.
The %PLAYER varible is used so I know which exact player is currently active - so that I know what other players to kill (since i have them all whitelisted). For some reason, the Hal9k "apps that cannot run simultanously" doesn't work for me, which is why I have to do this. I don't want a bunch of apps running when the unit sleeps (still not sure if the unit uses more battery power in sleep if more apps are running?).
Click to expand...
Click to collapse
Dear Jtrosky,
I have the same problem as you and a I use sometimes Poweramp or Stellio.
I have no experience with Tasker so I would like to ask you if I need to build a setup from scratch or I can adapt yours? Can you please guide me?
Thank you in advance
Roberto Azevedo

I'm not going to lie - tasker can be a little cryptic to setup if you don't have a programming background. Some of the basics are easy, but some stuff, like I'm doing here requires variables and if/then/else statements.
However, if you buy tasker and install it, you can basically just set it up just like I have it listed above - with only minor tweaks.
I acutally had to purchase Tasker and the AutoNotification plug-in for the way I have it setup. But still, you're talking less than $10 and once you get familar with Tasker, you can use it for lots of other cool stuff as well.
And of course I and other members will be perfectly willing to help you get it all figured out.
For me, the key was to pause the player before going to sleep and then unpause it when it comes out of sleep - then the different players seem to "remember" where they left off. But I'm also using Car Luncher Pro - not sure if it changes anything if you are not using it. I only go into the main player applications to select a playlist or channel - then I just change songs, pause and play all right from the Car Launcher app without going into the actual applicaitons...

jtrosky said:
I'm not going to lie - tasker can be a little cryptic to setup if you don't have a programming background. Some of the basics are easy, but some stuff, like I'm doing here requires variables and if/then/else statements.
However, if you buy tasker and install it, you can basically just set it up just like I have it listed above - with only minor tweaks.
I acutally had to purchase Tasker and the AutoNotification plug-in for the way I have it setup. But still, you're talking less than $10 and once you get familar with Tasker, you can use it for lots of other cool stuff as well.
And of course I and other members will be perfectly willing to help you get it all figured out.
For me, the key was to pause the player before going to sleep and then unpause it when it comes out of sleep - then the different players seem to "remember" where they left off. But I'm also using Car Luncher Pro - not sure if it changes anything if you are not using it. I only go into the main player applications to select a playlist or channel - then I just change songs, pause and play all right from the Car Launcher app without going into the actual applicaitons...
Click to expand...
Click to collapse
Thank you for your prompt reply. I will try as you suggested.
Best Regards,

Is there also an option to resume the playback immediately?
As I am using Spotify with downloaded playlists. @jtrosky

Sure. You would just have to find the intent that is broadcast when the unit wakes up (not sure what it is offhand). Then once that intent is observed by Tasker, you could just immediately have tasker send the "Media Play" command.
The intent that gets broadcase whent the unit goes to sleep includes the "poweroff" paramter. maybe there is also a "poweron" parameter that gets broadcast when the unit wakes. Or something along the those lines... There are probably many ways to do (check when screen comes on, etc).

jtrosky said:
Sure. You would just have to find the intent that is broadcast when the unit wakes up (not sure what it is offhand). Then once that intent is observed by Tasker, you could just immediately have tasker send the "Media Play" command.
The intent that gets broadcase whent the unit goes to sleep includes the "poweroff" paramter. maybe there is also a "poweron" parameter that gets broadcast when the unit wakes. Or something along the those lines... There are probably many ways to do (check when screen comes on, etc).
Click to expand...
Click to collapse
Guess this will not happen as I dont have any experiences with Tasker
Should be something like this:
Send Intent [ Action:com.spotify.mobile.android.ui.widget.PLAY Cat:None Mime Type: Data: Extra: Extra: Extra: Package:com.spotify.music Class: Target:Broadcast Receiver ]

Yes, that is an intent that will tell Spotify to play, but the real "problem" is figuring out a way to know "when" to send that command (or the general "Media Play" intent that I was talking about, which really should work for any media app).
So you need to figure out a way to know *when* Tasker should send the command when the radio "wakes" up.
There are lots of varibles. Is the Spotify app whitelisted? Or are you restarting it every time the radio wakes up? Is it going to be the 'active' app or running in the background? etc, etc...
But you can use Tasker to do what you want somehow. Tasker is a fantastic app for these radios. Takes some time to get all setup the way you want, but once it is, you can automate a lot of tasks...

Jtrosky i want to use this function for BlackPlayer v3. Im using MacroDroid for simply intent but im not able to use tasker. Could You give us the configuration to resume it after reboot please?

I have never used MacroDroid, but the premise should be the same. The way that I'm doing things here with tasker is a very simple way - I don't need or use any application-specific intents - I simply pause the current player with the general "media pause" command before the unit goes to sleep and the issue the general "media play" command after the unit wakes up - basically, it's the same as pressing the physical play/pause button on the radio yourself - I just automate it. Also, I use Tasker to make sure that only one audio app is running at any time - that way, there is no confusion of which player is paused/un-paused (which allows you to use the general "media pause" and "media play" commands instead of application-specific intents).
However, using this type of setup requires that you know what audio-related apps you are going to be using and setup tasker for those app specifically. If you start using some different app, you need to modify the Tasker setup. Most people tend to use the same core set of apps for music playing all of the time though, so this is not a big deal.

jtrosky said:
I have never used MacroDroid, but the premise should be the same. The way that I'm doing things here with tasker is a very simple way - I don't need or use any application-specific intents - I simply pause the current player with the general "media pause" command before the unit goes to sleep and the issue the general "media play" command after the unit wakes up - basically, it's the same as pressing the physical play/pause button on the radio yourself - I just automate it. Also, I use Tasker to make sure that only one audio app is running at any time - that way, there is no confusion of which player is paused/un-paused (which allows you to use the general "media pause" and "media play" commands instead of application-specific intents).
However, using this type of setup requires that you know what audio-related apps you are going to be using and setup tasker for those app specifically. If you start using some different app, you need to modify the Tasker setup. Most people tend to use the same core set of apps for music playing all of the time though, so this is not a big deal.
Click to expand...
Click to collapse
I know it but if i stop the play when the radio goes to sleep, the usb folder doesn't have time to Save the music position. So when i Wake up it resumes from the start. I don't If there's a problem with White list..

Related

Converting video to play on media player on Orbit/Artemis

Is there a way to cnvert video to play on windows media player on the orbit?
I have tried various conversion programs trying mpeg, wmv, 3gp and various other formats but WMP refuses to play them.
could do with knowing the settings and best program to use for this
thanks
This should work for you
This is what I use its not free,but it does a great job it compresses the file and converts it to WMV so you can watch it with WMP
http://www.pocketgear.com/software_detail.asp?id=14059
Try using TCPMP without converting anything.
I use 3GP Converter http://www.videohelp.com/tools?tool=3GP_Converter for the Orbit and my PSP, it's free, you can make your own profiles and it already comes with profiles for QVGA at various bitrates.
My first post by the way. Hello
Edit:
I use the following profile for converting my Lost eposodes as it retains the aspect ratio
[Item19]
Title=320x180/15fps/216kbps Stereo/96kbps
TitleE=320x180/15fps/216kbps Stereo/96kbps
Command0=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -title "<%Title%>" -timestamp "<%TimeStamp%>" -bitexact -vcodec xvid -s 320x180 -r 14.985 -b 216 -acodec aac -ac 2 -ar 24000 -ab 48 -f psp "<%OutputFile%>.MP4""
Command1=""<%AppPath%>\cores\ffmpeg" -y -i "<%InputFile%>" -f image2 -ss 5 -vframes 1 -s 160x120 -an "<%OutputFile%>.THM""
ive started to dabble with this a bit. for playback use tcpmp and to encode movies/media use pocketdivxencoder. hth
...also, take a look at this
http://www.erightsoft.org/SUPER.html
or this
http://www.microsoft.com/windows/windowsmedia/forpros/encoder/default.mspx

[b]Maximum Quality Bluetooth A2DP With Registry Trick[/b]

Hi,
I bought an A2DP Headset Sony Ericsson DS-970 and wanted to listen to my music with the HTC S620 ( WM6 ).
But i noticed that the sound was poor, with somes sizzlings...
At first, i thought that i bought a fake headset xD
But when i tried my headset with other phones's friends, the sound was really better, clear!
So i searched on the web and found some tricks in order to improve at the maximum the quality audio and it works WELL !!
At first you need a registry editor like Resco Registry or PHM Registry Editor ( free )
Then move to :
HKLM_LOCAL_MACHINE/Software/Microsoft/Bluetooth/A2DP/Settings
- Verify if the following Dword key is at '1' :
Name = UseJointStereo
Value = 1 ( Decimal )
- Delete those following keys :
- BitPool
- SupportedBitPool
- Finally, create/modify the following Dword key:
Name = SampleRate
Value = 48000 ( Decimal )
Enjoy the new sound produced: clear, powerfull !!
Going to try this and get back to you. Have to charge my headset.
EDIT: Didn't notice a difference.
UseJointStereo=0
For that ultimate stereo sounds, UseJointStereo should be =0 not=1, 1 will give you {mono} sounds. This is a old hack, new to some people, Check it out in post # 25, http://forum.xda-developers.com/showthread.php?t=324211&page=3 Now to take your ultimate stereo sounds to another level, you will need to still install the {"SRS"} surround sound SRS_WOW_HD_v1_28_5_0_ENG_RUS_WM5_WM6.zip for the download and complete details see my thread {"SRS"} WOW XT High Definition Sound Live On Your Dash/Excalibur, just install to the main memory, no registry edits required, works as advertised, yeah..........!
I have a bluetooth car stereo (and am able to stream music over it). The settings on the site below are what I use... and it sounds A LOT better...
This is the site I got my settings from:
http://www.htcwiki.com/page/Tweaks+and+Hacks?t=anon

1080p Videos stuttering/lagging

Hey,
i cant run 1080p Videos on my Amazon Fire TV with xbmc. It constantly rebuffers and keeps lagging/stuttering.
I tried changing some things with the advancedsettings.xml but it didn't work out.
I'm using the Kodi 14.0 Helix Alpha 4 but I also tried Gotham and SPMC - Always the same problem with 1080p files.
I dont know what I can do to fix this.
Maybe someone has the same Problem and got some idea?
thanks in advance
Macfelix
WiFi?
Macfelix said:
Hey,
i cant run 1080p Videos on my Amazon Fire TV with xbmc. It constantly rebuffers and keeps lagging/stuttering.
I tried changing some things with the advancedsettings.xml but it didn't work out.
I'm using the Kodi 14.0 Helix Alpha 4 but I also tried Gotham and SPMC - Always the same problem with 1080p files.
I dont know what I can do to fix this.
Maybe someone has the same Problem and got some idea?
thanks in advance
Macfelix
Click to expand...
Click to collapse
What did you try in the advanced settings file? Did you try the <network> commands?
for example:
<network>
<cachemembuffersize>20971520</cachemembuffersize> <!-- number of bytes used for buffering streams ahead in memory
{{subst:Name}} will not buffer ahead more than this. WARNING: for the bytes set here, {{subst:Name}} will consume 3x the amount of RAM
When set to 0 the cache will be written to disk instead of RAM, as of v12 Frodo -->
<buffermode>0</buffermode> <!-- Choose what to buffer:
0) Buffer all internet filesystems (like "2" but additionally also ftp, webdav, etc.) (default)
1) Buffer all filesystems (including local)
2) Only buffer true internet filesystems (streams) (http, etc.)
3) No buffer -->
<readbufferfactor>1.0</readbufferfactor> <!-- this factor determines the max readrate in terms of readbufferfactor * avg bitrate of a video file.
This can help on bad connections to keep the cache filled. It will also greatly speed up buffering. Default value 1.0. -->
</network>
If ou google up on xbmc video buffering lots of info on this.
ashmanmb said:
What did you try in the advanced settings file? Did you try the <network> commands?
for example:
<network>
<cachemembuffersize>20971520</cachemembuffersize> <!-- number of bytes used for buffering streams ahead in memory
{{subst:Name}} will not buffer ahead more than this. WARNING: for the bytes set here, {{subst:Name}} will consume 3x the amount of RAM
When set to 0 the cache will be written to disk instead of RAM, as of v12 Frodo -->
<buffermode>0</buffermode> <!-- Choose what to buffer:
0) Buffer all internet filesystems (like "2" but additionally also ftp, webdav, etc.) (default)
1) Buffer all filesystems (including local)
2) Only buffer true internet filesystems (streams) (http, etc.)
3) No buffer -->
<readbufferfactor>1.0</readbufferfactor> <!-- this factor determines the max readrate in terms of readbufferfactor * avg bitrate of a video file.
This can help on bad connections to keep the cache filled. It will also greatly speed up buffering. Default value 1.0. -->
</network>
If ou google up on xbmc video buffering lots of info on this.
Click to expand...
Click to collapse
I am sorry do we just copy and paste this into a notepad file or do ew takeout some things?

Modify audio_policy.conf to force passthrough AC3

So I am contemplating rooting my Shield TV, but wanted to seek some guidance first from those more knowledgable than me.
I am using my shield with the stock firmware, but am having issues getting DD to passthrough when playing videos in the many video player apps, Kodi, VLC e.t.c
I think the problem is that the EDID for my TV does not report it supporting AC3/DD to the shield, so the system is down sampling everything to stereo, and I have no way of overriding it. Problem is my TV does in fact support DD fine as I am sending it via ARC to an audio receiver, I can test this with a Raspberry Pi/Apple TV where I can force the box to send the DD over HDMI.
No I can't plug the Shield TV directly into my AVR as it doesn't not support HDMI 2.0a, which is needed for [email protected]/HDR.
So, I'm wondering if I can force the shield to stop listening to the HDMI sink and output what I tell it to.
No I have found some information about editing the audio_policy.conf file, and changing the passthrough mode from dynamic to something manually specified, problem is I have no idea what the ENUM should be for DD, and also what other formats I should specify to make sure things like Stereo audio still get passed correctly, similarly I probably need to override the channel mask, but again not entirely sure whether I need to still include 2.0 channels for stereo audio to work.
I would just pile in and see what works, but as the box isn't rooted yet as I haven't needed to, I'm loathed to spend the time doing that if it's not going to achieve anything.
Here's the part of the file I think needs to be changed:
outputs {
primary {
sampling_rates 48000
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_16_BIT
devices AUDIO_DEVICE_OUT_SPEAKER|AUDIO_DEVICE_OUT_AUX_DIGITAL|AUDIO_DEVICE_OUT_ALL_SCO|AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET|gamecast_out
flags AUDIO_OUTPUT_FLAG_PRIMARY
}
multichannel {
sampling_rates 8000|16000|32000|64000|128000|11025|22050|44100|88200|176400|12000|24000|48000|96000|192000
channel_masks dynamic
formats AUDIO_FORMAT_PCM_16_BIT|AUDIO_FORMAT_PCM_24_BIT_PACKED
devices AUDIO_DEVICE_OUT_AUX_DIGITAL
flags AUDIO_OUTPUT_FLAG_DIRECT
}
passthrough {
sampling_rates dynamic
channel_masks AUDIO_CHANNEL_OUT_MONO|AUDIO_CHANNEL_OUT_STEREO|AUDIO_CHANNEL_OUT_QUAD|AUDIO_CHANNEL_OUT_SURROUND|AUDIO_CHANNEL_OUT_5POINT1|AUDIO_CHANNEL_OUT_7POINT1
formats dynamic
devices AUDIO_DEVICE_OUT_AUX_DIGITAL
flags AUDIO_OUTPUT_FLAG_DIRECT
}
hr_audio {
sampling_rates 96000|192000
channel_masks AUDIO_CHANNEL_OUT_STEREO
formats AUDIO_FORMAT_PCM_24_BIT_PACKED
devices AUDIO_DEVICE_OUT_AUX_DIGITAL
flags AUDIO_OUTPUT_FLAG_DIRECT
}
}
Click to expand...
Click to collapse
Anyone got any experience with this?
Thanks
Gareth
I have never experience any problem with shield tv in regards to ac3 nor dts . My shield tv is connected to Sony bravia directly via hdmi and then the sound is forwarded via optical s/pdif to the sound system. I am using mx player...

Sound of Voices to quite - Viper4Android DRC (Dynamic Range Compression)

Hey guys.
I have the issue that i'll often watching content from Prime & Netflix on my FIreTV Stick (1gen) in my bedroom (its quite there).
Most of the content is unable to watch because explosives are really loud and voice are too quite -> common issue when player does'nt do any Dynamic Range compression.
Sadly the FIreTV does'nt. I have tried the following:
Disable DD and DD+ in the system options opf the dire TV stick
try come sound options of my LG 32LC41 TV -> sadly there are not much options on this really old TV and no one makes voices louder and explosives quiter
So here are my questions:
is there any other solution for this issue?
does viper4android working and has such an option which works on the firetv stick 1gen over HDMI?
thx
pOpY
As on April, 2023 there are following methods:
The avialble applications can be categorised as follows'
I) Real Time Normalization
(a) Across the system: Viper4Android-Android, Realtek driver v6.0.1.6767, Date 30-10-2012-Windows, Realtek-Dolby Audio
(b) Application level: AIMP-Android, AIMP-Windows, double Twist v3.2.1-Android, Cloud Player v1.8.5-Android, many online streaming services
II) Replay Gain identification, linking and saving as separate file without even disturbing meta data: Neutron Audio Player - Android
III) Replay Gain Normalization (Replay gain writing at Meta Data it can be undone, if player is not compatible it will ignore Replay gain): mp3gain, foobar2000, R128Gain_1.0.11_win64_gui.
IV) Loudness conversion (can not be undone to original, such processes generally cannot be lossless): Audacity, etc many apps for windows as well as android.
Note: Perceived volume level or Digital “loudness” is measured as LUFS and it’s negative. Mp3gain 89dB = -18LUFS
--------------------------------------------
I.a.1 The following is experience sharing of Android with Viper4Android 2.7.2.1 on spare phone Xiaomi mi5 lineage 17.1 (Android 10) (Phone Volume 40 to 70%)
i) Enable "Master limiter"
Output -0db
Output pan 50:50
Threshold limit 0dB
ii)Enable "FET Compressor" with the following settings
operator threshold to -60dB (or -50 to -60dB)
Compression ratio to 10.00:1, (or higher like 20:1 upto infinite)
Automatic Knee untick it,
inflection: 10.8dB
inflection point gain 2.00x,
Automatic Gain-Untick,
Automatic Gain 25.6dB (or 20 to 40dB it will be more effective but in relation with operator threshold )
Automatic attack, untick
Attack to 10ms. (0.1 to 12ms)
Max attack 200ms, (10 to 250ms)
Automatic Release untick
Release 20 ms (0.2 to 25 ms)
Max Release 250 ms (2 to 300ms)
Crest 20dB,
Adapt 2639
Clipping prevention Tick
it is able to normalize loudness automatically tested qith audio volume 88.8dB (-14LUFS) and 105.2 db (-3LUFS), -36LUFS (dB as identified by MP3Gain PC software).
As normalization standard is available so many parameters are not required for audio normalization, once selected it can target -18 LUFS like Foobar plug in /double Twist.
Note:
(i) Even after Audio Modification libraries (AML) is installed, a4v needs SoundFX to be disabled. It is working on Legacy Mode. it works along with Dolby Atmos also.
(ii) James DSP is having Dynamic Range Compressor, but not having options to provide necessary inputs /it is not having them built in, it is not able to work as auto volume normalizer.
(iii) Any DSP expected to impure or introduce artifacts to the audio, we may not be able compensate by tweaking with v4a etc to the original. If you enjoy your own way, you may like it. Further if the function of Auto loudness / Auto volume level /auto volume normalization is at top priority , it succeeds to great extend android across the system. Tested with pink noise with digital loudness from -3LUFS to -23LUFS. It is noticed if bass is very high in original the above settings may not be suitable or difficult to adjust to universal setting.
(iv) There is no auto loudness normalization in "Dolby Atmos" in current versions. Dolby Audio is effective which is available at speaker control panel on windows 10.
in my case:
The Viper4Android 2.7.2.1 rootless type installed from TWRP (as magisk module is infinitely trying for installation of driver) even after installing Selinux 11, AML 4.2, Lineage's SoundFX disable or all in one type available at Github.
at present UNINSTALLER for above rootless type is not readily available.
There is noticeable deterioration in sound quality of low frequency with fet compressor of v4a.
I.a.2. or If you are on windows 10 with Realtek audio , install 2012 driver v6.0.1.6767, Date 30-10-2012 (old driver) it will give options “Enhancements" select loudness equalization ’ (sometimes it miss few milliseconds at start of track). This is real-time type as well as across the system, but it's effectiveness cannot be checked with pink noise. It is also noticed that later drivers having Dolby Audio , when made it on , it is also acting as loudness normalizer. However Dolby Atmos is not having any such feature.
---------------
I.b.1 or use "double Twist v3.2.1.apk" (i.e classic) Android {for real-time normalization: Settings>Loudness Normalization>on} but it is not able to recognize all folders / audio files.
I.b.2. or "Cloud Player v1.8.5" for Android by double Twist Corp {for real-time normalization: Settings>Loudness Normalization>on (after buying)} but it is not able to recognize all folders / audio files.
I.b.3. Or use "AIMP" for Android or PC {for Real-time auto loudness normalization: options >sound effects > options > Volume Normalization> Replay Gain > select / Tick Replay Gain, Untick at Use values from tags (as not required for real time mode) , Tick on the fly Analysis> tick (=ok)}. Some times it misses by a few milliseconds at new track.(PC version's UI is not user friendly at present)
I.b.4 or Jet Audio HD Player Android {for Real-time auto loudness normalization: Menu > Preferences > Playback> select "Adjust Replay gain with AGC"}
I.b.5 Foobar2000 PC
Use "EBU or R128 Normalizer" plugin for Real-time auto loudness normalization ( install the plug in , add the same at DSP from preference. It is working ok. Tested with pink noise with digital loudness from -3LUFS to -33LUFS. Working perfectly when started with -33LUFS and going up , it's output was normalized to -18LUFS and verified with Youlean_Loudness Meter 2 vst3 plug-in installing to Foobar.
I.b.6 PC through installation of VST adapter: adding this adapter to DSP compnent to Foobar and using available VST plug in. At present volume normalizer for play purpose yet to be developed.
I.b.7 Many online streaming services
---------------------
II.1 "Neutron Audio Player" Android It writes replay gain information to a separate file with a reference for location and file name, so even meta data is also preserved. However getting into folder browsing is outdated {Neutron v2.12 Menu (3 horizontal lines) icon> Sources (do not select folders available in options, the following folders will linked /show up at the folders of neutron at later stage )> + > File system > Devices > SD card> now it will come to nearly modern browser mode..browse to required folder having music files...., select folder > select Tick > it will scan files}
(i) Addition of music folder to Neutron
{Neutron v2.12 Menu (3 horizontal lines) icon> Sources (do not select folders available in options, the following folders will linked /show up at the folders of neutron at later stage )> + > File system > Devices > SD card> now it will come to nearly modern browser mode..browse to required folder having music files...., select folder > select Tick > it will scan files
, if not hold on folder to get option to scan.(The files inside above folder is not responding/not scanning , delete above folder in above settings of neutron click and hold to get delete option (it is not real deletion at internal drive) , make back and forth , to get refreshed and re-create. If required
select other than previously used folder or super folder or some other sub folder. For using any other than sub folder you have to repeat above process.
{Neutron v2.21.9 Menu , just after fresh installation : select Audio Source as Manual>File System> + > Audio files folder or subfolder (as per your plan and scheme how you want them appear later) >Use This folder > ALLOW >select this folder > click on Tick Icon> Folder on drive will be added to folders of Neutron, if not successful add another folder or subfolder consisting audio files.
if above skipped or at later stage some more folders to be added : (3 horizontal lines with arrow) icon> Sources > + > File system > + > now it will come to nearly modern browser mode..browse to required folder having music files...., select folder > >Use This folder > ALLOW > select Tick >.....
(ii) (i) Deletion of music folder to Neutron
To delete folder in neutron app (No physical deletion on inernal drive) : (3 horizontal lines with arrow) icon> Sources > tap and hold on the folder > delete
(iii)Normalize the volume level all files in a folder to -18LUFS
{Menu> Sources> Folders > Click and hold on the required folder to get normalize option >+EQ Preset> Normalize > select Tick}
(Source file will not be affected , even metat data)
(iv) To remove above normalization
To delink above Neutron assigned Replay Gain through Normalize: {Menu> Sources> Folders > Click and hold on the required folder >click again on +EQ Preset}
Note: Some times icons /menu are relocated, please find them to get navigation options.
-----------------------------
III.1 mp3gain.exe {It is the most compatible with Windows as well as Android apps, it is a defacto standard for Replay Gain, until mp3 normalization standard is formed}
or III.2 Foobar2000 v1.6.16 {compatible with Foobar2000 player v.1.16.16, AIMP v3.30.1250 and VLC player v3.5.4 , Jet Audio HD v11.2.3, both windows / Android , USB Audio player pro trial 6.0.3 (Android) but not v6.1.0.0, Power Amp v3b957 (Android), FIIO Music v3.1.7 (Android) }
or III.3 R128Gain_1.0.11_win64_gui {compatible with AIMP and VLC player both windows / Android, USB Audio player pro trial 6.0.3 (Android) but not v6.1.0.0, Power amp v3b957 (Android)} program on PC (freeware) to write replay gain data at meta data of track (or album) without changing any music data i.e music will be as original. If the player is compatible with this replay gain, data stored at metadata will play the music file with normalized volumes.
----------------------------------
IV.1 Normalization open freeware DAW like Audacity etc.
Procedure to Loudness Normalization by Audacity
1)file>Browse to the required files > Open all required files,
2)Select all files,
3)Effect > Volume & Compression>Loudness Normalization>Perceived Loudness (Digital)>.....LUFS>Apply
4)File > Export >...... (processed file will be outlet folder)
IV.2 PC through VST3 for 5.1
Install VST3 plug-in e.g The Normalizer by FinalLoud by TBPro Audio VST3 manager. They are in advanced audio creation (DAW) etc. It will do permanent changes to music.
-----------------------------------------
In case of real time loudness normalizer, if it is not programmed to know track to track to information or analysis of sufficient length of buffer etc , it may intervene in between / intermittently causing a feeling of unnaturalness or distortion. Same difficult is similar with across system loudness normalizer.
--------------------------------------------
Due to any reason , if you don't want to listen to full length of song, but initial few seconds (like 30 sec or 120 sec or 180 sec or any) , automated preview of various varieties are available at "Automate Community" a forum of Automate by llamalab.

Categories

Resources