I want to create an audio recorder I have tried the code I get from http://developer.android.com/guide/topics/media/audio-capture.html and it works fine; it records and it plays back what I have said. But right now I want to create an audio recorder with a UI like in recognizerIntent which Google has provided so that you can see or monitor that your voice has been recorded(sorry I can't find a right term but I'm hoping you can understand what I am trying to say). Do you know any tutorial or links that can help me?thanks for you help!
I think you mean that you want some feedback that your voice is being picked up? If so, perhaps this project, Audalyzer might be a good place to start looking?
Libraries within the package offer you a dB reading, a one and two-dimensional wave form, and an FFT plot.
(source: googlecode.com)
There is a simpler WaveformControl you may find easier to understand and modify for your needs.
Related
I am looking to make a mobile app that will allow the users to take X number of videos and it will combine them together to make a single video. Users will also be able to choose what to put in between each video recording and background music.
I have more experience with Xamarin/C# than with native Java/Obj-C but the only method I have found online that might accomplish this would be with using native with FFMPEG. Is this the case? Is FFMPEG even going to work for this? Is there a way to use Xamarin to accomplish what I need to do?
Thanks
Have a look at the AVMutableComposition and its related classes.
There's an example here, about halfway down the page: http://www.raywenderlich.com/13418/how-to-play-record-edit-videos-in-ios
It looks like it's covered by Xamarin: http://iosapi.xamarin.com/index.aspx?link=T%3AMonoTouch.AVFoundation.AVMutableComposition
This question may sound a little bit complex or ambiguous, but I'll try to make it as clear as I can. I have done lots of Googling and spent lots of time but didn't find anything relevant for windows.
I want to play two videos on a single screen. One as full screen in background and one on top of it in a small window or small width/height in the right corner. Then I want an output which consists of both videos playing together on a single screen.
So basically one video overlays another and then I want that streamed as output so the user can play that stream later.
I am not asking you to write the whole code, just tell me what to do or how to do it or which tool or third party SDK I have to use to make it happen.
update:
Tried a lots of solution.
1.Xuggler- doesn't support Android.
2.JavaCV or JJMPEG- not able to find any tutorial which suggested how to do it?
Now looking for FFMPEG- searched for a long time but not able to find any tutorial which suggest the coding way to do it. I found command line way to how to fix it.
So can anyone suggest or point the tutorial of FFMPEG or tell any other way to
I would start with JavaCV. It's quite good and flexible. It should allow you to grab frames, composite them and write them back to a file. Use FFmpegFrameGrabber and Recorder classes. The composition can be done manually.
The rest of the answer depends on few things:
do you want to read from a file/mem/url?
do you want to save to a file/mem/url?
do you need realtime processing?
do you need something more than simple picture-in-picture?
You could use OpenGL to do the trick. Please note however that you will need to have to render steps, one rendering the first video in a FBO and then the second rendering the second video, using the FBO as TEXTURE0 and the second as EXTERNAL_TEXTURE.
Blending, and all the stuff you want would be done by OpengL.
You can check the source codes here: Using SurfaceTexture in Android and some important information here: Android OpenGL combination of SurfaceTexture (external image) and ordinary texture
The only thing I'm not sure is what happens when two instances of mediaplayer are running in Parallel. I guess it should not be a problem.
ffmpeg is a very active project, lot's of changes and releases all the time.
You should look at the Xuggler project, this provides a Java API for what you want to do, and they have tight integration with ffmpeg.
http://www.xuggle.com/xuggler/
Should you choose to go down the Runtime.exec() path, this Red5 thread should be useful:
http://www.nabble.com/java-call-ffmpeg-ts15886850.html
I am building on an app which has a function which records the sound which comes in the microphone. It would be handy to give a graphical view of the incoming sound, like http://www.filebuzz.com/software_screenshot/full/10920-Audio_Edit.gif for example.
I searched a little bit for a tutorial online, but the only thing I found was Audalyzer, but it is difficult for me to get a grip on it, it also is using the whole interface and not clear how to implement it as a widget...
Maybe somebody knows a good tutorial or example code on this?
You'd probably want to use a Fast Fourier Transform for this.
I'd try jTransforms: https://sites.google.com/site/piotrwendykier/software/jtransforms
The blog here: http://trueharmoniccolours.co.uk/Blog/ gives a good introduction into what the FFT does and how you can turn it into a chart. I fear that by the end of this you'll understand FFTs though...
I need some help in the concept of Services in Android? Actually i want to Play some sounds with animation in Android. I'm done with frame by frame animation successfully but want to play some audio with animation. I got some ideas about Services from google but I'm unable to get their point, so that i am posting it over here. If anyone has any idea about how can i do this please give me some suggestion to do this. It would be very helpful to me.
Have a nice day ahead...
Thank you!!
You'd need to take a look at,
MediaPlayer
I think the documentation given is self-explanatory. Also you need not make use of a separate Service for playing the sounds, unless of course you have a special need.
I know there is a similar question to this floating around stackoverflow. What I would like to know is if there's a simple way to do beat mapping for a song in Android? I don't need to do anything as complicated as beat matching between different varieties of songs, as the other question requests; at least I don't think it's anymore complicated, more experienced programmers please feel free to comment.
I simply would like to map the beat of a single song to be able to use it later in my program. I'm very new to both Android programming and sound processing in programs, so any suggestions or comments are appreciated.
Check out the open source (actually made by a member of the Android team) project RingDroid...there's some pretty basic sound processing there, so that should give you a start.
Here's the RingDroid site.