Как использовать поток памяти `imem` в качестве источника для оболочки .NET VLC? - PullRequest
0 голосов
/ 02 апреля 2012

На вход поступает аудио или видео в любом формате, а на выходе должна быть волна.Я решил использовать оболочку вулкана для .NET.В этот момент я понял, что это реализовано с файлом в качестве источника.Проблема в том, что у меня есть байтовый массив в качестве источника.

После прочтения форумов я пришел к выводу, что необходимо использовать модуль imem, но у меня возникают трудности с ним.

Как правильно использовать imem в качестве источника данных вместо потока передачи файлов?

1 Ответ

0 голосов
/ 16 мая 2012

Сейчас это невозможно сделать из C #. Главным образом потому, что вам нужно указать адреса обработчиков --imem-get и --imem-release как строки, и нет способа получить их из C # (ну, вы можете получить указатель через GCHandle, но он падает, когда VLC пытается вызвать его ).

Обход для этого будет либо:

  • Напишите C API, который реализует обработчики get и release. Вот хороший пост на форуме здесь и здесь

  • Сохранение данных на жесткий диск и загрузка их в VLC

...