如何在C#console app中从参数中播放5.1声音文件?

时间:2017-03-01 16:49:06

标签: c# .net audio

如何从参数中在基于C#console的应用程序中播放5.1 .wav.mp3

这样的事情:soundplayer.exe C:\sound\5.1.mp3比它播放文件并关闭控制台窗口。

我有这个:

   using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Media;

namespace AudioPlayer
{
    class Program
    {
        static void Main(string[] args)
        {
            SoundPlayer simpleSound = new SoundPlayer(@"c:\Windows\Media\chimes.wav");
            simpleSound.Play();
        }
    }
}

但我不确定如何从参数中获取文件。 它不会播放代码中嵌入的文件。

程序打开和关闭,vs调试显示The thread 0x243c has exited with code 0 (0x0).

1 个答案:

答案 0 :(得分:2)

出现此问题是因为Play()SoundPlayer方法未阻止,因此在播放文件之前命令窗口会关闭。

请改用PlaySync()方法。

static void Main(string[] args)
{
    var simpleSound = new SoundPlayer(@"C:\Windows\Media\chimes.wav");
    simpleSound.PlaySync();
}

播放作为第一个参数提供的声音:

var simpleSound = new SoundPlayer(args[0]);
simpleSound.PlaySync();

在CMD中:

  

YourSoundPlayer.exe“C:\ Windows \ Media \ chimes.wav”