N noeleon Active Member Licensed User Longtime User Oct 14, 2019 #1 My app is an audio player for mp3 and ogg that displays synchronized lyrics. And since seek function is not accurate on mp3 encoded with variable bitrate (VBR) I'd like to give the user an option to convert mp3 to ogg or convert to mp3 using constant bitrate, but first the user must download an ffmpeg .aar file, so that my apk will not be unnecessarily huge. Similar approach to this app https://play.google.com/store/apps/details?id=org.ffmpeg.gui How do I do it? Basically a "detached aar" version of this sample project https://www.b4x.com/android/forum/threads/ffmpeg-library-for-b4x-with-inline-java-only.108905/ Last edited: Oct 14, 2019
My app is an audio player for mp3 and ogg that displays synchronized lyrics. And since seek function is not accurate on mp3 encoded with variable bitrate (VBR) I'd like to give the user an option to convert mp3 to ogg or convert to mp3 using constant bitrate, but first the user must download an ffmpeg .aar file, so that my apk will not be unnecessarily huge. Similar approach to this app https://play.google.com/store/apps/details?id=org.ffmpeg.gui How do I do it? Basically a "detached aar" version of this sample project https://www.b4x.com/android/forum/threads/ffmpeg-library-for-b4x-with-inline-java-only.108905/
Erel B4X founder Staff member Licensed User Longtime User Oct 14, 2019 #2 You can convert the inner classes.jar to a dex file and then load it at runtime with code similar to the code from this answer: https://stackoverflow.com/questions/27349097/load-dex-file-dynamically-on-android-5-0 However you will not be able to directly access the external API. You will need to access it with reflection or with shared interfaces. Upvote 0
You can convert the inner classes.jar to a dex file and then load it at runtime with code similar to the code from this answer: https://stackoverflow.com/questions/27349097/load-dex-file-dynamically-on-android-5-0 However you will not be able to directly access the external API. You will need to access it with reflection or with shared interfaces.
N noeleon Active Member Licensed User Longtime User Oct 14, 2019 #3 Yikes! too complicated me. No to ffmpeg then. I will just offer to convert mp3 to wav. Unfortunately liblame by warwound won't work if targetsdk > 22. Upvote 0
Yikes! too complicated me. No to ffmpeg then. I will just offer to convert mp3 to wav. Unfortunately liblame by warwound won't work if targetsdk > 22.