mirror of
https://github.com/XProger/OpenLara.git
synced 2025-02-24 23:42:49 +01:00
Merge pull request #68 from csanta/master
android: minimp3: Avoid redefinition of datatypes fix null pointer exceptions on Android devices with no audio support.
This commit is contained in:
commit
7681180503
@ -44,6 +44,8 @@
|
||||
#ifdef _MSC_VER
|
||||
typedef unsigned __int64 uint64_t;
|
||||
typedef signed __int64 int64_t;
|
||||
#elif defined(__x86_64__) && defined(__linux__)
|
||||
#include <sys/types.h>
|
||||
#else
|
||||
typedef unsigned long long uint64_t;
|
||||
typedef signed long long int64_t;
|
||||
|
@ -194,10 +194,22 @@ class Sound {
|
||||
int rate = 44100;
|
||||
int size = AudioTrack.getMinBufferSize(rate, AudioFormat.CHANNEL_OUT_STEREO, AudioFormat.ENCODING_PCM_16BIT);
|
||||
//System.out.println(String.format("sound buffer size: %d", bufSize));
|
||||
buffer = new short [size / 2];
|
||||
audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, 44100, AudioFormat.CHANNEL_OUT_STEREO,
|
||||
AudioFormat.ENCODING_PCM_16BIT, size, AudioTrack.MODE_STREAM);
|
||||
audioTrack.play();
|
||||
buffer = new short[size / 2];
|
||||
|
||||
try {
|
||||
audioTrack = new AudioTrack(AudioManager.STREAM_MUSIC, 44100, AudioFormat.CHANNEL_OUT_STEREO,
|
||||
AudioFormat.ENCODING_PCM_16BIT, size, AudioTrack.MODE_STREAM);
|
||||
}catch (IllegalArgumentException e){
|
||||
System.out.println("Error: buffer size is zero");
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
audioTrack.play();
|
||||
}catch (NullPointerException e){
|
||||
System.out.println("Error: audioTrack null pointer on start()");
|
||||
return;
|
||||
}
|
||||
|
||||
new Thread( new Runnable() {
|
||||
public void run() {
|
||||
@ -220,17 +232,29 @@ class Sound {
|
||||
}
|
||||
|
||||
void stop() {
|
||||
audioTrack.flush();
|
||||
audioTrack.stop();
|
||||
audioTrack.release();
|
||||
try {
|
||||
audioTrack.flush();
|
||||
audioTrack.stop();
|
||||
audioTrack.release();
|
||||
}catch (NullPointerException e){
|
||||
System.out.println("Error: audioTrack null pointer on stop()");
|
||||
}
|
||||
}
|
||||
|
||||
void play() {
|
||||
audioTrack.play();
|
||||
try {
|
||||
audioTrack.play();
|
||||
}catch (NullPointerException e){
|
||||
System.out.println("Error: audioTrack null pointer on play()");
|
||||
}
|
||||
}
|
||||
|
||||
void pause() {
|
||||
audioTrack.pause();
|
||||
try {
|
||||
audioTrack.pause();
|
||||
}catch (NullPointerException e){
|
||||
System.out.println("Error: audioTrack null pointer on pause()");
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user