MonoDevelop的+ n音讯+ Ubuntu Linux操作系统的告诉我WINMM.DLL没有发现? [英] MonoDevelop + NAudio + Ubuntu Linux tells me Winmm.dll not found?

查看:417
本文介绍了MonoDevelop的+ n音讯+ Ubuntu Linux操作系统的告诉我WINMM.DLL没有发现?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我尝试使用MonoDevelop的与n音讯和Ubuntu Linux操作系统,出于某种原因,它错误说WINMM.DLL没有找到,所以我尝试下载它,并和添加引用对话声称,它不是一个有效的.NET库。这里是我的代码....

So I'm attempting to use MonoDevelop with NAudio and Ubuntu Linux, For some reason It errors saying that winmm.dll isn't found so I attempted to download it and and the "Add Reference" dialogue claims its not a valid .NET library. Here is my code....

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 =新WaveFileReader(../../ convo47.wav);

推荐答案

n音讯的很大一部分是由互操作包装来访问Windows API调用,如waveIn / waveout的,DirectSound的,WASAPI,ACM,MediaFoundation和DMO。这些都不打算在Linux上工作,因为根本不存在这些API方法。我想这可能是理论上可能为他们在Windows API仿真层之上工作,但实际上它是最好创建 IWavePlayer 的实现,调用到Linux的声音的API。

A large part of NAudio consists of interop wrappers to access Windows API calls such as waveIn/waveOut, DirectSound, WASAPI, ACM, MediaFoundation and DMO. None of these are going to work on Linux since those API methods don't exist. I suppose it might be theoretically possible for them to work on top of a Windows API emulation layer, but really it would be better to create an implementation of IWavePlayer that calls into Linux sound APIs.

有n音讯的某些部分是应该跨平台工作,如大多数的 IWaveProvider ISampleProvider 实现。 WaveFileReader 也许应该工作,但失败,因为它使用了 mmioStringToFOURCC 的Windows API调用。我会在短期内去除这种依赖性,因为它是目前在Windows应用商店中使用终止 WaveFileReader 应用程序也是如此。

There are some parts of NAudio that ought to work cross-platform, such as most of the IWaveProvider and ISampleProvider implementations. WaveFileReader perhaps ought to work, but is failing since it makes use of the mmioStringToFOURCC Windows API call. I'll be removing this dependency shortly as it is currently stopping WaveFileReader from being used in Windows Store apps as well.

这篇关于MonoDevelop的+ n音讯+ Ubuntu Linux操作系统的告诉我WINMM.DLL没有发现?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆