Delphi: воспроизвести поток памяти в wmp activex

Я новичок на этом сайте, и я надеюсь, что кто-то может помочь мне с моей проблемой. Я использую язык Delphi. И я хотел бы воспроизвести поток памяти в Windowsmediaplayer ActiveX. Это возможно? Если это так, может ли кто-нибудь дать мне подсказку или что-то в этом роде... пример кода. Спасибо.


person junmats    schedule 25.03.2009    source источник


Ответы (3)


Я не могу говорить за Delphi 2009, но более ранняя версия Delphi не поддерживала это с компонентом TMediaPlayer. Что вы можете сделать, так это записать MemoryStream во временный файл, а затем загрузить этот файл в TMediaPlayer. Это будет самое простое решение, хотя и не идеальное.

person Tim Sullivan    schedule 28.03.2009
comment
Тим, твое предложение будет моим последним средством. У меня уже есть код на него. Но какого черта, я тут пытаюсь сломать себе голову. лол! Спасибо хоть. - person junmats; 30.03.2009

Не бесплатное решение, но есть коммерческий SDK, BoxedAppSDK, который позволяет вам получать доступ к файлам в памяти, как если бы они были на диске. Один из их образцов включает в себя медиаплеер, обращающийся к файлу из памяти.

http://www.boxedapp.com/boxedappsdk/

person tikinoa    schedule 29.03.2009
comment
Тикиноа, это именно то, что я ищу. Жаль, что это не бесплатно. LOL! Спасибо чувак. - person junmats; 30.03.2009

Несколько лет назад Нильс Хек опубликовал пример воспроизведения avi из TMemoryStream на NLDelphi. Однако он не смог заставить его воспроизводить mp3. Для этого вам следует рассмотреть другие решения, например Un4Seen Bass.

Код: playfrommemory.zip

person Wouter van Nifterick    schedule 29.03.2009
comment
Спасибо за код wouter. Но что я действительно хочу, так это использовать активный проигрыватель Windows Media Player для воспроизведения из потока памяти ... хотя я думаю, что этот код можно изменить. Я попытаюсь. Большое спасибо - person junmats; 30.03.2009