Android :: How To Record Audio From Mic In Raw Pcm Format Into A Buffer Using Native Libraries Directly
Oct 9, 2009
My application cannot handle the JNIE overhead, as I need to make 2 JNIE calls to the native C/C++ code for every 20msec. So I am trying to use the native media libraries and the realted C/C++ files provided by Android in the folder "//external/srec/audio/test" of the donut build. Ex. AudioHardwareRecord, AudioInRecord etc.. I am implementing all the calls in the native layer.
I am using the sampling rate as 8000 and want to read 160 samples (320 bytes) at a time.
I used the following values to create the AudioRecord..
CODE:..........
It says "success" after creating this interface but I am getting the error "Bad Value" if I am doing the InitCheck.
And it is crashing once I start reading the samples or if I try to retrieve the configured sampling rate.
Has anybody tried to access this native code?
View 4 Replies
Aug 2, 2010
I want to record audio in MP3 format in my android application. I know I can read PCM audio using the audioRecord class. Is there a java library compatible with android that will encode PCM to MP3? Is it possible to use the Lame mp3 encoder library?
View 1 Replies
View Related
Dec 20, 2009
How to record audio into ogg format?
View 1 Replies
View Related
May 14, 2009
Now i want to record audio in WAV format. What should i do now because android only supports *.3gp or *.AMR type?
View 6 Replies
View Related
Jul 19, 2010
I need to record audio and video files in 3gp/mp4 format at the same file and same time.
When i run my application file is created with videofile.3gp but video does not record in sd card on the emulator.please let me clear one thing does video records on the emulator? if i run this code on android supported device do these error clear.
Please help me. I am new to this topic.please find the code and errors below.
package com.video;
* @copy Rights
* audio.java
* sample code for Eminosoft Developerworks Article
* Android development Team
* www.eminosoft.cm
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.media.MediaPlayer;
import android.media.MediaRecorder;
import android.net.Uri;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.provider.Settings;
import android.util.Log;
import android.view.View;
import android.widget.Button;
public class video extends Activity {
public MediaRecorder mrec = null;
private Button startRecording = null;
private Button stopRecording = null;
private static final String TAG = "SoundRecordingDemo";
File audiofile;
File video;
private MediaPlayer mMediaPlayer;}
View 2 Replies
View Related
Jun 16, 2009
I have the following native source code that is supposed to display video. It plays 3gp file ok and I can hear the audio, but the video is not shown.
CODE:..............
View 4 Replies
View Related
Jan 17, 2010
I have searched the whole group but wasn't able to find a answer for my problem.I want to record audio from the microphone, apply some audio signal processing and than save the processed audio data in a compressed format.I figured out, how to record audio uncompressed but now I wonder if I can use some api functions to store this data in a supported compressed format.
View 4 Replies
View Related
Jul 14, 2009
In Linux, we can get the framebuffer directly by "open("/dev/fb0", O_RDWR);"
Is there any way I can call the similar function via JNI in Android or how can I access the frame buffer directly in Android?
View 2 Replies
View Related
Dec 24, 2009
I'm trying to use the Media Recorder to have my application continuously record audio in memory (to a circular buffer of a known size). Indeed, I'd like to be able to play back the past 10 seconds of recorded based on a certain event in my program. Much of the Media API is designed to linearly record audio to a file. Has anyone an idea on how I could best do this with or without the default API?
View 2 Replies
View Related
Apr 1, 2009
Is it possible to use a native C/C++ library? If so, are there any restrictions for those libraries to be used?
View 3 Replies
View Related
Jul 29, 2010
Is it possible, from within my android java app, to capture an image of what is on the screen, even if it was written using native (ndk)? I do not wish to take screen shots of other apps, just my own. I can already capture and image of a canvas that I am aware of, but is there a view or canvas or something like it that always represents what is on the screen, so that a) I don't have to capture the separate views images and recompile them, and b) I can see what my native (jni) code is doing with the graphics too?
View 1 Replies
View Related
Apr 12, 2010
I am completely new to the NDK.
I have done a couple of the tutorials including the hello from jni one and another one that calculates the sum of two numbers.
They involved using cygwin and the ndk to create the library so file and I have a bit of a grasp on how to insert my own libraries into the libraries layer of Android.
I have now been asked to access the native libraries on Android and see what I can use them for.
My question is can I do this?
The STABLE-APIS.txt document is a bit vague and mentions the following as Stable C++ API's in Android 1.5
cstddef
new
utility
stl_pair.h
Does that mean I can access them?
If so then how do I go about it?
View 1 Replies
View Related
Jul 1, 2010
Is there any way to access the contact DB in my native libraries(C/C+ +)? Also to update the contact database through native libraries itself.
View 4 Replies
View Related
Jun 2, 2009
Could you please let me know how to do the audio record in android emulator and play the same recorded audio. Could you please help me in proceeding in development.I tried with MediaPlayer API's also.Its not working.
View 5 Replies
View Related
Sep 24, 2009
I am working on a packet switched network. I want to capture the audio data from mic into a buffer at a desired sample rate.How can I capture the audio data from mic into a buffer instead of a file? Also how can I control the audio capture rate as per the desired sample rate?
View 2 Replies
View Related
Jun 17, 2009
This may be impossible but is there any way that I can get a smaller buffer size for AudioTrack than what is provided by getMinBufferSize method?
This is how I am instantiating AudioTrack right now: SR = 44100; bufSize = AudioTrack.getMinBufferSize(SR, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT); audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, SR, AudioFormat.CHANNEL_CONFIGURATION_MONO, AudioFormat.ENCODING_PCM_16BIT, bufSize, AudioTrack.MODE_STREAM);
With sample rate of 44100, getMinBufferSize always returns 4800. If I try to make the buffer size smaller than 4800 then I get the following error message: E/AudioTrack( 318): Invalid buffer size: minFrameCount 1200, frameCount 600 E/AudioTrack-JNI( 318): Error initializing AudioTrack E/AudioTrack-Java( 318): [ android.media.AudioTrack ] Error code -20 when initializing AudioTrack. D/AndroidRuntime( 318): Shutting down VM W/dalvikvm( 318): threadid=3: thread exiting with uncaught exception (group=0x4000fe70) E/AndroidRuntime( 318): Uncaught handler: thread main exiting due to uncaught exception I/CheckinService( 59): From server: Intent { action=android.server.checkin.FOTA_CANCEL } E/AndroidRuntime( 318): java.lang.RuntimeException: Unable to start activity Does anyone has any ideas how to over come this problem?
View 2 Replies
View Related
Nov 9, 2010
For some reason ever so often I get that message on the bottom of my screen. Its not worded exactly, but its kinda annoying. Does anyone know what it mean and how I can make sure it doesnt show up again.
View 3 Replies
View Related
May 8, 2010
Is there a way to determine the audio format of an audio file in Android? On normal java I do it like this:
File file= new File(...);
AudioInputStream stream = AudioSystem.getAudioInputStream(file);
AudioFormat format= stream.getFormat();
View 2 Replies
View Related
Mar 4, 2010
I am currently trying to create an Android application that loops Audio from the mic to the earpiece, I can do that perfectly but when I do it over and over again in my application I eventually get an Out Of Memory Error.
Here is the code I use to create the Audio Loop:
CODE:.................
And here is the error I get:
CODE:........................
So the Error specifically focuses on this line in the code
CODE:.................
And it happens after I try to do the Loop several times, so say I start the application and after 10 times starting the loop I get the error.
So I think the buffer is simply becomiing full or something?? Is that correct? If so how would I keep clearing out the buffer?
View 1 Replies
View Related
Nov 14, 2009
The following works fine on a G1 but gives an error on the Samsung Galaxy. I was hoping cross-platform support would be better than this. See error below.
private final static int RATE = 44100; private final static int CHANNEL_MODE = AudioFormat.CHANNEL_CONFIGURATION_MONO; private final static int ENCODING = AudioFormat.ENCODING_PCM_16BIT; private AudioRecord recorder_; public boolean open() { int bufferSize = 4 * AudioRecord.getMinBufferSize(RATE, CHANNEL_MODE, ENCODING); recorder_ = new AudioRecord(AudioSource.MIC, RATE, CHANNEL_MODE, ENCODING, bufferSize);
last line gives the following on the Samsung Galaxy phone: 11-14 19:04:07.507: ERROR/AndroidRuntime(7617): java.lang.IllegalArgumentException: Invalid audio buffer size.
View 5 Replies
View Related
Jan 16, 2010
I'm writing an App that needs to continuously record audio in memory and email the last 30 seconds of audio when required. Much of the mediarecorder API is designed to store linear audio in files. Could anybody point me towards a way to continuously record audio in memory, using a circular buffer using the SDK?
View 2 Replies
View Related
Jun 15, 2010
In the camcorder application, I have chosen to record the video's in MP4. However, when you then side load them to the PC or what-not they appear as 3GPP or something. Is 3GPP a version of MP4 or is the camcorder telling fibs? If it's not, how do I record in plain old MP4?
View 4 Replies
View Related
Nov 16, 2010
Does anyone know how I can recorder on my phone in msm or another format that I can send to someone phone or email. Every time I try to load or send a video I am told its to big.
View 10 Replies
View Related
Dec 29, 2009
Don't know if anyone over here cares, but zefie over on SamsungMomentForum.com released a custom kernel with a bunch of fixes. Including a partial audio buffer fix, and a bunch of tweaks and optimizations. Also, persistent root so you can run a bunch of those programs on the market that require it. No WiFi tethering yet, but it is being worked on. Not sure if this includes the battery notification fix because I had already installed CL14 the other day and it's been working for me ever since. This was not difficult to install, once you have the software and drivers required, the update takes less than 30 seconds.
Here's a link:
Time for the first custom "ROM" (well kernel)
View 19 Replies
View Related
Nov 17, 2010
I am an Android app developer, and I have purchased a Nexus One device which I use to continuously test my developed Android applications.
Background: ----------------- One of the applications I developed uses a native shared library (e.g. myNativeLib.so). Only my application loads & uses this native library. I had developed this app before Android NDK came out. I pack my native library into my apk's 'assets' folder, and during my application start- up, I extract this native library from my package's assets folder to my app private directory (i.e. <assets> -> /data/data/<myappprocess>/ myNativeLib.so). Then I use System.load() API in my application to dynamically load this native library.
Problem: ------------ This application was developed during Android 1.5 (i.e. cupcake) days {I didn't have the Nexus One then}. The above procedure has been working without any problems right from Android 1.5 to Android 2.2 (i.e. Froyo). I have also tested the same on my Nexus One for Android 2.1 (i.e. Eclair) and Android 2.2.
The problem began the moment I recently upgraded my Nexus One to Android 2.2.1 via the FRG83 system update. Now, whenever I try to load my native library, I get the following error:
D/dalvikvm( 3653): Trying to load lib /data/data/<myappprocess>/ <mynativelib>.so <some address> I/dalvikvm( 3653): Unable to dlopen(/data/data/<myappprocess>/ <mynativelib>.so): Cannot load library: link_image[1995]: failed to link <mynativelib>.so
What I have Tried: -------------------------- 1. I tried my application using Android 2.2 SDK (emulator)...it works, no issues. 2. I checked out the latest froyo & android2.2.1 source code from Android open-source, built & tested my application + native lib using the latest froyo source...it built & ran, no issues. This should've taken care of any changes in the native code dependencies between Android 2.2 & Android 2.2.1 3. I even checked Android 2.2.1 source code for dalvik (java System & Runtime classes) + bionic (linker & dlopen sources) between Android 2.2 & Android 2.2.1 (using source checked out from Android open-source), but couldn't find anything consequential 4. I am unable to return my Nexus One to Android 2.2.
View 3 Replies
View Related
Mar 10, 2009
I want to send audio stream to internet directly, instead of store in the file. But the output of MediaRecord only supports file by seting setOutputFile(String path) , not OutputStream. Is there any methods to do this?
View 2 Replies
View Related
Jun 7, 2009
How do I record some audio using Android?
View 1 Replies
View Related
Jul 22, 2010
Is it possible to record an audio (not a phone call) using the blue tooth input and not the device microphone? I am able to playback whatever am saying through device's mic but not able to figure out how to use the blue tooth mic instead. Any assistance would be greatly appreciated.
View 1 Replies
View Related
Jul 21, 2010
I try to record audio using android ndk. people say I can use "frameworks/base/media/libmedia/AudioRecord.cpp". but it is in kernel. how can I access and use it?
View 2 Replies
View Related
Aug 20, 2010
How to put on pause? I have not found such a function. There are other ways?
View 1 Replies
View Related