1、调用非托管的dll

  1. using System.Runtime.InteropServices;  //DllImport命名空间的引用
  2. class test  //提示音
  3. {
  4. [DllImport("winmm.dll")]
  5. public static extern bool PlaySound(String Filename,int Mod,int Flags);
  6. public void Main()
  7. {
  8. PlaySound(@"d:/qm.wav",0,1);   //把1替换成9,可连续播放
  9. }
  10. }

2、播放系统自带声音

  1. System.Media.SystemSounds.Asterisk.Play();
  2. System.Media.SystemSounds.Beep.Play();
  3. System.Media.SystemSounds.Exclamation.Play();
  4. System.Media.SystemSounds.Hand.Play();
  5. System.Media.SystemSounds.Question.Play();

3、使用System.Media.SoundPlayer播放wav

  1. System.Media.SoundPlayer sp = new SoundPlayer();
  2.   sp.SoundLocation = @"D:\10sec.wav";
  3.   sp.PlayLooping();

4、使用MCI Command String多媒体设备程序接口播放mp3,avi等

  1. using System.Runtime.InteropServices;
  2.   public static uint SND_ASYNC = 0x0001;
  3.   public static uint SND_FILENAME = 0x00020000;
  4.   [DllImport("winmm.dll")]
  5.   public static extern uint mciSendString(string lpstrCommand,
  6.   string lpstrReturnString, uint uReturnLength, uint hWndCallback);
  7.   public void Play()
  8.   {
  9.   mciSendString(@"close temp_alias", null, 0, 0);
  10.   mciSendString(@"open ""E:\Music\青花瓷.mp3"" alias temp_alias", null, 0, 0);
  11.   mciSendString("play temp_alias repeat", null, 0, 0);
  12.   }

关于mciSendString的详细参数说明,请参见MSDN,或是 http://blog.csdn.net/psongchao/archive/2007/01/19/1487788.aspx

5、使用axWindowsMediaPlayer的COM组件来播放

a.加载COM组件:ToolBox->Choose Items->COM Components->Windows Media Player如下图:

b.把Windows Media Player控件拖放到Winform窗体中,把axWindowsMediaPlayer1中URL属性设置为MP3或是AVI的文件路径,F5运行。

  如何使用Windows Media Player循环播放列表中的媒体文件?

  假设我们有一个播放列表,下面的代码可以实现自动循环播放

    1. private void axWindowsMediaPlayer1_PlayStateChange(object sender, AxWMPLib._WMPOCXEvents_PlayStateChangeEvent e)
    2.   {
    3.   if (axWindowsMediaPlayer1.playState == WMPLib.WMPPlayState.wmppsMediaEnded)
    4.   {
    5.   Thread thread = new Thread(new ThreadStart(PlayThread));
    6.   thread.Start();
    7.   }
    8.   }
    9.   private void PlayThread()
    10.   {
    11.   axWindowsMediaPlayer1.URL = @"E:\Music\SomeOne.avi";
    12.   axWindowsMediaPlayer1.Ctlcontrols.play();
    13.   }

Winform_播放声音文件的更多相关文章

  1. MFC使用Windows media player播放声音文件

    一.在需要播放声音的资源上添加控件 资源视图  . 选择添加控件的资源(如对话框).右键单击.插入ActiveX控件.调整你需要的控件属性并记录ID 二.在项目中添加播放声音的类 点击菜单中的项目.添 ...

  2. iOS 播放声音文件

    播放声音可以通过3中方式来完成. 1.AVAudioPlayer 使用简单方便,但只能播放本地音频,不支持流媒体播放. //初始化文件地址 NSBundle *bundle = [NSBundle m ...

  3. c#播放声音文件

    C#中声音的播放主要有三种方法: 1.使用API函数. 2.使用SoundPlayer类播放. 3.使用DirectX进行播放. 一.使用API函数进行播放. windows操作系统中的winmm.d ...

  4. js 播放声音文件

    from:http://hi.baidu.com/xykking/item/7f64a04364e43ce4bdf45127 我在做项目的时候,也遇到了这个问题,可以灵活的使用下面的这两种方法,我使用 ...

  5. C#播放声音的四种方法 +AxWindowsMediaPlayer的详细用法

    C#播放声音的四种方法 第一种是利用DirectX 1.安装了DirectX SDK(有9个DLL文件).这里我们只用到MicroSoft.DirectX.dll和 Microsoft.Directx ...

  6. 将声音文件加入VC

    概述 VC++是微软公司开发的一个IDE(集成开发环境),换句话说,就是使用c++的一个开发平台.有些软件就是这个编出来的...另外还有VB,VF.只是使用不同语言...但是,VC++是Windows ...

  7. iOS开发--音乐文件播放工具类的封装(包含了音效的封装)

    一.头文件 #import <Foundation/Foundation.h> #import <AVFoundation/AVFoundation.h> @interface ...

  8. 几种C#实现播放声音的方法

    在这里介绍使用C#实现播放声音的几种方法,都是利用组件等方法来实现的,有兴趣的话可以看下. 第一种是利用DirectX 1.安装了DirectX SDK(有9个DLL文件).这里我们只用到MicroS ...

  9. Windows Phone 8初学者开发—第20部分:录制Wav音频文件

    原文 Windows Phone 8初学者开发—第20部分:录制Wav音频文件 原文地址:http://channel9.msdn.com/Series/Windows-Phone-8-Develop ...

随机推荐

  1. DLL数据共享在不同处定义效果不同..

    DLL头文件: #ifndef _DLL_SAMPLE_H #define _DLL_SAMPLE_H #pragma data_seg("ShareReadAndWrite") ...

  2. 2017年1月6日 星期五 --出埃及记 Exodus 21:32

    2017年1月6日 星期五 --出埃及记 Exodus 21:32 If the bull gores a male or female slave, the owner must pay thirt ...

  3. poj3349

    http://poj.org/problem?id=3349 每个雪花都有六个分支,用六个整数代表,这六个整数是从任意一个分支开始,朝顺时针或逆时针方向遍历得到的.输入多个雪花,判断是否有形状一致的雪 ...

  4. POJ 3061 Subsequence 尺取法

    转自博客:http://blog.chinaunix.net/uid-24922718-id-4848418.html 尺取法就是两个指针表示区间[l,r]的开始与结束 然后根据题目来将端点移动,是一 ...

  5. Vi/Vim查找替换使用方法

    vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询. :s/vivian/sky/ 替换当前行第一个 vivian 为 s ...

  6. ASP.NET API盘点

    1.控制只返回JSON一种数据 public class JsonContentNegotiator : IContentNegotiator { private readonly JsonMedia ...

  7. Download file using libcurl in C/C++

    http://stackoverflow.com/questions/1636333/download-file-using-libcurl-in-c-c #include <stdio.h&g ...

  8. C# WPF – 利用“Attached Property” 把 RoutedEvent 接上 ICommand

    本文说明怎样把 DoubleClick 连接至 ICommand.方法很多.推荐使用 Attach Property 方式,因为它能把任何 RoutedEvent 接上任何 ICommand. 之前写 ...

  9. 本地设置正常,放服务器上就报 System.Security系统找不到指定的文件解决方法

    在应用程序池设置中将“加载用户配置文件”(Load User Profile)设置为true,问题就解决.

  10. SQL collate

    摘自:http://www.cnblogs.com/window5549-accp/archive/2009/10/03/1577682.html 我们在create table时经常会碰到这样的语句 ...