I’m working on adding audio to My Picture Books app for creating and reading children books, based on your own photos.
Route 1: using an intent to record audio
My first attempt was to use Android systems of ‘intents’. An intent in android is something that is used to communicate with other apps. For instance for editting images, the app uses a certain intent, the user is asked to pick an app to edit the image. After the editting is done, my app receives the editted image from the other app.
Intents work like this, the app shoulds the name of the specific intent, and then Android gives back all the apps that say they can do something with that intent. And I was happy to learn there is an intent for connecting with an app that record audio. The intent is as follows:
<span class="kwd">new</span> <span class="typ">Intent</span><span class="pun">(</span><span class="typ">MediaStore</span><span class="pun">.</span><span class="typ">Audio</span><span class="pun">.</span><span class="typ">Media</span><span class="pun">.</span><span class="pln">RECORD_SOUND_ACTION</span><span class="pun">);</span>
When testing on my mobile phone everything went great. After completing the update of my app, I wanted to do a little test on my tablet and then put the udpate live that evening. The test revealed a bit of a setback. It appears that not all phones and tablets have apps that can deal with this intent. So for some user it would not be possible to record audio.
Route 2: Still use the intent, but advice users to download a specific app for audio recording.
As a first update, testing out if people would appreciate an audio feature, I thought it might be good enough to just advice people to download app X to record audio. So I started to look for apps that could receive the RECORD_SOUND_ACTION.
Finding a valuable answer to this question using Google is hard. Too hard. Try searching something like “android app for recording audio receiving intent record_sound_action”. You get results like this on StackOverflow that don’t include an answer to my problem.
Since Googling failed me, I downloaded a whole bunch of audio recording apps. Only one of them accepted the intent, but it had annoying ads and I was not comfortable with recommending people this app.
Route 3: Code a simple audio recorder myself
So now I’m back to the coding board, coding my own audio recorder. It’s not super difficult, but still it requires learning some new code, creating a new interface and doing extra tests. It’s probably about 8 hours of extra work for me, while I was hoping to put the update live at the beginning of this week. On the other hand, I’m learning new stuff, and that’s sort of the whole idea of these pet project; creating tools and learning new stuff :).
A new goal emerged
After testing a number of audio recording apps, it struck me that there are quite a lot of recorders with advanced features, but they are paid apps or have ads. But it’s not easy to find a super simple audio recorder that only does record, stop, play, save. So I’d like to fill this void, and I can combine it with my ambition to learn how to implement material design. This can be my next little pet project. A super simple, but good looking one screen app to record audio quickly. And it would accept the RECORD_SOUND_ACTION intent :).
In case you are wondering, learning these new skills like dealing with images, audio and material design, are all part of the bigger plan to do a major update on Idea Growr. More on that later.