我正在尝试从.NET Core控制台应用程序播放一个wav文件(不,我没有使用控制台的哔声。我知道这些奇怪的要求。)。我想我可以使用OpenAL做到这一点。我能够很好地读取文件,但是当我尝试播放时,它在第一行就失败了:
int handle = AL.GenBuffer();
我得到例外:InvalidOperationException: Could not load openal32.dll
。我正在使用OpenTK.NETCore NuGet包。我错过了什么吗?
答案 0 :(得分:0)
不使用OpenAL,但可以在此处找到在控制台应用程序中播放wav文件的替代解决方案:
Playing sounds on Console - C#
将声音文件添加到解决方案后,链接中的建议代码为:
using System.Reflection;
using System.IO;
using System.Resources;
using System.Media;
using System.Diagnostics;
namespace Yournamespace
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
Assembly assembly;
Stream soundStream;
SoundPlayer sp;
assembly = Assembly.GetExecutingAssembly();
sp = new SoundPlayer(assembly.GetManifestResourceStream
("Yournamespace.Dreamer.wav"));
sp.Play();
}
}
}
答案 1 :(得分:0)
我明白了。事实证明OpenTK.NETCore包并没有OpenAL,只有SDK。相反,它会查找已安装在计算机上的内容。我使用the installer,并想象我需要在使用我的应用程序的每台机器上安装它