using System;
using System.Media;
namespace DotNet.Utilities
{
///
/// 处理多媒体的公共类
///
public class MediaHandler
{
#region 同步播放wav文件
///
/// 以同步方式播放wav文件
///
/// SoundPlayer对象
/// wav文件的路径
public static void SyncPlayWAV(SoundPlayer sp, string wavFilePath)
{
try
{
//设置wav文件的路径
sp.SoundLocation = wavFilePath;
//使用异步方式加载wav文件
sp.LoadAsync();
//使用同步方式播放wav文件
if (sp.IsLoadCompleted)
{
sp.PlaySync();
}
}
catch (Exception ex)
{
string errStr = ex.Message;
throw ex;
}
}
///
/// 以同步方式播放wav文件
///
/// wav文件的路径
public static void SyncPlayWAV(string wavFilePath)
{
try
{
//创建一个SoundPlaryer类,并设置wav文件的路径
SoundPlayer sp = new SoundPlayer(wavFilePath);
//使用异步方式加载wav文件
sp.LoadAsync();
//使用同步方式播放wav文件
if (sp.IsLoadCompleted)
{
sp.PlaySync();
}
}
catch (Exception ex)
{
string errStr = ex.Message;
throw ex;
}
}
#endregion
#region 异步播放wav文件
///
/// 以异步方式播放wav文件
///
/// SoundPlayer对象
/// wav文件的路径
public static void ASyncPlayWAV(SoundPlayer sp, string wavFilePath)
{
try
{
//设置wav文件的路径
sp.SoundLocation = wavFilePath;
//使用异步方式加载wav文件
sp.LoadAsync();
//使用异步方式播放wav文件
if (sp.IsLoadCompleted)
{
sp.Play();
}
}
catch (Exception ex)
{
string errStr = ex.Message;
throw ex;
}
}
///
/// 以异步方式播放wav文件
///
/// wav文件的路径
public static void ASyncPlayWAV(string wavFilePath)
{
try
{
//创建一个SoundPlaryer类,并设置wav文件的路径
SoundPlayer sp = new SoundPlayer(wavFilePath);
//使用异步方式加载wav文件
sp.LoadAsync();
//使用异步方式播放wav文件
if (sp.IsLoadCompleted)
{
sp.Play();
}
}
catch (Exception ex)
{
string errStr = ex.Message;
throw ex;
}
}
#endregion
#region 停止播放wav文件
///
///
///
/// SoundPlayer对象
public static void StopWAV(SoundPlayer sp)
{
sp.Stop();
}
#endregion
}
}
//csharp/8580