我已经实例化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文件。
我希望你能帮忙!
答案 0 :(得分:1)
Mono
用特定于Windows的方法替换ALSA(高级Linux声音架构)特定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
框架。