Monday, December 28, 2009

Communicate with aliens on Nemerle (continued)

Previously, we are talking with aliens in C#. Now let's try to do the same on Nemerle.
See code below.

using System;

using System.Console;

using Nemerle.Utility;

using Alvas.Audio;

 

module Program

{

  Main() : void

  {

      rex.Data += RecorderEx.DataEventHandler(rex_Data);

      rex.Open += EventHandler(rex_Open);

      rex.Close += EventHandler(rex_Close);

      rex.Format = pcmFormat;

      rex.StartRecord();

      WriteLine("Please press enter to exit!");

      _ = ReadLine();

      rex.StopRecord();

  }

 

  rex : RecorderEx = RecorderEx(true);

  play : PlayerEx  = PlayerEx(true);

  pcmFormat : IntPtr  = AudioCompressionManager.GetPcmFormat(1, 16, 44100);

 

  rex_Open(_ : object, _ : EventArgs) : void

  {

      play.OpenPlayer(pcmFormat);

      play.StartPlay();

  }

 

  rex_Close(_ : object , _ : EventArgs) : void

  {

      play.ClosePlayer();

  }

 

  rex_Data(_ : object, e : DataEventArgs) : void

  {

      def data = AudioCompressionManager.Reverse(pcmFormat, e.Data);

      play.AddData(data);

  } 

}


Enjoy:)
The source code and precompiled examples are here. (AudioConsN.zip)

kick it on DotNetKicks.com

Shout it

No comments:

Post a Comment