peony3000

Gadgeteer WiFi Music Stream (old)

May 2nd, 2012
143
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.71 KB | None | 0 0
  1. using System;
  2. using System.Threading;
  3. using Microsoft.SPOT;
  4. using Microsoft.SPOT.Presentation;
  5. using Microsoft.SPOT.Presentation.Controls;
  6. using Microsoft.SPOT.Presentation.Media;
  7. using Microsoft.SPOT.Touch;
  8.  
  9. using Gadgeteer.Networking;
  10. using GT = Gadgeteer;
  11. using GTM = Gadgeteer.Modules;
  12. using Gadgeteer.Modules.GHIElectronics;
  13.  
  14. using System.IO;
  15. using System.Net;
  16.  
  17. namespace Gadgeteer_Music_Stream_01
  18. {
  19.  
  20.     public partial class Program
  21.     {
  22.         int trackNumber;
  23.         string trackLink;
  24.  
  25.         void ProgramStarted()
  26.         {
  27.  
  28.             wifi.NetworkDown += new GTM.Module.NetworkModule.NetworkEventHandler(wifi_NetworkDown);
  29.             wifi.NetworkUp += new GTM.Module.NetworkModule.NetworkEventHandler(wifi_NetworkUp);
  30.  
  31.             // jump to the StartWiFi method that starts the WiFi
  32.             StartWiFi();
  33.  
  34.             // button press watching robot
  35.             button.ButtonPressed += new Button.ButtonEventHandler(button_ButtonPressed);
  36.  
  37.             // music finished listening robot
  38.             music.MusicFinished += new Music.MusicFinishedPlayingEventHandler(music_MusicFinished);
  39.  
  40.             // Use Debug.Print to show messages in Visual Studio's "Output" window during debugging.
  41.             Debug.Print("Program Started");
  42.         }
  43.  
  44.         void music_MusicFinished(Music sender)
  45.         {
  46.             Debug.Print("music finished");
  47.             trackNumber++;
  48.             if (trackNumber > 5)
  49.             {
  50.                 trackNumber = 0;
  51.             }
  52.         }
  53.  
  54.         void button_ButtonPressed(Button sender, Button.ButtonState state)
  55.         {
  56.             Debug.Print("track: " + trackNumber);
  57.             music.SetVolume(220);
  58.  
  59.             switch (trackNumber)
  60.             {
  61.                 case 0:
  62.                     trackLink = "http://www.dailywav.com/0112/singalong.wav";
  63.                     break;
  64.                 case 1:
  65.                     trackLink = "http://www.dailywav.com/0911/whatAwfulPeople.wav";
  66.                     break;
  67.                 case 2:
  68.                     trackLink = "http://www.dailywav.com/0511/disavowknowledge.wav";
  69.                     break;
  70.                 case 3:
  71.                     trackLink = "http://www.dailywav.com/0411/whataDramaQueen.wav";
  72.                     break;
  73.                 case 4:
  74.                     trackLink = "http://www.dailywav.com/0411/wontBreakRules.wav";
  75.                     break;
  76.                 case 5:
  77.                     trackLink = "http://www.dailywav.com/0411/eol_02.wav";
  78.                     break;
  79.             }
  80.             Debug.Print("trackLink: " + trackLink);
  81.             HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(trackLink);
  82.             music.Play(httpWebRequest.GetResponse().GetResponseStream());
  83.             while (music.IsBusy)
  84.             {
  85.                 Thread.Sleep(10);
  86.             }
  87.             httpWebRequest.Dispose();
  88.         }
  89.  
  90.         void StartWiFi()
  91.         {
  92.             wifi.UseDHCP();
  93.             Gadgeteer.Modules.GHIElectronics.WiFi_RS21.WiFiNetworkInfo info = new WiFi_RS21.WiFiNetworkInfo();
  94.             info.SSID = "net-name";
  95.             info.SecMode = WiFi_RS21.SecurityMode.WEP;
  96.             info.networkType = WiFi_RS21.NetworkType.AccessPoint;
  97.             wifi.Join(info, "net-pass");
  98.         }
  99.  
  100.  
  101.  
  102.         void wifi_NetworkDown(GTM.Module.NetworkModule sender, GTM.Module.NetworkModule.NetworkState state)
  103.         {
  104.             Debug.Print("network down: connecting....");
  105.  
  106.         }
  107.  
  108.         void wifi_NetworkUp(GTM.Module.NetworkModule sender, GTM.Module.NetworkModule.NetworkState state)
  109.         {
  110.             Debug.Print("network up");
  111.             Debug.Print(wifi.NetworkSettings.IPAddress);
  112.         }
  113.  
  114.     }
  115. }
Advertisement
Add Comment
Please, Sign In to add comment