
Audio::Play - interface for Audio::Data to hardware

use Audio::Data; use Audio::Play; $audio = Audio::Data->new(...) $svr = Audio::Play->new; $svr->play($audio);

Audio::Play is an wrapper class which loads Audio::Play::$^O i.e. a per-platform driver.
Each class provides the following interface:
Create the server and return an object. $wait is supposed to determine whether to wait for device (and for how long) but is currently not really working for many devices.
Set sample rate (if possible) to $rate.
Return sample rate.
Play $audio via the hardware. Should take steps to match hardware and data's sampling rate.
Set gain (if possible).
Wait for playing to complete.
Destructor flushes and closes hardware.

Nick Ing-Simmons <Nick@Ing-Simmons.net>, but sub-modules have been collected from wide variety of places.