JOAL学习笔记 第二课 循环与淡出

这篇JOAL学习笔记主要讲述了在使用OpenAL时遇到的问题。作者提醒,为了测试声源或听众位置变化的效果,应使用单声道音频,因为双声道音频会导致OpenAL忽略位置信息。此外,原文的循环使用了忙等待,建议改用sleep进行闲等待,以降低CPU资源消耗,尽管这会影响精度,但在声音淡出过程中是可接受的优化方案。
摘要由CSDN通过智能技术生成

JOAL学习笔记

 

先是例行的连续代码页

import java.nio.ByteBuffer;
import com.jogamp.openal.AL;
import com.jogamp.openal.ALC;
import com.jogamp.openal.ALFactory;
import com.jogamp.openal.util.ALut;
public class LoopingAndFadeaway {
  	static int[] buffer = new int[1];
  	static int[] source = new int[1];
  	static float[] sourcePos = { 0.0f, 0.0f, 0.0f };
  	static float[] sourceVel = { 0.0f, 0.0f, 0.1f };
  	static float[] listenerPos = { 0.0f, 0.0f, 0.0f };
  	static float[] listenerVel = { 0.0f, 0.0f, 0.0f };
  	static float[] listenerOri = { 0.0f, 0.0f, -1.0f, 0.0f, 1.0f, 0.0f };
  	static AL al;
  	static ALC alc;
        static int loadALData() {
            if (al.alGetError() != AL.AL_NO_ERROR) {
                return AL.AL_FALSE;
            }
            int[] format = new int[1];
            int[] size = new int[1];
            ByteBuffer[] data = new ByteBuffer[1];
            int[
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值