36 lines
		
	
	
		
			868 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
		
		
			
		
	
	
			36 lines
		
	
	
		
			868 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
|  | <?php | ||
|  | 
 | ||
|  | require_once __DIR__."/../vendor/autoload.php"; | ||
|  | 
 | ||
|  | use NoccyLabs\PulseAudio\PulseAudio; | ||
|  | 
 | ||
|  | $pulse = new PulseAudio(); | ||
|  | 
 | ||
|  | // Find the client
 | ||
|  | $inputs = $pulse->getSinkInputs(); | ||
|  | foreach ($inputs as $input) { | ||
|  |     if ($input->getProperty('application.name') == 'Audacious') { | ||
|  |         echo "Found audacious on input #".$input->getIndex()."\n"; | ||
|  |         record($pulse, $input, "output.wav"); | ||
|  |     } | ||
|  | } | ||
|  | 
 | ||
|  | function record($pulse, $input, $filename) | ||
|  | { | ||
|  |     echo "Creating null sink...\n"; | ||
|  |     $recSink = $pulse->createNullSink(); | ||
|  |      | ||
|  |     echo "Creating recorder...\n"; | ||
|  |     $recorder = $recSink->createRecorder(); | ||
|  |     $recorder->setFilename($filename); | ||
|  |      | ||
|  |     echo "Moving audacious to the null sink with index #".$recSink->getIndex()."...\n"; | ||
|  |     $input->moveToSink($recSink); | ||
|  | 
 | ||
|  |     echo "Recording 5 seconds...\n"; | ||
|  |     $recorder->start(); | ||
|  |     sleep(5); | ||
|  |     $recorder->stop(); | ||
|  | 
 | ||
|  | } |