using System;
using System.Threading;
public class Test
{
public class Media
{
private Thread thread;
public Media()
{
thread = new Thread(new ThreadStart(Play));
}
private void Play()
{
string[] files = {"requiem", "the magic flute", "Le nozze di Figaro"};
for (int i=0; i < files.Length; i++)
{
Console.WriteLine("playing " + files[i]);
Thread.Sleep(3000);
}
}
public void PlaySound()
{
thread.Start();
}
public void StopSound()
{
// don't actually abort
// use flags etc
thread.Abort();
}
}
public static void Main()
{
Media m = new Media();
m.PlaySound();
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGhyZWFkaW5nOwoKcHVibGljIGNsYXNzIFRlc3QKewogICAgcHVibGljIGNsYXNzIE1lZGlhCiAgICB7CiAgICAgICAgcHJpdmF0ZSBUaHJlYWQgdGhyZWFkOwogICAgICAgIAogICAgICAgIHB1YmxpYyBNZWRpYSgpCiAgICAgICAgewogICAgICAgICAgICB0aHJlYWQgPSBuZXcgVGhyZWFkKG5ldyBUaHJlYWRTdGFydChQbGF5KSk7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHByaXZhdGUgdm9pZCBQbGF5KCkKICAgICAgICB7CiAgICAgICAgICAgIHN0cmluZ1tdIGZpbGVzID0geyJyZXF1aWVtIiwgInRoZSBtYWdpYyBmbHV0ZSIsICJMZSBub3p6ZSBkaSBGaWdhcm8ifTsKICAgICAgICAgICAgCiAgICAgICAgICAgIGZvciAoaW50IGk9MDsgaSA8IGZpbGVzLkxlbmd0aDsgaSsrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSgicGxheWluZyAiICsgZmlsZXNbaV0pOwogICAgICAgICAgICAgICAgVGhyZWFkLlNsZWVwKDMwMDApOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIAogICAgICAgIHB1YmxpYyB2b2lkIFBsYXlTb3VuZCgpCiAgICAgICAgewogICAgICAgICAgICB0aHJlYWQuU3RhcnQoKTsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgcHVibGljIHZvaWQgU3RvcFNvdW5kKCkKICAgICAgICB7CiAgICAgICAgICAgIC8vIGRvbid0IGFjdHVhbGx5IGFib3J0CiAgICAgICAgICAgIC8vIHVzZSBmbGFncyBldGMKICAgICAgICAgICAgdGhyZWFkLkFib3J0KCk7CiAgICAgICAgfQogICAgfQogICAgCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCiAgICB7CiAgICAgICAgTWVkaWEgbSA9IG5ldyBNZWRpYSgpOwogICAgICAgIAogICAgICAgIG0uUGxheVNvdW5kKCk7CiAgICB9Cn0=