1234567891011121314151617181920212223242526272829303132 |
- 'use strict';
- const spawn = require('child_process').spawn;
- /**
- * playArbitraryFFmpeg
- *
- * Will spawn a child process ffmpeg with specified parameters.
- * It will also concatenate some standard params that is needed
- * to output sound back into a VoiceConnection
- *
- * @param {VoiceConnection} objVoiceConnection A VoiceConnection instance from Discord.js
- * @param {array} arrFFmpegParams Your custom parameters to FFmpeg
- * @param {object} objOptions Optional stream options
- * @return {StreamDispatcher} Regular StreamDispatcher
- */
- const playArbitraryFFmpeg = function(objVoiceConnection, arrFFmpegParams, objOptions) {
- objOptions = objOptions || {};
- const arrStandardParams = [
- '-f', 'mp3',
- 'pipe:1'
- ];
- const arrFinalParams = arrFFmpegParams.concat(arrStandardParams);
- let ffmpeg = spawn('ffmpeg', arrFinalParams);
- return objVoiceConnection.playStream(ffmpeg.stdout, objOptions)
- };
- module.exports = playArbitraryFFmpeg;
|