The A/B Audio Sync plugin for WordPress allows developers to queue two songs (WAV,
MP3, any format the web browser can handle) and play one at a time, with a toggle
switch between them. This gives users the ability to switch tracks quickly, without
losing the track time, to hear differences in audio tracks.
This is great for demonstrating audio enhancement technology or production/post-production
mixes or even the differences between audio format quality.
- Download the plugin and unzip to your wp-content/plugins directory
- Alternatively, just upload the zip file via the WordPress plugins UI
- Activate plugin via WordPress admin
Include the following elements on your page or post
Replace PATH_TO_AUDIO_A and PATH_TO_AUDIO_B, of course with your own files. File type will be dependent on browser support.
This has been tested with MP3 and WAV audio files with no issues on Google Chrome.
The plugin looks for HTML objects with the class of audio-sync-group as its starting point.
From there, it will look for two link (a) or audio elements that have the class audio-sync-a or audio-sync-b. There
can be only one of each within an audio group. There must also be audio-btn-sync-play
button to control play / stop.
There can be multiple audio groups on the same page and they will all act independently from eachother. This is
ideal for a “showcase” type of page with many A/B comparisons happening in one view.
Apple iOS mobile users — Web Audio API is not fully, nor correctly, implemented in iPhone devices. If you experience
issues with this plugin, please enable debug logging (see support forum sticky thread) and open a ticket.
Contributors & Developers
“A/B Audio Sync” is open source software. The following people have contributed to this plugin.Contributors
- COMPLETE REWRITE
- Enhancement: Mobile support! Tested on Android 7.0, 4.4.4 Chrome and iPhone 6 Safari.
- Enhancement: Moved to Web Audio API with HTML5 audio fallback
- Enhancement: Added several new dataset options (see examples)
- Enhancement: Added automatic toggle between tracks using timer
- Change: Removed HTML5 audio players
- Fix: Warning message due to static method reference
- Enhancement: Added “disable right-click menu” using “data-show-menu” HTML5 attribute
- Improvement: User-selected volume now persists between play/pause cycles
- Fix: Incorrect resume state after pause
- Enhancement: Added “stop” button support using “data-stop” HTML5 attribute
- Improvement: Removed dependency that buttons be direct children of the group
- Improvement: Pause / Play button now re-synchronizes timing
- Fix: Race condition between “readyState” and “canplay”
- Enhancement: Added support for multiple A/B audio groups
- Improvement: Removed dependency on HTML IDs
- Fix: Audio synchronization timing