Less lag for audio, fixed high CPU usage in background mode

This commit is contained in:
pelya
2010-11-23 20:48:36 +02:00
parent 4bc5978d78
commit 34c99e1f07
4 changed files with 21 additions and 7 deletions

View File

@@ -20,12 +20,12 @@ import java.lang.Thread;
class AudioThread {
private Activity mParent;
private MainActivity mParent;
private AudioTrack mAudio;
private byte[] mAudioBuffer;
private int mVirtualBufSize;
public AudioThread(Activity parent)
public AudioThread(MainActivity parent)
{
mParent = parent;
mAudio = null;
@@ -35,13 +35,15 @@ class AudioThread {
public int fillBuffer()
{
if( Globals.AudioBufferConfig == 0 && mAudio.getPlaybackHeadPosition() * 1000 / mAudio.getPlaybackRate() >= 30 )
if( Globals.AudioBufferConfig == 0 )
mAudio.flush();
mAudio.write( mAudioBuffer, 0, mVirtualBufSize );
if( mParent.isPaused() )
{
try{
Thread.sleep(10);
} catch(InterruptedException e) {}
Thread.sleep(200);
} catch (InterruptedException e) {}
}
mAudio.write( mAudioBuffer, 0, mVirtualBufSize );
return 1;
}