2017-08-15 58 views
0

我試圖從一個.NET Core控制檯應用程序播放一個wav文件(不,我不使用控制檯嗶聲。奇怪的要求,我知道。)。我想我可以用OpenAL做到這一點。我能夠讀取文件中的罰款,但後來當我試圖打它,它在第一行失敗:如何在.NET Core中使用OpenAL?

int handle = AL.GenBuffer(); 

我得到異常:InvalidOperationException: Could not load openal32.dll。我正在使用OpenTK.NETCore NuGet包。我錯過了什麼嗎?

回答

0

我想通了。事實證明,OpenTK.NETCore包不包含OpenAL,僅包含SDK。相反,它會查找它已經安裝在機器上。我使用了the installer,想象一下我需要將它安裝在使用我的應用程序的每臺機器上。

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

我不認爲您可以使用.NET Core中的SoundPlayer。 – tyjkenn

相關問題