コード例 #1
0
    // 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();
    }
コード例 #2
0
        // 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());
            }
        }
コード例 #3
0
 // 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);
 }