mirror of
https://github.com/XProger/OpenLara.git
synced 2025-08-17 18:36:43 +02:00
android: main activity: fix null pointer exceptions
Let's try/catch null pointer exceptions on Android devices with no audio support. Bug: https://github.com/XProger/OpenLara/issues/69 Signed-off-by: Carlos Santa <santa@gmail.com>
This commit is contained in:
@@ -194,10 +194,22 @@ class Sound {
|
|||||||
int rate = 44100;
|
int rate = 44100;
|
||||||
int size = AudioTrack.getMinBufferSize(rate, AudioFormat.CHANNEL_OUT_STEREO, AudioFormat.ENCODING_PCM_16BIT);
|
int size = AudioTrack.getMinBufferSize(rate, AudioFormat.CHANNEL_OUT_STEREO, AudioFormat.ENCODING_PCM_16BIT);
|
||||||
//System.out.println(String.format("sound buffer size: %d", bufSize));
|
//System.out.println(String.format("sound buffer size: %d", bufSize));
|
||||||
buffer = new short [size / 2];
|
buffer = new short[size / 2];
|
||||||
|
|
||||||
|
try {
|
||||||
audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, 44100, AudioFormat.CHANNEL_OUT_STEREO,
|
audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, 44100, AudioFormat.CHANNEL_OUT_STEREO,
|
||||||
AudioFormat.ENCODING_PCM_16BIT, size, AudioTrack.MODE_STREAM);
|
AudioFormat.ENCODING_PCM_16BIT, size, AudioTrack.MODE_STREAM);
|
||||||
|
}catch (IllegalArgumentException e){
|
||||||
|
System.out.println("Error: buffer size is zero");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
audioTrack.play();
|
audioTrack.play();
|
||||||
|
}catch (NullPointerException e){
|
||||||
|
System.out.println("Error: audioTrack null pointer on start()");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
new Thread( new Runnable() {
|
new Thread( new Runnable() {
|
||||||
public void run() {
|
public void run() {
|
||||||
@@ -220,17 +232,29 @@ class Sound {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void stop() {
|
void stop() {
|
||||||
|
try {
|
||||||
audioTrack.flush();
|
audioTrack.flush();
|
||||||
audioTrack.stop();
|
audioTrack.stop();
|
||||||
audioTrack.release();
|
audioTrack.release();
|
||||||
|
}catch (NullPointerException e){
|
||||||
|
System.out.println("Error: audioTrack null pointer on stop()");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void play() {
|
void play() {
|
||||||
|
try {
|
||||||
audioTrack.play();
|
audioTrack.play();
|
||||||
|
}catch (NullPointerException e){
|
||||||
|
System.out.println("Error: audioTrack null pointer on play()");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void pause() {
|
void pause() {
|
||||||
|
try {
|
||||||
audioTrack.pause();
|
audioTrack.pause();
|
||||||
|
}catch (NullPointerException e){
|
||||||
|
System.out.println("Error: audioTrack null pointer on pause()");
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user