欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#實(shí)現(xiàn)用于操作wav聲音文件的類實(shí)例

 更新時(shí)間:2015年03月30日 12:34:46   作者:feige  
這篇文章主要介紹了C#實(shí)現(xiàn)用于操作wav聲音文件的類,實(shí)例分析了C#操作wav音頻文件的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了C#實(shí)現(xiàn)用于操作wav聲音文件的類。分享給大家供大家參考。具體如下:

有了這個(gè)C#類,我們可以很輕易的調(diào)用本地wav文件進(jìn)行同步播放或者異步播放,大大簡(jiǎn)化了對(duì)wav文件的操作過程,如果你需要在項(xiàng)目中調(diào)用wav文件進(jìn)行聲音播放,可以使用這個(gè)C#類。

using System;
using System.Media;
namespace DotNet.Utilities
{
  /// <summary>
  /// 處理多媒體的公共類
  /// </summary>
  public class MediaHandler
  {
    #region 同步播放wav文件
    /// <summary>
    /// 以同步方式播放wav文件
    /// </summary>
    /// <param name="sp">SoundPlayer對(duì)象</param>
    /// <param name="wavFilePath">wav文件的路徑</param>
    public static void SyncPlayWAV(SoundPlayer sp, string wavFilePath)
    {
      try
      {
        //設(shè)置wav文件的路徑
        sp.SoundLocation = wavFilePath;
        //使用異步方式加載wav文件
        sp.LoadAsync();
        //使用同步方式播放wav文件
        if (sp.IsLoadCompleted)
        {
          sp.PlaySync();
        }
      }
      catch (Exception ex)
      {
        string errStr = ex.Message;
        throw ex;
      }
    }
    /// <summary>
    /// 以同步方式播放wav文件
    /// </summary>
    /// <param name="wavFilePath">wav文件的路徑</param>
    public static void SyncPlayWAV(string wavFilePath)
    {
      try
      {
        //創(chuàng)建一個(gè)SoundPlaryer類,并設(shè)置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文件
    /// <summary>
    /// 以異步方式播放wav文件
    /// </summary>
    /// <param name="sp">SoundPlayer對(duì)象</param>
    /// <param name="wavFilePath">wav文件的路徑</param>
    public static void ASyncPlayWAV(SoundPlayer sp, string wavFilePath)
    {
      try
      {
        //設(shè)置wav文件的路徑
        sp.SoundLocation = wavFilePath;
        //使用異步方式加載wav文件
        sp.LoadAsync();
        //使用異步方式播放wav文件
        if (sp.IsLoadCompleted)
        {
          sp.Play();
        }
      }
      catch (Exception ex)
      {
        string errStr = ex.Message;
        throw ex;
      }
    }
    /// <summary>
    /// 以異步方式播放wav文件
    /// </summary>
    /// <param name="wavFilePath">wav文件的路徑</param>
    public static void ASyncPlayWAV(string wavFilePath)
    {
      try
      {
        //創(chuàng)建一個(gè)SoundPlaryer類,并設(shè)置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文件
    /// <summary>
    ///
    /// </summary>
    /// <param name="sp">SoundPlayer對(duì)象</param>
    public static void StopWAV(SoundPlayer sp)
    {
      sp.Stop();
    }
    #endregion
  }
}

希望本文所述對(duì)大家的C#程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • C#實(shí)現(xiàn)快遞api接口調(diào)用方法

    C#實(shí)現(xiàn)快遞api接口調(diào)用方法

    這篇文章主要介紹了C#實(shí)現(xiàn)快遞api接口調(diào)用方法,主要是通過快遞API網(wǎng)接口的服務(wù),使用的時(shí)候直接申請(qǐng)個(gè)接口UID即可,有需要的小伙伴來參考下吧。
    2015-03-03
  • 深入理解C#索引器(一種支持參數(shù)的屬性)與屬性的對(duì)比

    深入理解C#索引器(一種支持參數(shù)的屬性)與屬性的對(duì)比

    本篇文章是對(duì)C#索引器(一種支持參數(shù)的屬性)與屬性的對(duì)比進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • DataGridView實(shí)現(xiàn)點(diǎn)擊列頭升序和降序排序

    DataGridView實(shí)現(xiàn)點(diǎn)擊列頭升序和降序排序

    這篇文章介紹了DataGridView實(shí)現(xiàn)點(diǎn)擊列頭升序和降序排序的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-02-02
  • C#里SuperSocket庫不能發(fā)現(xiàn)命令的原因

    C#里SuperSocket庫不能發(fā)現(xiàn)命令的原因

    這篇文章主要介紹C#里SuperSocket庫不能發(fā)現(xiàn)命令的原因,在使用SuperSocket來寫服務(wù)器的過程中,這是一個(gè)非常快速的開發(fā)方式,也非常好用。不過學(xué)習(xí)的曲線有點(diǎn)高,在使用的過程中經(jīng)常會(huì)遇到各種各樣的問題。下面來看看學(xué)習(xí)舉例說明吧
    2021-10-10
  • C#利用接口實(shí)現(xiàn)多語種選擇功能

    C#利用接口實(shí)現(xiàn)多語種選擇功能

    這篇文章主要為大家詳細(xì)介紹了如何C#利用接口實(shí)現(xiàn)多語種選擇功能,即多語言切換的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2024-02-02
  • C#對(duì)稱加密與非對(duì)稱加密實(shí)例

    C#對(duì)稱加密與非對(duì)稱加密實(shí)例

    這篇文章主要介紹了C#對(duì)稱加密與非對(duì)稱加密實(shí)例,詳細(xì)分析了對(duì)稱加密與非對(duì)稱加密的原理與具體實(shí)現(xiàn)方法,具有一定的實(shí)用價(jià)值,需要的朋友可以參考下
    2014-10-10
  • C#微信開發(fā)之發(fā)送模板消息

    C#微信開發(fā)之發(fā)送模板消息

    這篇文章主要為大家詳細(xì)介紹了C#微信開發(fā)之發(fā)送模板消息的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Unity 從UI中拖拽對(duì)象放置并拖動(dòng)效果 附demo

    Unity 從UI中拖拽對(duì)象放置并拖動(dòng)效果 附demo

    最近新接了個(gè)需求,要求模擬場(chǎng)景并生成3D對(duì)象,對(duì)象可以跟隨鼠標(biāo)移動(dòng)效果,今天小編把我實(shí)現(xiàn)的demo分享到腳本之家平臺(tái),對(duì)Unity UI拖拽相關(guān)知識(shí)感興趣的朋友跟隨小編一起學(xué)習(xí)吧
    2021-05-05
  • XAML如何獲取元素的位置

    XAML如何獲取元素的位置

    這篇文章主要為大家詳細(xì)介紹了XAML如何獲取元素的位置,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • C#構(gòu)造函數(shù)在基類和父類中的執(zhí)行順序

    C#構(gòu)造函數(shù)在基類和父類中的執(zhí)行順序

    這篇文章介紹了C#構(gòu)造函數(shù)在基類和父類中的執(zhí)行順序,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04

最新評(píng)論