xorg1990
New member
Hallo, ich habe zur Abwechslung mal keine frage über DSP.
Dieses mal habe ich ein Problem mit den Prototyping in Nodejs.
Aus Übersichtsgründen habe ich mich entschieden meine Server-Anwendung Objektorientiert zu Programmiren.
Ich habe 2 Dateien erstellt die main.js und die child.js in der GStremaer gespawnt wird.
main.js:
child.js:
Receive wird auch von stdout ausgeführt. Als Ausgabe erhalte ich in der main.js immer Undefined oder [Function], je nachdem ob ich mit this.GstreamerOutput oder return arbeite.
Return = [Function], this.GstreamerOutput = undefined.
PS.:Bin noch Neuling was OOP in JavaScript betrifft.
Huch Frage vergessen: Wie komme ich denn nun an die Daten von Receive ran innerhalb von main.js?
PSS.: das console.log steht nur aus Testzwecken in der main.js, eigentlich sollen die Daten der Methode „Receive“ in einen Buffer geschrieben werden.
Danke im Voraus xorg1990
Dieses mal habe ich ein Problem mit den Prototyping in Nodejs.
Aus Übersichtsgründen habe ich mich entschieden meine Server-Anwendung Objektorientiert zu Programmiren.
Ich habe 2 Dateien erstellt die main.js und die child.js in der GStremaer gespawnt wird.
main.js:
Code:
var GstreamerPipe = null;
var SampleRate = 96000;
var cmd = 'gst-launch-1.0';
var options = null;
var args = ['audiotestsrc freq=1500', '!', 'audioconvert', '!', 'audio/x-raw, rate='+SampleRate+', channels=1, format=F32LE, signed=true', '!','fdsink fd=1'];
var Gstreamer = require('./requires/child.js');
var GstreamerPipe = new Gstreamer(cmd, args, options);
console.log(GstreamerPipe.GstreamerOutput);
child.js:
Code:
var child = require('child_process');
//constructor
function Gstreamer(cmd, Args, Options){
this.cmd = cmd;
this.Args = Args;
this.Options = Options;
this.spawn();
}
Gstreamer.prototype.spawn = function(){
//Spawn the external Programm
var GstLaunch = child.spawn(this.cmd, this.Args, this.Options);
//var Receive = function(data){
// return data;
//}
//Error callbacks
GstLaunch.on('message', Message);
GstLaunch.stderr.on('data', onSpawnError);
GstLaunch.on('exit', onSpawnExit);
//Read from stdout
GstLaunch.stdout.on('data', this.Receive);
function Message(msg){;
console.log(msg.toString());
}
function onSpawnError(data){
console.log(data.toString());
}
function onSpawnExit(data){
if(data != null){
console.error('GStreamer error, exit code ' + data);
}
}
//this.GstreamerOutput = Receive;
}
Gstreamer.prototype.Receive = function(data){
this.GstreamerOutput = data;
}
module.exports = Gstreamer;
Receive wird auch von stdout ausgeführt. Als Ausgabe erhalte ich in der main.js immer Undefined oder [Function], je nachdem ob ich mit this.GstreamerOutput oder return arbeite.
Return = [Function], this.GstreamerOutput = undefined.
PS.:Bin noch Neuling was OOP in JavaScript betrifft.
Huch Frage vergessen: Wie komme ich denn nun an die Daten von Receive ran innerhalb von main.js?
PSS.: das console.log steht nur aus Testzwecken in der main.js, eigentlich sollen die Daten der Methode „Receive“ in einen Buffer geschrieben werden.
Danke im Voraus xorg1990
Zuletzt bearbeitet von einem Moderator: