-
Notifications
You must be signed in to change notification settings - Fork 796
Description
Issue description
This app stores recordings in the MP4 container, which is perfectly fine for audio. However, the extension is .mp4 and the current version of VLC and built-in video for Android, as well as various other apps that open, process or send media files, expect these files to contain a video track, and its absence makes them treat the file as invalid.
Therefore, I propose a very minor change: the file extension should be .m4a (MPEG-4 Audio). The internal structure of .m4a files is identical to normal MP4's, the only difference is that the extension makes applications expect an audio-only file. This has been supported for many, many years.
Proposed solution
The code contains 5 instances of mp4 in total. Most of them (🟢) can just be replaced with m4a. Listed in order of importance:
- /app/src/main/java/com/danielkim/soundrecorder/RecordingService.java : 115
- 🟢 File extension of newly created recording.
- /app/src/main/java/com/danielkim/soundrecorder/adapters/FileViewerAdapter.java : 256
- 🟢 Extension appended to text input from rename dialog
- /app/src/main/res/layout/dialog_rename_file.xml : 15
- 🟢 Rename dialog: text that appears right from textbox
- /app/src/main/java/com/danielkim/soundrecorder/adapters/FileViewerAdapter.java : 237
⚠️ MIME type of recorded audio when starting player intent, currentlyaudio/mp4. It could work if replaced withaudio/x-m4aoraudio/m4a; however, I think keeping it as-is is best for compatibility.
- /app/src/main/res/layout/fragment_media_playback.xml : 33
- 🟢 Placeholder text, replaced before being shown on screen. Replacing with
m4arecommended but not neccessary.
- 🟢 Placeholder text, replaced before being shown on screen. Replacing with