用SoundPlayer据说只能播放wav文件。
再简单点的,用WindowsMediaPlayer ,
还可以用MCI,通过API直接传递给MCI设备一个播放命令,
还可以用DirectX等 ,控制稍微复杂,更强 。
用MCI,可以同时播放两个文件

using System.Runtime.InteropServices;

在一个程序中同时播放多个声音文件 控制 技术文章  第1张

 [DllImport("winmm.dll")] 
        public static extern int mciSendString(string m_strCmd, string m_strReceive, int m_v1, int m_v2); 

        [DllImport("Kernel32", CharSet = CharSet.Auto)] 
        static extern Int32 GetShortPathName(String path,StringBuilder shortPath, Int32 shortPathLength); 

        private static void playMusic(string name)
        {
            StringBuilder shortpath = new StringBuilder(80);
            int result = GetShortPathName(name, shortpath, shortpath.Capacity);
            name = shortpath.ToString();
            string buf = string.Empty;
           
            mciSendString("play "+name,buf, buf.Length, 0); //播放
        }
        private void button1_Click(object sender, EventArgs e)
        {
            playMusic(@"F:\我的文档\My Music\2002年的第一场雪.mp3");
        }
        private void button2_Click(object sender, EventArgs e)
        {
            playMusic(@"F:\我的文档\My Music\狼爱上羊.mp3");
        }

在一个程序中同时播放多个声音文件 控制 技术文章  第2张


未经允许不得转载! 作者:棋牌源码网,转载或复制请以超链接形式并注明出处棋牌源码网

原文地址:《在一个程序中同时播放多个声音文件》发布于:2020-10-08

发表评论

表情:
评论列表 (暂无评论,2446人围观)

还没有评论,来说两句吧...