mirror of
https://github.com/danbulant/Cosmos
synced 2026-05-27 14:02:19 +00:00
58 lines
1.3 KiB
C#
58 lines
1.3 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
|
|
using System.Windows;
|
|
using System.Windows.Media;
|
|
using System.Windows.Controls;
|
|
|
|
using System.IO;
|
|
|
|
namespace WPFMachine {
|
|
public class FrotzSound : UserControl {
|
|
MediaElement _element;
|
|
|
|
public FrotzSound() {
|
|
_element = new MediaElement();
|
|
_element.LoadedBehavior = MediaState.Manual;
|
|
this.Content = _element;
|
|
}
|
|
|
|
public void LoadSound(byte[] Sound) {
|
|
_element.Source = null;
|
|
|
|
String temp = null;
|
|
|
|
for (int i = 0; i < 1000 && temp == null; i++)
|
|
{
|
|
try
|
|
{
|
|
temp = String.Format("{0}\\{1}.aiff", Path.GetTempPath(), i);
|
|
|
|
FileStream fs = new FileStream(temp, FileMode.Create);
|
|
fs.Write(Sound, 0, Sound.Length);
|
|
fs.Close();
|
|
}
|
|
catch (System.IO.IOException)
|
|
{
|
|
i++;
|
|
|
|
temp = null;
|
|
}
|
|
}
|
|
|
|
if (temp != null)
|
|
{
|
|
_element.Source = new Uri("file:///" + temp);
|
|
}
|
|
}
|
|
|
|
public void PlaySound() {
|
|
_element.Play();
|
|
}
|
|
|
|
public void StopSound()
|
|
{
|
|
_element.Stop();
|
|
}
|
|
}
|
|
}
|