JOAL学习笔记 第六课 高级加载方式与错误处理

这篇JOAL学习笔记详述了在修复原文错误和适配JDK1.5以上版本后的高级加载方法,包括数组越界、大括号缺失和调参问题的解决,以及如何处理编译警告。
摘要由CSDN通过智能技术生成

JOAL学习笔记

 

先是例行的连续代码页,修复了原文中的错误并增加了必要的修改。

import java.io.IOException;
import java.nio.ByteBuffer;
import java.util.Iterator;
import java.util.Vector;

import com.jogamp.openal.AL;
import com.jogamp.openal.ALC;
import com.jogamp.openal.ALCcontext;
import com.jogamp.openal.ALCdevice;
import com.jogamp.openal.ALFactory;
import com.jogamp.openal.util.ALut;

public class AdvALTest {
	private static AL al;
	private static ALC alc;
	private static Vector<String> loadedFiles = new Vector<>(); // 临时储存加载的文件路径

	private static Vector<Integer> buffers = new Vector<>(); // 储存所有被加载的缓冲区
	private static Vector<Integer> sources = new Vector<>(); // 储存所有合法的声源

	// Position of the source sounds.
	static float[] sourcePos = { 0.0f, 0.0f, 0.0f };

	// Velocity of the source sounds.
	static float[] sourceVel = { 0.0f, 0.0f, 0.0f };

	// Position of the listener.
	static float[] listenerPos = { 0.0f, 0.0f, 0.0f };

	// Velocity of the listener.
	static float[] listenerVel = { 0.0f, 0.0f, 0.0f };

	public static String getALErrorString(int err) {
		switch (err) {
		case AL.AL_NO_ERROR:
			return "AL_NO_ERROR";
		case AL.AL_INVALID_NAME:
			return "AL_INVALID_NAME";
		case AL.AL_INVALID_ENUM:
			return "AL_INVALID_ENUM";
		case AL.AL_INVALID_VALUE:
			return "AL_INVALID_VALUE";
		case AL.AL
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值