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();
 | |
| 
 | |
| }
 |