Я новичок на этом сайте, и я надеюсь, что кто-то может помочь мне с моей проблемой. Я использую язык Delphi. И я хотел бы воспроизвести поток памяти в Windowsmediaplayer ActiveX. Это возможно? Если это так, может ли кто-нибудь дать мне подсказку или что-то в этом роде... пример кода. Спасибо.
Delphi: воспроизвести поток памяти в wmp activex
Ответы (3)
Я не могу говорить за Delphi 2009, но более ранняя версия Delphi не поддерживала это с компонентом TMediaPlayer. Что вы можете сделать, так это записать MemoryStream во временный файл, а затем загрузить этот файл в TMediaPlayer. Это будет самое простое решение, хотя и не идеальное.
Не бесплатное решение, но есть коммерческий SDK, BoxedAppSDK, который позволяет вам получать доступ к файлам в памяти, как если бы они были на диске. Один из их образцов включает в себя медиаплеер, обращающийся к файлу из памяти.
http://www.boxedapp.com/boxedappsdk/
Несколько лет назад Нильс Хек опубликовал пример воспроизведения avi из TMemoryStream на NLDelphi. Однако он не смог заставить его воспроизводить mp3. Для этого вам следует рассмотреть другие решения, например Un4Seen Bass.
Код: playfrommemory.zip