首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在我的lame_enc.dll网站上使用LAME ( C# )

如何在我的lame_enc.dll网站上使用LAME ( C# )
EN

Stack Overflow用户
提问于 2011-06-07 20:53:32
回答 1查看 5.6K关注 0票数 5

我试图在我的C# .NET网站上使用C#,但我被困住了。

我正在使用:.NET Framework3.5/2008Express Edition /(还有什么您需要知道的吗?)

我做的第一件事就是在代码项目上从C# MP3压缩机获取代码。有一件事我注意到,这个项目/职位是从2004年1月(所以,它是旧的)

我将文件夹"yeti.mmedia“和"yeti.mp3”放在"App_Code“目录中,并删除了每个目录中的"Bin”和"obj“目录。然后我试着建造这个项目。当我遇到错误时,我最终将下列文件排除在项目之外:

  • yeti.mmedia/AssemblyInfo.cs
  • yeti.mmedia/EditWaveWriter.cs
  • yeti.mmedia/EditWaveWriter.resx
  • yeti.mmedia/InFormatEdit.cs
  • yeti.mmedia/InFormatEdit.resx
  • yeti.mmedia/NumericTextBox.cs
  • yeti.mmedia/NumericTextBox.resx
  • yeti.mmedia/Win32Functions.cs
  • yeti.mp3/AssemblyInfo.cs
  • yeti.mp3/EditMp3Writer.cs
  • yeti.mp3/EditMp3Writer.resx

在我看来,这些都是与Windows相关的代码文件(我不需要这样做)。

我还将文件"lame_enc.dll“放在Bin目录中。

我根据上面链接的页面上的示例创建了一个测试页面:

代码语言:javascript
复制
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.IO;
using WaveLib;
using Yeti.MMedia;
using Yeti.MMedia.Mp3;

public partial class Documents : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        WaveStream InStr = new WaveStream(Server.MapPath(@"Temp/SomeFile.wav"));
        try {
            Mp3Writer writer = new Mp3Writer(new FileStream(Server.MapPath(@"Temp/SomeFile.mp3"), FileMode.Create), InStr.Format);
            try {
                byte[] buff = new byte[writer.OptimalBufferSize];
                int read = 0;
                while ((read = InStr.Read(buff, 0, buff.Length)) > 0) {
                    writer.Write(buff, 0, read);
                }
            }
            finally {
                writer.Close();
            }
        }
        finally {
            InStr.Close();
        }
    }
}

所以,我加载这个页面,得到的错误是:

无法加载DLL 'Lame_enc.dll':找不到指定的模块。(HRESULT例外: 0x8007007E)

(我不能在我的项目中添加DLL作为引用,因为它说"...This不是COM组件“)。我还尝试获得最新的、最伟大的(lame3.98.4) dll,并遇到了同样的问题。因此,我假设在网站中使用这些代码有一些不同的地方,而不是其他类型的项目。但我不知道是什么。

EN

回答 1

Stack Overflow用户

发布于 2011-06-07 21:07:08

我的猜测是,由于没有使用跛脚,你必须安装在有关的盒子。之后,您应该能够成功地使用代码项目代码。如果这样做不起作用,那么Lame_Enc.dll似乎是一个本机组件,您必须使用PInvoke方法。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6271518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档