public class OpenALSound implements Sound {\r
private int bufferID = -1;\r
private final OpenALAudio audio;\r
- private int streamID;\r
\r
public OpenALSound (OpenALAudio audio) {\r
this.audio = audio;\r
}\r
\r
public void play (float volume) {\r
- streamID = audio.obtainStream(false);\r
+ int streamID = audio.obtainStream(false);\r
if (streamID == -1) return;\r
alSourceStop(streamID);\r
alSourcei(streamID, AL_BUFFER, 0);\r
}\r
\r
public void loop () {\r
- streamID = audio.obtainStream(false);\r
+ int streamID = audio.obtainStream(false);\r
if (streamID == -1) return;\r
alSourceStop(streamID);\r
alSourcei(streamID, AL_BUFFER, 0);\r
alSourcePlay(streamID);\r
}\r
\r
- public void stop () {\r
- if (streamID == -1) return;\r
- alSourceStop(streamID);\r
- alSourcei(streamID, AL_BUFFER, 0);\r
- streamID = -1;\r
- }\r
-\r
public void dispose () {\r
if (bufferID == -1) return;\r
- if (streamID != -1) {\r
- alSourceStop(streamID);\r
- alSourcei(streamID, AL_BUFFER, 0);\r
- streamID = -1;\r
- }\r
alDeleteBuffers(bufferID);\r
bufferID = -1;\r
}\r