![](/img/trans.png)
[英]Monodevelop + NAudio on Ubuntu linux tells me "Expression denotes a type where method group
[英]MonoDevelop + NAudio + Ubuntu Linux tells me Winmm.dll not found?
所以我試圖將MonoDevelop與NAudio和Ubuntu Linux一起使用,出於某種原因它錯誤地說找不到winmm.dll所以我試圖下載它並且“添加引用”對話聲稱它不是一個有效的.NET庫。 這是我的代碼......
using System;
using System.IO;
using Gst;
using GLib;
using Gst.BasePlugins;
using NAudio;
using NAudio.Wave;
namespace record_audio_simple_test
{
class MainClass
{
//Define class variables
private NAudio.Wave.WaveFileReader waveFile = null;
private NAudio.Wave.DirectSoundOut output = null;
public static void Main (string[] args)
{
WaveFileReader waveFile = new WaveFileReader("../../convo47.wav");
}
}
}
它說這行錯誤WaveFileReader waveFile = new WaveFileReader(“../../ convo47.wav”);
NAudio的很大一部分由用於訪問Windows API調用的互操作包裝器組成,例如waveIn / waveOut,DirectSound,WASAPI,ACM,MediaFoundation和DMO。 由於這些API方法不存在,因此這些都無法在Linux上運行。 我認為它們理論上可能在Windows API仿真層之上工作,但實際上最好創建一個調用Linux聲音API的IWavePlayer
實現。
NAudio的某些部分應該跨平台工作,例如大多數IWaveProvider
和ISampleProvider
實現。 WaveFileReader
可能應該可以工作,但由於它使用了mmioStringToFOURCC
Windows API調用,因此失敗了。 我將很快刪除此依賴項,因為它當前正在停止在Windows應用商店應用中使用WaveFileReader
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.