المفهوم
الصوت المكاني يحاكي اتجاه ومسافة مصدر الصوت. توفر Web Audio API عقدة PannerNode ومستمع AudioListener. تحريك المصدر في فضاء ثلاثي الأبعاد يخلق توضعاً مكانياً واقعياً.
الكود
// Spatial audio: panning follows position
// Web Audio API PannerNode example
let ctx, panner, osc;
function setup() {
createCanvas(400, 280);
let btn = createButton('Start audio');
btn.position(10, 10);
btn.mousePressed(() => {
ctx = new (window.AudioContext || window.webkitAudioContext)();
osc = ctx.createOscillator();
panner = ctx.createPanner();
panner.panningModel = 'HRTF';
panner.distanceModel = 'inverse';
osc.connect(panner);
panner.connect(ctx.destination);
osc.frequency.value = 440;
osc.start();
btn.remove();
});
}
function draw() {
background(11, 15, 20);
if (panner) {
let x = map(mouseX, 0, width, -5, 5);
let z = map(mouseY, 0, height, -5, 5);
panner.positionX.value = x;
panner.positionZ.value = z;
}
fill(55,227,195); noStroke();
ellipse(mouseX, mouseY, 14, 14);
fill(255,255,255,50);
text('Move → hear panning', 20, height-20);
}للمزيد
استكشف الدورات المجانية الأخرى على صفحة الورش.
تدرب، تعاون، انشر — في 15 دقيقة.
← احجز مكالمة