The pan() function is an inbuilt function in p5.js library. This function is used to control the panning the played audio on the web. This function has a range of between (-1) which means the left side to (1) which means the right side. This panning also can be controllable by a slider by dividing that in different ranges.
Syntax:
pan(panValue, timeFromNow)
Note: All the sound-related functions only work when the sound library is included in the head section of the index.html file.
Parameter: This function accepts two parameters as mentioned above and described below:
- panValue: This parameter is used to hold the stereo pan value and it is optional.
- timeFromNow: This parameter is used to holds an integer value of time in the second format, after that time the defining event will happen and it is optional.
Below examples illustrate the p5.pan() function in JavaScript:
Example 1: In this example, the audio will play at your left side after 4 seconds, then after 4 more seconds it will be played at the right side for the rest of the time.
var sound; function preload() { // Initialize sound sound = loadSound( "song.mp3" ); } function setup() { // Playing the preloaded sound sound.play(); //sound will play only left ear after 4 seconds sound.pan(-1, 4); //sound will play only right ear after 8 seconds sound.pan(1, 8); } |
Example 2: In this example, you can control the pan effect by a slider, left to right and vice-versa. Starting will be 0, which means both sides will be played.
var sound; var panner; function preload() { // Initialize sound sound = loadSound( "pfivesound.mp3" ); } function setup() { // Playing the preloaded sound sound.play(); //creating pan slider panner = createSlider(-1, 1, 0, 0.2); } function draw() { sound.pan(panner.value()); } |
Online editor: https://editor.p5js.org/
Environment Setup: https://www.geeksforgeeks.org/p5-js-soundfile-object-installation-and-methods/
Supported Browsers: The browsers supported by p5.js pan() function are listed below:
- Google Chrome
- Internet Explorer
- Firefox
- Safari
- Opera