Может ли проигрыватель Windows Media Player COM воспроизводить файлы AVI из памяти (а не из файла)? - PullRequest
0 голосов
/ 17 марта 2010

У меня есть приложение на C #, и я смотрю на использование COM-элемента управления проигрывателя Windows Media для воспроизведения анимации и звука. До сих пор единственный способ, которым я вижу программный контроль над тем, что воспроизводит элемент управления, это установить его свойство URL-адреса для указания какого-либо файла (я предполагаю, что есть какой-то способ передать в плейлист).

Есть ли способ, которым WMP может визуализировать AVI, который полностью находится в памяти, например MemoryStream или что-то в этом роде? Если это так, может ли WMP без проблем переходить от одного AVI к следующему (т. Е. Не возникает сбоев ни в аудио, ни в видео при его переходе от одного к следующему)?

Если WMP воспроизводит только файлы, есть ли какой-нибудь способ настроить список файлов перед началом воспроизведения? Если да, можно ли с помощью WMP переходить от одного файла к другому без короткого перерыва?

Любые знания или ссылки на знания приветствуются.

Редактировать : альтернативно, есть ли какие-либо сторонние элементы управления, которые могут сделать это? Чтобы прояснить, что мне действительно нужно, это элемент управления, который будет воспроизводить последовательность файлов AVI (либо в памяти, либо с диска) и воспроизводить как видео, так и аудио без проблем при переходе от одного файла к другому (так что нет незначительного глюки или паузы между файлами). WMP, кажется, отключает звуковой движок и затем снова включается между каждым файлом (что приводит к небольшому «попсовому» шуму), поэтому я даже не уверен, что WMP может делать то, что мне нужно.

Редактировать 2 : неважно. Я просто попытался разделить AVI-файл и затем последовательно воспроизвести сегменты в списке воспроизведения, и это намного хуже, чем крошечный «попсовый» шум. Это делает паузу почти на секунду. Я не думаю, что WMP создан для того, что мне нужно.

1 Ответ

3 голосов
/ 17 марта 2010

Я действительно надеюсь это не ответ:

DirectShow и Windows Media Player разрешить URL вместо имени файла воспроизвести видео. Вы могли бы создать нить в вашем приложении, которое слушает на динамический сокет для HTTP-запросов на петлевой адаптер (127.0.0.1) и только принимает запросы из вашего приложения (посмотри в шапке или поставь что нибудь в URL, который идентифицирует запрос). Тогда вы могли бы прочитать ресурс в память и передать его обратно через веб-запрос.

- от Билла Рейсса MVP

Найдено по адресу:

http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/5ffb0aa2-d2b3-44d0-985c-f1d3034711b5

Возможно ли это дистанционно?

...