簡體   English   中英

MonoDevelop + NAudio + Ubuntu Linux告訴我找不到Winmm.dll?

[英]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的某些部分應該跨平台工作,例如大多數IWaveProviderISampleProvider實現。 WaveFileReader可能應該可以工作,但由於它使用了mmioStringToFOURCC Windows API調用,因此失敗了。 我將很快刪除此依賴項,因為它當前正在停止在Windows應用商店應用中使用WaveFileReader

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM