Использование MediaInfo DLL с C# DLLImportC#

Место общения программистов C#
Ответить
Anonymous
 Использование MediaInfo DLL с C# DLLImport

Сообщение Anonymous »

Используя MediaInfo DLL (64-разрядную версию), я пытаюсь получить стандартный текстовый вывод, предоставляющий информацию о файле mp4.

Чтобы обернуть dll, я создал класс MediaInfo, основываясь на моем (ограниченном) понимании из краткого руководства.

Код: Выделить всё

public class MediaInfo
{
[DllImport("MediaInfo.dll")]
private static extern IntPtr MediaInfo_New();

[DllImport("MediaInfo.dll")]
private static extern void MediaInfo_Open(string FileName);

[DllImport("MediaInfo.dll")]
private static extern IntPtr MediaInfo_Inform(IntPtr Handle);

[DllImport("MediaInfo.DLL")]
private static extern void MediaInfo_Close(IntPtr Handle);

IntPtr Handle;

public MediaInfo()
{
Handle = MediaInfo_New();
}

public void Open(string FileName)
{
MediaInfo_Open(FileName);
}

public string Inform()
{
return Marshal.PtrToStringUni(MediaInfo_Inform(Handle));
}

public void Close()
{
MediaInfo_Close(Handle);
}
}
И я вызываю этот класс, используя консольное приложение ниже:

Код: Выделить всё

static void Main(string[] args)
{
var objMediaInfo = new MediaInfo();
objMediaInfo.Open("test.mp4");
string result = objMediaInfo.Inform();
objMediaInfo.Close();

Console.WriteLine(result);
Console.ReadKey();
}
Однако взамен я получаю только пустую строку. Я пробовал несколько разных медиафайлов.

Я знаю, что для этого уже существует полностью разработанная оболочка, но мне хотелось бы, чтобы она была простой и легкой.

Подробнее здесь: https://stackoverflow.com/questions/585 ... -dllimport
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»