// Use this for initialization void Start() { _grabber = new GstUnityAudioGrabber(); _grabber2 = new GstCustomAudioGrabber(); _grabber2.Init("filesrc location=\"" + AudioFile + "\" ! decodebin3 ! audioconvert ! audioresample", Channels, SampleRate); _osc = new Oscillator(); _osc.SetNote(70); _grabber.Init(_osc.SamplesCount() * 10, 1, AudioSettings.outputSampleRate); float[] data = new float[_grabber.BufferLength]; for (int i = 0; i < data.Length; ++i) { data [i] = _osc.Sample(); } _data = data; _streamer = new GstAppNetAudioStreamer(); _streamer.AttachGrabber(_grabber2); _grabber2.Start(); _streamer.SetIP("127.0.0.1", 5001); _streamer.CreateStream(); _streamer.Stream(); }
// Use this for initialization void Start() { Oscillator _osc; _osc = new Oscillator(); _osc.SetNote(70); int samples = (int)Mathf.Ceil((float)BufferLength / (float)_osc.SamplesCount()) * _osc.SamplesCount(); for (int i = 0; i < BufferLength; ++i) { _samplesBuffer.Add(_osc.Sample()); } }
// Update is called once per frame void Update() { if (_osc.Note != Note) { _osc.SetNote(Note, SamplingRate); } _samplesBuffer.Clear(); for (int i = 0; i < BufferLength; ++i) { _samplesBuffer.Add(_osc.Sample()); } Samples.Invoke(_samplesBuffer); }