private void initialize(){ device = alcOpenDevice((ByteBuffer)null); if(device == 0L){ Application.error("Unable to open default audio device"); return; } ALCCapabilities deviceCaps = ALC.createCapabilities(device); if(!deviceCaps.OpenALC10){ Application.error("OpenALC10 Unsupported"); return; } context = alcCreateContext(device, (IntBuffer)null); if(context == 0L){ Application.error("Unable to create ALC Context"); return; } ALC10.alcMakeContextCurrent(context); AL.createCapabilities(deviceCaps); }
public SoundPlayer() { this.device = ALC10.alcOpenDevice((ByteBuffer) null); if (this.device == 0) { throw new IllegalStateException("Failed to open the default device."); } this.context = ALC10.alcCreateContext(this.device, (IntBuffer) null); if (this.context == 0) { throw new IllegalStateException("no context?"); } ALC10.alcMakeContextCurrent(this.context); ALCCapabilities deviceCaps = ALC.createCapabilities(this.device); AL.createCapabilities(deviceCaps); String deviceSpecifier = ALC10.alcGetString(this.device, ALC10.ALC_DEVICE_SPECIFIER); System.err.println("Using device " + deviceSpecifier); System.out.println("ALC_FREQUENCY: " + alcGetInteger(this.device, ALC_FREQUENCY) + "Hz"); System.out.println("ALC_REFRESH: " + alcGetInteger(this.device, ALC_REFRESH) + "Hz"); System.out.println("ALC_SYNC: " + (alcGetInteger(this.device, ALC_SYNC) == ALC_TRUE)); System.out.println("ALC_MONO_SOURCES: " + alcGetInteger(this.device, ALC_MONO_SOURCES)); System.out.println("ALC_STEREO_SOURCES: " + alcGetInteger(this.device, ALC_STEREO_SOURCES)); }
public void init() throws Exception { this.device = alcOpenDevice((ByteBuffer) null); if (device == NULL) { throw new IllegalStateException("Failed to open the default OpenAL device."); } ALCCapabilities deviceCaps = ALC.createCapabilities(device); this.context = alcCreateContext(device, (IntBuffer) null); if (context == NULL) { throw new IllegalStateException("Failed to create OpenAL context."); } alcMakeContextCurrent(context); AL.createCapabilities(deviceCaps); }
public static void init() { mainGain = 0.05f; device = alcOpenDevice((ByteBuffer)null); ALCCapabilities deviceCaps = ALC.createCapabilities(device); context = alcCreateContext(device, (IntBuffer)null); alcMakeContextCurrent(context); createCapabilities(deviceCaps); audioPlayers = new ArrayList<>(); alDistanceModel(AL_LINEAR_DISTANCE_CLAMPED); }
LwjglAudioDevice() { device = alcOpenDevice((ByteBuffer) null); ALCCapabilities deviceCaps = ALC.createCapabilities(device); context = alcCreateContext(device, (IntBuffer) null); alcMakeContextCurrent(context); AL.createCapabilities(deviceCaps); SilenceEngine.eventManager.addDisposeHandler(this::cleanUp); }
public ALSoundEnvironment() { device = alcOpenDevice((ByteBuffer) null); ALCCapabilities deviceCaps = ALC.createCapabilities(device); context = alcCreateContext(device, (int[]) null); if (!alcMakeContextCurrent(context)) { System.err.println("Failed to make context current."); } AL.createCapabilities(deviceCaps); setDistanceModel(DistanceModel.InverseDistance); }
public static void main(String[] args) { System.setProperty("org.lwjgl.librarypath", new File("natives/windows").getAbsolutePath()); String deviceName = ALC10.alcGetString(0, ALC10.ALC_DEFAULT_DEVICE_SPECIFIER); long device = ALC10.alcOpenDevice(deviceName); long context = ALC10.alcCreateContext(device, new int[] {0}); ALC10.alcMakeContextCurrent(context); ALCCapabilities alcCaps = ALC.createCapabilities(device); ALCapabilities alCaps = AL.createCapabilities(alcCaps); if (alCaps.OpenAL10) { String file = "C:\\Users\\Isaac\\Desktop\\workspace\\assets\\audio\\gunshot2.ogg"; MemoryStack.stackPush(); IntBuffer channelsBuf = MemoryStack.stackMallocInt(1); MemoryStack.stackPush(); IntBuffer sampleRateBuf = MemoryStack.stackMallocInt(1); ShortBuffer audioBuffer = STBVorbis.stb_vorbis_decode_filename(file, channelsBuf, sampleRateBuf); int channels = channelsBuf.get(); int sampleRate = sampleRateBuf.get(); MemoryStack.stackPop(); MemoryStack.stackPop(); int format = -1; if (channels == 1) { format = AL10.AL_FORMAT_MONO16; } else if (channels == 2) { format = AL10.AL_FORMAT_STEREO16; } int buffer = AL10.alGenBuffers(); AL10.alBufferData(buffer, format, audioBuffer, sampleRate); Stdlib.free(audioBuffer); int[] sources = new int[4]; AL10.alGenSources(sources); for (int source : sources) { AL10.alSourcei(source, AL10.AL_BUFFER, buffer); AL10.alSourcei(source, AL10.AL_LOOPING, AL10.AL_TRUE); } float length = (float) (AL10.alGetBufferi(buffer, AL10.AL_SIZE) / 2 / channels) / sampleRate; try { AL10.alSourcePlay(sources[0]); Thread.sleep((long) (length * 250)); AL10.alSourcePlay(sources[1]); Thread.sleep((long) (length * 250)); AL10.alSourcePlay(sources[2]); Thread.sleep((long) (length * 250)); AL10.alSourcePlay(sources[3]); } catch (InterruptedException e) { e.printStackTrace(); } finally {} new Scanner(System.in).nextLine(); AL10.alSourceStopv(sources); AL10.alDeleteSources(sources); AL10.alDeleteBuffers(buffer); } ALC10.alcDestroyContext(context); ALC10.alcCloseDevice(device); ALC.destroy(); }