我已经实例化了一个System.Media.SoundPlayer
,我(试图(使用它来播放.wav文件。但是,正如您可能从标题中了解到的那样,它不起作用(没有声音输出(。我正在使用C#并在Visual Studio 2017 Mac中创建控制台应用程序。这是我的代码:
using System;
using System.Threading;
using System.IO; // Not needed yet
using System.Media;
namespace mathsTestConsoleC
{
public class OutputClass
{
public void PlayMusic()
{
SoundPlayer player = new SoundPlayer
{
SoundLocation = @"/Users/felix/Projects/mathsTestConsoleC/mathsTestConsoleC/backgroundMusic.wav"
};
player.Load();
player.Play();
}
}
}
(我意识到你不一定需要使用player.Load();
因为player.Play();
包括这一点。
这也不起作用:
public void PlayMusic()
{
SoundPlayer player = new SoundPlayer
{
SoundLocation = "/Users/felix/Projects/mathsTestConsoleC/mathsTestConsoleC/backgroundMusic.wav"
};
player.Load();
Thread.Sleep(500);
if (player.IsLoadCompleted == true)
{
player.Play();
}
else if (player.IsLoadCompleted == false)
{
Console.WriteLine("player.IsLoadCompleted == false");
}
else
{
Console.WriteLine("player.IsLoadCompleted == not set");
}
}
当我调用PlayMusic()
时,我的应用程序不会播放我提供给它的.wav文件。
希望您能有所帮助!
Mono
将特定于Windows的替换为对ALSA(Advanced Linux Sound Architecture(特定libasound.so
库的调用。
回复:http://www.alsa-project.org/main/index.php/Main_Page
在 Mac 上播放控制台应用程序音频的简单方法是外壳进程并运行afplay
:
afplay
Audio File Play
Version: 2.0
Copyright 2003-2013, Apple Inc. All Rights Reserved.
Specify -h (-help) for command options
Usage:
afplay [option...] audio_file
否则,您可以创建一个基于 Xamarin.Mac
的应用程序,并且您将拥有对音频系统的完全访问权限,以便您可以使用NSSound
或CoreAudio
框架。