Android - convert audio to .mp3 - java

I am trying to record audio ( using MediaRecorder ) and send it to a server in .mp3 format.
I have checked the web for solutions to converting any of the audio file formats received from MediaRecorder to .mp3 format, but I could not find any adequate solution ( also tried tritonus, but did not manage to use it ).
Please, can you give me a code sample or a link to a tutorial that can show me how to convert audio to .mp3 on the Android platform using standard Java code ( not C + NDK or anything ).
This is a show stopper for me, so I would really appreciate your help.
Thank you,
Sabin

Related

Create a new MP4 video and mux MP3 file into it

I want to find a way to create a new MP4 container and add an MP3 file into it. Whether the MP3 file is to be encoded or not does not matter to me. Is there any easy way to do this without using ffmpeg? I have found the following example for muxing:
android - How to mux audio file and video file?
Though, it has issues and also it is supposed to mux the audio file into an existing video.
Can someone point me to a guide or at least in the right direction to accomplish what I need?
U can do this using MediaCodec and MediaMuxer but right now i think mp3 is not supported u should first decode mp3 to wav and encode to supported format like aac using MediaExtractor and MediaCodec and then u can add to mp4 container using Muxer. U might find this link helpful https://www.sisik.eu/blog/android/media/mix-audio-into-video

change .mp3 file format to .aac file format in android using java programming

I have one .mp3 file and I have to convert it into .aac file format.I have made one android app and it will only use .aac files.I have seen many questions on stackoverflow based on this.But didn't get any right solution with code.
So please help with the coding part without using ffmpeg library.

How to decode ogg vorbis file java?

I'm getting started with lwjgl and openal, so I want to be able to decode an ogg vorbis file and play it with openal. My question is: how can I decode an ogg file from java, get the frequency, pcm data, etc. and send it over to openal so I can play it? I found jorbis to do this, but it seemed just too difficult to use, and the tutorials online are kinda messy. I was thinking of something like alutLoadWavFromFile but for ogg(and java).
Thanks!
EDIT: Ok, I'll clarify my question. I want to decode an ogg file. And then send the data to openal. But the only part I don't know how to do is the decoding part.
VorbisJava does exactly this. There is a reasonable example in the tools directory.
https://github.com/Gagravarr/VorbisJava/blob/master/tools/src/main/java/org/gagravarr/vorbis/tools/VorbisCommentTool.java
VorbisFile vf = new VorbisFile(new File(inFile));
Also, Java Sound API has an extensible service provider model. You can add OggVorbis as a provider.
See How can I decode OGG vorbis data from a ByteBuffer?

Play m4a files in Java

I want to create a media player in Java. The mp3 support already works with the JLayer library but which library can play m4a files?
I read about vlcj here on stackoverflow, but this seems to depend on Swing/AWT which I wouldn't use because I want to port the application to Android later on.
Have you looked at JAAD? It's a Javasound SPI that decodes AAC audio, I've used it with success previously.
Note that m4a is a container format, and while it usually contains (in my experience) AAC audio, in theory it could contain other formats instead.
You can find some information about getting it working without Javasound (and a test case) here.
This answer is indirect. I don't really know anything about m4a files. But what I have found is an open source library that can stream them as a flash server named red5. It's written in Java so theoretically you should be able to browse their code to figure out how to do it.
Hopefully someone here can give a more direct answer, this is the best I can do.
If you have Java 7 or later, you have access to the Javafx library. You can also use your media player (like iTunes or Windows Media Player) to convert to the simpler mp3 version and run that. I wouldn't recommend .wav files as they have significantly more data usage than mp3s, (which condense the file size by compressing the .wav data and omitting inaudible and otherwise garbage-y data).
import javafx.scene.media.*;
String name = "song.mp3";
Media song = new Media(name);
MediaPlayer player = new MediaPlayer(song);
player.play();

Video converting into mp3 on Java, Android

I need to convert mp4/flv files info mp3 in my Android application, but I don't know C/C++ and Android NDK. Do you know libraries/methods for easy converting on Java? Thank you for anyway.
Your question is how to extract audio from MP4/ FLV files and save as mp3 file. Right ?
Then, very sorry, Android SDK does not provide any API for transformating or track extraction.
Also using available media framework to achieve the same is also not trivial (and even if you do, you will lose portability).
What I would suggest is to use your MP4 & FLV Parser to extract audio track, do transcoding (if audio track is non-mp3), and save the transcoded (if audio track extracted is mp3, then extracted data) data.
Or you can port FFMPEG code base and use the same. This again may be overkill for your small task.
Suppose you just want to extract mp3 track from MP4, then you understand the native mp4 parser and use the APIs for extraction. You may have to replicate some code from stagefright / opencore.
Shash
it's probably irrelevant for you anymore but if some one still need a mp4 to mp3 parser here's an api that can do the job

Categories

Resources