Android :: Possible To Use Android.media.AudioTrack Class In Non Blocking Way?

Sep 29, 2009

I have some questions about the AudioTrack class that I can't seem to answer by reading the class documentation.Is it possible to use the android.media.AudioTrack class in a non- blocking way?If so, what conditions must be true to ensure that the write() method doesnt block?How do the position marker notifications work?They seem to be measured in "frames", what is a frame?Where can I find documentation on frames?When the marker notification occurs, is the callback made from a thread that called write() or from some other thread?

Android :: possible to use android.media.AudioTrack class in non blocking way?


Android :: How Do We Use AudioTrack Class?

Apr 23, 2009

I'm currently initiating the AudioTrack() for MODE_STREAM. I load some bytes using the write() and I see that it is working but once hit the play() call nothing happens. what is the matter? should I do something else that is not obvious? Any tips Google friends? My settings: streamType - STREAM_MUSIC sampleRateInHz - 44100 channel Config - CHANNEL _CONFIGURATION_STEREO audioFormat - ENCODING_PCM_16BIT bufferSizeInBytes - 256K the total size (in bytes) of the buffer where audio data is read from for playback. mode - MODE_STREAM.

View 21 Replies View Related

Android :: How To Realize AudioTrack Class In SDK 1.1?

Aug 10, 2009

There is a AudioTrack Class in SDK 1.5 which can play PCM buffer directly.But it is not exist in SDK 1.1. I want to play PCM buffer in SDK1.1,but i don't know how.

View 2 Replies View Related

Android :: AudioTrack Stop/release - AudioTrack Plays In The STREAM Mode

Dec 25, 2009

I need to stop the AudioTrack, regardless what's in the buffer, immediately when executing the stop/release. The AudioTrack plays in the STREAM mode. It appears that the AudioTrack finishes playing what's in the buffer and than stops. It seems that it's such a fundamental flaw since there are so many audio applications out there.

View 4 Replies View Related

Android :: How To Use Media Player In Library Class?

Feb 25, 2009

I have successfully implemented the Media Player for my apps, but when I tried to use some of the callback methods I ran into a problem.What I'm trying to do is use Media Player in a reusable (library) class.This MediaPlayer is created by passing the Activity Context to it's constructor.I then use getApplicationContext to avoid any potential memory leaks.This works well and I'm quite happy with it.My problem is trying to use callbacks.When I implement MediaPlayer.OnPreparedListener in my class.I believe this is due to the class itself not being an Activity.When I implemented the callbacks in a separate test project, the mp.prepare () works fine. I cannot use a passed context to my library class, as that would require the Activity to implement the listener and not my library class. How can I create a library class that creates/uses MediaPlayer and it's callbacks without making it extend Activity?Is this not possible?

View 3 Replies View Related

Android :: Class Name Of Media Scanner Service?

Sep 1, 2010

What is the class name of media scanner service?

View 2 Replies View Related

Android :: Getting Streaming Audio To Play With Media Player Class?

Jul 21, 2010

I am currently new to android development I been working on the examples in the Dev Guide in the android website. I want to get a stream from a server I have to play in the emulator when I insert the url it doesn't seam to want to play. My question is there a way to get the emulator to play audio or is it all enabled also does MediaPlayer require a special kind of format like mp3 or ogg? his is the code i am running on my 'onCreate()' method.
MediaPlayer mp - new MediaPlayer();
mp.setDataSource(MY_URL_);
mp.prepare();
mp.start()

View 1 Replies View Related

Android :: Media Recorder Class To Record Audio / Permission Denied

Jun 4, 2010

I'm new in Android development and I have the next question/problem. I'm playing around with the Media Recorder class to record just audio from the microphone. I'm following the steps indicated in the official ://developer.android.com/reference/android/media/MediaRecorder.html
So I have a method that initializes and configure the Media Recorder object in order to start recording. Here you have the code:
//initializes audio recorder
//configure the input sources
mrecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
//set the output format
mrecorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
//set the audio encoding
mrecorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT)

View 1 Replies View Related

Android :: Media Recorder Class Setting Audio Source / Unsupported Parameter

Jun 9, 2010

I'm new in Android development and I have the next question/problem. I'm playing around with the Media Recorder class to record just audio from the microphone. I'm following the steps indicated in the official site:
http://developer.android.com/reference/android/media/MediaRecorder.html

So I have a method that initializes and configure the MediaRecorder object in order to start recording. Here you have the code:
this.mr = new MediaRecorder();
this.mr.setAudioSource(MediaRecorder.AudioSource.MIC);
this.mr.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
this.mr.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
this.mr.setOutputFile(this.path + this.fileName);
try { this.mr.prepare();
} catch (IllegalStateException e) { Log.d("Syso", e.toString());
e.printStackTrace();
} catch (IOException e) { Log.d("Syso", e.toString());
e.printStackTrace();
}

When I execute this code in the simulator, thanks to logcat, I can see that the method setAudioSource(MediaRecorder.AudioSource.MIC) gives the next error (with the tag audio_ipunt) when it is called:
ERROR/audio_input(34): unsupported parameter: x-pvmf/media-input-node/cap-config-interface;valtype=key_specific_value
ERROR/audio_input(34): VerifyAndSetParameter failed

And then when the method prepare() is called, I get the another error again:
ERROR/PVOMXEncNode(34): PVMFOMXEncNode-Audio_AMRNB::DoPrepare(): Got Component OMX.PV.amrencnb handle

If I start to record by calling the method start(). I get lots of messages saying:
AudioFlinger(34):RecordThread: buffer overflow
Then after stop and release, I can see that a file has been created, but it doesn't seem that it been well recorded. Anyway, if I try this in a real device I can record with no problems, but I CAN'T play what I just recorded. I guess that the key is in these errors that I've mentioned before.

View 5 Replies View Related

Android :: How To Use AudioRecord And AudioTrack?

Apr 30, 2009

I want to use AudioRecord and AudioTrack classes(in SDK 1.5) in my program. Where can I find how to use it. Is there any API demo program for this?. If not it is greatly appreciated if someone can post a sample code in this forum.

View 7 Replies View Related

Android :: How To Play Music From AudioTrack

Feb 15, 2010

I want to play music from online mp3 link.I am reading the music data into a stream and trying to play it using audio track. But itz giving only noise.No music i could listen.Same buffer I can play in Media Player,But i could not play in audio track.

View 16 Replies View Related

Android :: AudioTrack - Clicking Sound

Dec 15, 2009

I am getting this clicking sound when playing static pcm data. Anybody out there is having the same problem? This is not the data issue.

View 7 Replies View Related

Android :: Synchronizing AudioTrack And AudioRecord

Jan 21, 2010

My application uses AudioTrack in streaming mode and AudioRecord simultaneously.My problem is that I start them at the same time, but I have no guarantee that they will actually start playback ecording in the same timestamp. The reason I need this kind of accuracy is because I use echo cancellation (subtracting audio played to speaker from the recording).My echo canceller doesn't require an exact delay, but the delay introduced between AudioTrack and AudioRecord moves in the range of 250ms (between different runs), and that's too much - each run is different because they start themselves asynchronously. The API doesn't provide me a way to make sure they start in the same time, so I thought about measuring this starting delay somehow and then using it in my calculation.Does anyone have an idea how to do that, utilizing their API or in any other way?

View 2 Replies View Related

Android :: Audio Stuttering When Using AudioTrack

Apr 13, 2010

I'm in the process of wring a music player that can play SID tracks (music from the Commodore 64), and everything is progressing nicely, except that I sometimes get audio stuttering.The stuttering only happens when the player is in the background, and another application has focus. It's most noticeable when a cpu heavy app(like Google Earth) is running in the foreground.I have tried adjusting the priority of my thread and increasing the AudioTrack buffer size, but nothing has solved the stuttering problem.I believe the problem is that generating the audio takes quite a lot of cycles (I'm at 15-30% cpu load), and that my audio thread is being starved and cant keep up with AudioTrack's constant need for data.I'm must be doing something wrong, I can't imagine that gui threads should be able to starve a high priority audio thread.I hope someone have some ideas on how to get my player stutter free, as I'm at a loss :)

View 9 Replies View Related

Android :: Memory Leak In AudioTrack?

Jun 27, 2009

If I create and release multiple AudioTrack objects, the GREF count continually increases which eventually causes an application crash. Even with a forced garbage collection, I end up with the same high GREF count at the end of the loop.In my application, I continuously create AudioTracks from variable lenght buffers.I guess I can try and use a fixed size pool of AudioTracks each with a buffer large enough to fit my longest sound, and try and reuse them.Is there a better/correct way to completely clear resources used by an AudioTrack?

View 5 Replies View Related

Android :: AudioTrack Sanity Test

Oct 2, 2009

I am trying to determine if I should go the ndk way to work on a music synth app, but first wanted to do a sanity check in the java layer by testing how many sine tones i could play concurrently, and so I tried this. And it's pretty low: I can only play about 4 or 5 tones before the obtainBuffer timeouts start increasing in number. Also, changing the media volume while the tones are playing disrupts the output.

View 3 Replies View Related

Android :: AudioTrack - Clicking Error

Jan 21, 2010

I am trying to resolve the clicking problem while using the AudioTrack. It takes place only when playing the first part of the wave (pcm) buffer when the offset to the write is 0 (zero). track.write(buffer, offset, minBufferSize); It tells me that there is something wrong with the pcm data. Could it be because the wave data, I generate using Audacity, has some header as opposed to the pure pcm which does not? I was looking for the converter tools to generate pure pcm but found none. Applications I found generate only wave data so I am not able to test this assumption. At this point I am sure that filling the buffer is correct. Any ideas?

View 2 Replies View Related

Android :: Service + AudioTrack - WAKE_LOCK?

Jan 25, 2010

I'm currently writing an app that uses a Service. A thread in the service generates an infinite stream of audio, and writes it to the AudioTrack. I want the audio to keep playing indefinitely until the user stops it. Based on my understanding of the PowerManager class, it looks like I should need a PARTIAL_WAKE_LOCK to keep the CPU awake so the audio can continue playing.

However, I left the audio playing on my phone with no wake lock, running on battery, in airplane mode, with all five items on the power control widget disabled, and the audio just kept right on playing for at least 15 minutes. Afterwards, I looked at the battery history, and it showed "Running (100%)", even though the Partial wake usage was negligible. Is there something special about AudioTrack which prevents the CPU from entering its deep sleep state? Should it be necessary for my service to grab a PARTIAL_WAKE_LOCK and its associated permission?

View 2 Replies View Related

Android :: AudioTrack Stop - Release ?

Dec 16, 2009

It doesn't seems as if the the stop and release immediately terminates the audio played by the MODE_STREAM track. It looks like it finishes playing the rest of the buffer and then stops.

View 3 Replies View Related

Android :: Creating A New Class Using Eclipse New Java Class Dialog Box

Jul 7, 2010

I'm creating a new class, using eclipse "New Java Class" dialog box. I can write the superclass I want (I can't find using "browse" button), but I can't write or select an interface to implement. I click "add" but ther is nothing to select. What I'm doing wrong?

View 4 Replies View Related

Android :: AudioTrack Start Called From Thread

Dec 8, 2009

I am getting the 'AudioTrack::start called from thread' when starting an AudioTrack. I am using it in a thread. I asume I shouldn't but why? I see it as a major limitation.

View 4 Replies View Related

Android :: Is AudioTrack Fundamentally Designed To Be Singleton?

Dec 14, 2009

Is the AudioTrack fundamentally designed to be a singleton? Methods on the OnPlaybackPositionUpdateListener receive just one argument, which is the AudioTrack itself. And since the AudioTrack does not have getTag/setTag methods I don't see any way to distinguish among multiple AudioTracks in the OnPlaybackPositionUpdateListener methods short of keeping track of references. So, if it's so why it's not implemented as a singleton? Any thoughts. I am trying to implement concurrent use of the AudioTrack. Anybody has any experience with this approach? Am I wasting time?

View 3 Replies View Related

Android :: Increase Speaker Volume Using AudioTrack

Jun 26, 2009

how to increase the volume of speaker using AudioTrack? the streamed audio is playing in speaker, but not loud as voice call. Here my code..............

View 2 Replies View Related

Android :: AudioTrack Cutting Audio Short

Dec 15, 2009

I am trying to play a 0.1s tone using audio track. I have done this succesfully in stream mode by calling play() then writing the array of short containing the data. However when I use STATIC mode and also in stream mode if I write the data before i call play() only about 0.06s of the audio is played. I have tried changing the buffer size but this has not effect.My understanding is that I have to write the data before I call play for static mode to work. Does anyone know what could be going wrong here?

View 5 Replies View Related

Android :: Continuous Raw Audio Playback Using AudioTrack

Dec 29, 2009

I am trying to play raw audio samples ( 16 bit, stereo, @ 32000KHz) using AudioTrack, in "MODE_STREAM" mode. I could play the first video buffer successfully but, After having received "onMarkerReached" for that raw audio buffer, I wonder how to push more audio data in AudioTrack ? without closing/stopping it. Writing more data to AudioTrack in "onMarkerReached" callback does not help. I am using the same thread to construct the AudioTrack and pump in audio - buffers and receive callbacks.

View 2 Replies View Related

Android :: ObtainBuffer Timed Out In AudioTrack.write

Sep 1, 2010

After stopping and restarting playback of an audiotrack stream, on some devices I consistently get;

W/AudioTrack( 2453): obtainBuffer timed out (is the CPU pegged?) 0x64acc0 user=00010000, server=00000000

after freezing for a couple of seconds. This happens whether I just pause() and flush() my audiotrack or release() and recreate it.

View 4 Replies View Related

Android :: AudioTrack - 51 - WARNING - ObtainBuffer() Timed Out

Nov 4, 2009

I am using MediaPlayer to play background music and SoundPool to play sound effects. All Audio data is stored in .ogg file format. Sometimes it happens that the MediaPlayer playback is interrupted for a fraction of a second if SoundPool.play() is called. Whenever this happens, the following two warnings are printed to logcat:

11-04 01:49:05.113: WARN/AudioTrack(51): obtainBuffer timed out (is the CPU pegged?) 0x2b6e8 user=000cc520, server=000cb710 11-04 01:49:05.113: WARN/AudioTrack(51): *** SERIOUS WARNING *** obtainBuffer() timed out but didn't need to be locked. We recovered, but this shouldn't happen (user=000cc520, server=000cb710)

Do you have any ideas what could cause the warning messages and/or how to avoid them? I.e. how to prevent SoundPool.play() from interrupting MediaPlayer playback?

An other warning that's sometimes appearing is: 11-04 01:55:49.793: WARN/AudioFlinger(51): write blocked for 89 msecs There seems to be no connection to the above messages, but do you have any ideas what causes this message and/or how to avoid it?

Here's some more detailed background information, maybe they are useful: My OpenGL powered game is split into three threads: One for rendering, one to take care about the game logic and the main thread to process user input. All Audio data is accessed through a central AudioManager class, which is only used in the game logic thread. (So this does not seem like a threading issue. Needless to say that synchronizing all methods has not solved the problem). The game runs smoothly at ~60 frames per second. According to DDMS the game causes ~33% system load (~10% in kernel space and ~23% in user space) on a G1. Even the idle task gets ~24% CPU time assigned while the game is running and input happens through the touch screen! (So it does not look like a performance problem) The MediaPlayer playback interruption always happens if SoundPool.play () is called in response of a touch screen input. Although touch screen input and SoundPool.play() happen in different threads. I've tried suspending the UI thread for various different delays between 8 and 32 msec after a MotionEvent has been processed, but again, without success...

View 3 Replies View Related

Android :: Communicating Between Receiver Class And An Activity Class

Jul 14, 2010

I'm just getting into Android development, and I have a question about communicating between a receiver class and an activity class. I'm very new to JAVA and Android so I hope I don't sound too stupid. I'm developing an application where I intercept an SMS message and then based on various elements of that SMS I might delete it once it's been saved to the inbox. I have a receiver class that intercepts the txt message, and I am also able to delete messages from my inbox with code in the activity class using a button at the moment. The problem I have is communicating between the receiver class and the activity class where the code to delete a message resides. I tried putting that code directly into the receiver class but as I'm sure most of you already know the BroadcastReceiver class doesn't seem to support what I need to delete messages. I've been searching for an answer to this for a while, but haven't been able to find anything. Honestly I'm not sure I know enough about JAVA and Android to even recognize a solution if I saw it.

View 2 Replies View Related

Android :: Accessing Class Level Stuff From Inner Class

Jun 27, 2010

What I want to do, is be able to access the object neoApi inside the Neoseeker class, from its inner class RunningTimer. Now, in my code, you can see what I would think to work, but when I run my application, nothing pops up. Nothing inside my TextView, no Toast, nothing at all. How can I remedy this?

package com.neoseeker.android.app;
import java.util.Timer;
import java.util.TimerTask;
import org.json.JSONObject;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;.......................

View 1 Replies View Related

Android :: Access Application Class From Class Other Then Activity

Sep 8, 2010

I'm new to Java and android development. In my application I need data which is accessible for a few activities. I've read that a good solution is to use Application class for this. So I use it like this:

public class MyApplication extends Application {
private String str;
public String getStr(){
return str;
}
public void setStr(String s){
str = s;
}
}

and I can access this variable from activity like this:........................................

View 2 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved