Arhn - архитектура программирования

Невозможно добавить ссылку DLL на VS 2008

Интересно, может ли кто-нибудь мне помочь.

Я пытаюсь добавить ссылку на кодировщик LAME MP3 в свое приложение VB.Net (3.5).

Используемая мной DLL (lame_enc.dll v3.98.2) была загружена отсюда: http://rarewares.org/mp3-lame-bundle.php

Когда я пытаюсь добавить ссылку на DLL в свой проект, я получаю сообщение об ошибке: «Не удалось добавить ссылку на C:\\Lame_Enc.dll. Убедитесь, что этот файл доступен и что это допустимая сборка или компонент COM. "

Я бы просто предположил, что это была поврежденная загрузка/аналог, но...

  • Архив прошел проверку на целостность в WinRAR
  • Я попытался повторно загрузить его JIC

Следующая мысль - DLL битая, но...

  • Я погуглил и увидел, что это распространенная проблема в vs2005.
  • Обсуждений довольно много, и ни в одном из них нет полезного вывода.
  • Я пробовал инструменты SDK «genasm» (3.5) и «TlbExp» (2.0), и оба говорят, что это недопустимая DLL (как предлагалось в различных потоках).

Итак... я пришел к выводу, что это не COM DLL или (очевидно) .Net. Вероятно, он не поврежден, но я не могу ссылаться на него напрямую с VS.

Раньше, когда я добавлял библиотеки DLL, отличные от .Net, VS создавала для меня класс INTEROP. В идеале я хотел бы добиться подобного с этой DLL.

К сожалению, речь идет о степени моих способностей. Может ли кто-нибудь указать мне правильное направление, как использовать эту DLL (или другой механизм взаимодействия с LAME)?

Заранее большое спасибо за любую помощь


  • Скачивание с сайтов со словом wares в URL? Действительно? Это легальный сайт? 04.09.2009
  • Должен признаться, что разделял ваши подозрения, но на него есть ссылка с веб-сайта Lame, и я видел другие положительные комментарии в Интернете. 04.09.2009

Ответы:


1

Этот проект (хотя и на C#, но тот же принцип должен применяться и для VB.NET) относится к использованию Lame_enc.dll. Вы можете попробовать загрузить пример проекта и посмотреть, что они делают по сравнению с вами:

http://www.codeproject.com/KB/audio-video/MP3Compressor.aspx

04.09.2009
  • Да, много кода делается: [DllImport(Lame_enc.dll)] и вызывается так же, как API win32. Я решил схитрить и написать [очень ограниченную] оболочку на С#, используя пример кода в качестве отправной точки, а затем просто сослаться на мою DLL из VB. Думаю, я мог бы сделать это прямо из VB — это где-то в моем списке дел. .. 09.09.2009
  • (Если вам интересно, код, который вам нужно посмотреть, находится в Lame.cs в проекте Yeti.mp3 решения, указанного выше). Еще раз спасибо за помощь. 09.09.2009
  • @Basic Я столкнулся с похожей проблемой ..... не могли бы вы поделиться написанной вами оболочкой на С# или дать мне указания о том, что мне нужно сделать, чтобы решить эту проблему. Целый день ломаю голову, помогите 12.12.2012
  • Привет @Bitsian, это было довольно давно, и у меня больше нет кода. Мне никогда не удавалось заставить его работать хорошо, но помните, что загрузка исходного кода в статье, связанной с этим ответом, позволила мне получить работающую DLL взаимодействия. У меня были последующие проблемы с не закрывающимися дескрипторами и утечкой памяти, которую я так и не смог решить. В конце концов, я полностью отказался от LAME и запустил процесс, который запускал ffmpeg для файла. Не хорошо, но это сработало. 12.12.2012
  • Кто-нибудь смог использовать MP3Compressor для преобразования WAV в MP3? 08.02.2013

  • 2

    В этой статье используется другой подход к созданию оболочки в VB.NET вокруг lame.exe.

    Взгляни :

    http://www.codeproject.com/KB/audio-video/LameShell.aspx?print=true

    04.09.2009

    3

    Похоже, это не .Net DLL. Вам, вероятно, потребуется получить обертку (ответ Джейдена кажется оберткой).

    Кроме того, вы, вероятно, захотите получить LAME непосредственно из источника.

    04.09.2009
  • Понятно - проблема в том, что я видел, что у ppl были проблемы с компиляцией в C++/Win/VS2008 - следовательно, мы получим предварительно скомпилированную версию. Хотя буду признателен за любой совет. 04.09.2009
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..