Home » Tipps & Tricks » Multimedia » Sound-Wiedergabe » Sound abhängig von der Bildposition abspielen

Sound abhängig von der Bildposition abspielen

Die Eigenschaft ‚pan‘ eines jeden Waveitems gibt die Balance an. Ein Wert von -10000 bedeutet, dass der Sound nur auf der linken Box ausgegeben wird, 0 auf beiden und 10000 spricht den rechten Lautsprecher an. Um nun einen beliebigen X-Wert auf diese Skala umzurechnen, reicht eine einfache Verhältnisgleichung:
Die Gleichung in Worten:
Der Pan-Wert verhält sich wie die X-Position des Objektes zu der Bildschirmbreite in Pixeln
Die Gleichung mathematisch:

pan = x/Bildschirmbreite

Die Gleichnung im Quelltext:

DxWaveList1.Items[0].Pan:=20000 * x div 640 - 10000;

Die 20000 und die -10000 sind nötig, damit man auch auf negative Ergebnisse kommt, also auch die linke Box ansprechen kann. X ist die Position (Left) des Objektes.
Dasselbe gilt nun auch für die Lautstärke, die eine Entfernung simulieren kann. Dazu braucht man natürlich einen Tiefenwert, z.B. z:

DxWaveList1.Items[0].Volume:=20000 * z div 100 - 10000;

Volume gibt die Lautstärke an.