0 / 0 / 0
Регистрация: 17.10.2016
Сообщений: 13
|
|
[WPF] Подключение dll (ffmpeg)30.06.2017, 16:38. Показов 4134. Ответов 15
Метки нет Все метки)
(
Вижуха 17. Проект WPF C#.
Столкнулся с проблемой подключения ffmpeg к проекту. Либы не получается подключить т.к для #pragma разрешены только checksum и warning. Подключаю using System.Runtime.InteropServices; для [DllImport("avcodec-57.dll")], а он выдает ошибку "не допускается для этого типа объявления. ..." В ссылки не добавляются .dll, выдавая ошибку "Не удается добавить ссылку на ... . Убедитесь, что файл доступен, и является допустимой сборкой или компонентом СОМ.". Потратил несколько часов на поиск в инете за зря. Во вложении либы,хедеры,библиотеки, пикча с ошибкой. dll.part1.rar dll.part2.rar include.rar lib.rar
0
|
30.06.2017, 16:38 | |
Ответы с готовыми решениями:
15
Упаковать dll внутрь WPF приложения Как зашить dll в exe? (wpf) |
![]() ![]() |
|
30.06.2017, 16:42 | |
Вы что серьёзно собирались использовать в шарпе директивы плюсов?
Зачем тогда using, сразу бы иклудили сборки, что такого...
0
|
![]() ![]() |
|
30.06.2017, 17:04 | |
если нужен просто конвертер, есть решение в виде NReco.VideoConverter, подключается через nuget
0
|
![]() 1454 / 847 / 150
Регистрация: 06.06.2012
Сообщений: 2,370
|
||
30.06.2017, 17:05 | ||
https://github.com/Microsoft/FFmpegInterop там в samples всё есть. Тебе нужны примеры для cs.
0
|
![]() ![]() 12874 / 8913 / 1323
Регистрация: 21.01.2016
Сообщений: 33,478
|
|
01.07.2017, 04:32 | |
neokms, библиотеки, что вы хотите подключить, видимо являются неуправляемыми (написаны на Си или С++), что делает невозможным их подключение к проекту. Для работы с кодом на Си из C# используйте p\invoke (гугл и учебник по C# в помощь).
0
|
22 / 21 / 11
Регистрация: 13.11.2016
Сообщений: 75
|
|||||||||||
01.07.2017, 14:58 | |||||||||||
Неуправляемую библиотеку я бы подключал примерно так:
Создал бы класс в проекте БлаблаблаWrapprer далее в нём сделал бы следующее:
0
|
0 / 0 / 0
Регистрация: 17.10.2016
Сообщений: 13
|
||
01.07.2017, 15:11 [ТС] | ||
В твоем примере тоже самое "OnKeyDownCallbackDelegate" и "OnDeviceStateChangedCallbackDelegat e" не распознает. Я в шапке оставил исходники. Если тебе удастся подключить их так, что бы все работало на c# wpf, я тебе хоть сотку дам.
0
|
22 / 21 / 11
Регистрация: 13.11.2016
Сообщений: 75
|
|
01.07.2017, 15:30 | |
Естественно имена и сигнатуры у Вас будут другие, но LoadLibrary точно так же как здесь и ни каких ссылок на сбори не нужно только убедитесь что Ваши длл находятся либо в каталоге запускаемого приложения либо в системных каталогах.
Добавлено через 4 минуты Правильно ругается таких типов со звёздочками в шарпе не бывает - имя на экземпляр ссылочного класса и так - ссылка на кучу. Добавлено через 2 минуты Возможно, что при написании длл которую Вы хотите импортировать ни кто не расчитывал что её захотят использовать в C# и тогда её нужно переделывать. Добавлено через 7 минут Извини но я не буду сейчас этим заниматься даже за сотку баксов. У меня свой проект есть над которым я работаю. Постарайтесь разобраться самостоятельно. На картинке в шапке он ругается потому что Вы импортируете не в статическом классе это значит что нужно не в майнвиндов это делать, а создать другой класс - обёртку со спецификатором static.
0
|
0 / 0 / 0
Регистрация: 17.10.2016
Сообщений: 13
|
||
01.07.2017, 15:43 [ТС] | ||
Пишет, что не может найти те типы данных, что описаны в длл. Все длл распиханы во все щели... Тут либо я тупой либо лыжи не едут. Хотя, выше кидали ссылку на гит с сборкой на впф c#, где все работает, но описания подключения там нет(хотя я уверен там юзаются ссылки, что не работают у меня)
0
|
22 / 21 / 11
Регистрация: 13.11.2016
Сообщений: 75
|
||||||||
01.07.2017, 15:59 | ||||||||
Добавлено через 6 минут Добавлено через 1 минуту Ваши типы при импорте замените соответствующими типами из c# - на худой конец попробуйте object
0
|
![]() ![]() 12874 / 8913 / 1323
Регистрация: 21.01.2016
Сообщений: 33,478
|
||
02.07.2017, 05:39 | ||
Во-вторых, если у вас не получается, то это не значит, что вам посоветовали фигню. Судя по скриншотам с обшибками, вы едва ли понимаете, что делаете от слова совсем. Соответственно, единственный способ вам помочь - отправить читать про p/invoke в частности и про C# в целом, ибо вы явно не отличаете С# от C++. Всё, обосновывать тут нечего.
0
|
02.07.2017, 05:39 | |
Помогаю со студенческими работами здесь
16
Подключение OpenGL к WPF Подключение шрифта в WPF Can't load extension C:\php/ffmpeg.dll Подключение библиотеки ffmpeg к проекту Подключение ffmpeg к visual studio 2008 Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Система статов в Unity
GameUnited 20.04.2025
Статы — фундаментальный элемент игрового дизайна, который определяет характеристики персонажей, предметов и других объектов в игровом мире. Будь то показатель силы в RPG, скорость передвижения в. . .
|
Статические свойства и методы в TypeScript
run.dev 20.04.2025
TypeScript прочно занял своё место в системе современной веб-разработки. Этот строго типизированный язык программирования не просто расширяет возможности JavaScript — он делает разработку более. . .
|
Batch Transform и Batch Gizmo Drawing API в Unity
GameUnited 20.04.2025
В мире разработки игр и приложений на Unity производительность всегда была критическим фактором успеха. Создатели игр постоянно балансируют между визуальной привлекательностью и плавностью работы. . .
|
Звук в Unity: Рандомизация с Audio Random Container
GameUnited 20.04.2025
В современных играх звуковое оформление часто становится элементом, который либо полностью погружает игрока в виртуальный мир, либо разрушает атмосферу за считанные минуты. Представьте: вы исследуете. . .
|
Максимальная производительность C#: Советы, тестирование и заключение
stackOverflow 20.04.2025
Погружение в мир микрооптимизаций C# открывает перед разработчиком целый арсенал мощных техник. Но как определить, где и когда их применять? Ответ начинается с точных измерений и профилирования.
. . .
|
Максимальная производительность C#: Предсказание ветвлений
stackOverflow 20.04.2025
Третий ключевой аспект низкоуровневой оптимизации — предсказание ветвлений. Эта тема менее известна среди разработчиков, но её влияние на производительность может быть колоссальным. Чтобы понять. . .
|
Максимальная производительность C#: Векторизация (SIMD)
stackOverflow 20.04.2025
Помимо работы с кэшем, другим ключевым аспектом низкоуровневой оптимизации является векторизация вычислений. SIMD (Single Instruction, Multiple Data) позволяет обрабатывать несколько элементов данных. . .
|
Максимальная производительность C#: Процессорный кэш
stackOverflow 20.04.2025
Знакомство с внутренним устройством процессорного кэша — ключевой шаг в написании по-настоящему быстрого кода на C#. Этот слой архитектуры компьютера часто ускользает от внимания разработчиков, но. . .
|
Максимальная производительность C#: Введение в микрооптимизации
stackOverflow 20.04.2025
В мире разработки на C# многие привыкли полагаться на . NET Runtime, который "магическим образом" сам оптимизирует код. И часто это работает - современные JIT-компиляторы творят чудеса. Но когда речь. . .
|
MVC фреймворк в PHP
Jason-Webb 19.04.2025
Архитектурный паттерн Model-View-Controller (MVC) – это не просто модный термин из мира веб-разработки. Для PHP-программистов это фундаментальный подход к организации кода, который радикально меняет. . .
|