How to play a long MP3 on Android alarm

I recently bought a Samsung Galaxy Nexus; Google's flagship Android phone, sporting the latest Ice Cream Sandwich. Suffice it to say that I am simply in love with this device.

I wanted to play recordings of Japji Sahib and Rehraas Sahib every morning and evening, respectively. These are about 22 minutes long each, and they should be played exactly once, and the player should stop after the play.

If your MP3 file is shorter than 10 minutes, then the standard 'Clock' App can play your MP3 without issues. You just have to create a folder named "alarm" on the storage card and place your MP3 files there, and they'd magicaly appear in the "ringtone" choices when creating an alarm.

There's a lot of material already floating around the 'net for doing this: www.google.com/search?q=android+alarm+MP3

There are a few problems with everything I've seen so far:
  • The default Clock's alarm runs for only 10 minutes.
This is not ideal if you have a song/track longer than 10 minutes. And if it is shorter than 10 minutes, I think the song will be looped.
  • Any other alarm/clock app runs the MP3 in a loop
This is not ideal if you want to run your MP3 only once and then stop.
  • 'AlarmDroid' lets you stop the alarm (mp3 song) after a set number of minutes (Advanced > Ringer Duration).
The problem with AlarmDroid is that it hogs the screen, and won't let you use any other app until either you dismiss the alarm, or the alarm times out after the duration you've set. Yet another minor issue is that since the granularity of auto-dismiss is in minutes, the song loops for a few seconds after the first run, before the auto-dismiss actually stops the alarm. I used AndroidAlarm until I found the perfect solution.

None of the alarm apps allowed me to do what I wanted. So I started looking for some customizable way of launching the Music app on my own, and finally I found AppAlarm.

AppAlarm allows you to launch any app on an alarm. So I could create a playlist that has just one song, and then use AppAlarm to play that playlist using the Music App. By default the Music app will not loop the songs, but if you were using the Music app and you configured the app to either 'Repeat All' or 'Repeat One' setting then the Music app will loop (repeat) the alarm song too.

So here's how to to get it done. In the Music app create a playlist with just one song that you want to play when alarm goes off. Launch AppAlarm, and 'Add New Alarm'; 'Enable' the alarm and tap on 'App to Launch'; choose 'Create Shortcut', choose 'Music Playlist', and select the playlist you just created above. On the resulting dialog box, click 'Select App' and scroll down to select the 'Music' app from the list. Choose time, repeat everyday, etc settings to your taste, and you are done.