Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Воспроизведение файла из файлового потока через MediaPlayer [D7, XP]


Rendal ©   (2009-08-10 00:31:00) 

Всем привет! Возник вопрос воспроизведения звукового файла из памяти. Не знаю,что нужно писать в MediaPlayer1.FileName.

Самый примитивный способ: сохранить поток в файл, а затем воспроизвести его, имея путь к нему.

Думаю, что это можно сделать и через Stream.WriteBuffer, но не знаю как и правильно ли это. А тогда, как потом получить ссылку на него.


procedure PlayStream;
var
 lib: THandle;
 Stream: TResourceStream;
begin
 lib:= LoadLibrary('music.dll');
 Stream:=TResourceStream.Create(lib,'new1',rt_RCData);
 Form1.MediaPlayer1.FileName:=?;
 Form1.MediaPlayer1.Open;
 Form1.MediaPlayer1.Play;
 FreeLibrary(lib);


KilkennyCat   (2009-08-10 01:16:00) [1]

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


Rendal   (2009-08-10 01:13:00) [2]

как раз то что мне нужно,  через него как раз можно воспроизводить из буфера, спс!


DVM   (2009-08-10 01:07:00) [3]


> Rendal ©


> но затем столкнулся с проблемой воспроизведения нескольких
> звуков одновременно

Тут тебе поможет только DirectSound


Rendal   (2009-08-10 01:05:00) [4]

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


DVM   (2009-08-10 00:56:00) [5]


> Rendal ©   (10.08.09 00:45) [2]

кстати, вот:

http://www.delphilab.ru/content/view/26/1/


DVM   (2009-08-10 00:53:00) [6]


> Rendal ©

PlaySound воспроизведет файл закодированный любым кодеком, лишь бы он был установлен в системе.


Rendal   (2009-08-10 00:45:00) [7]

Дело в том, что хотелось бы воспроизводить менее ресурсоемкие форматы, например wma.


DVM   (2009-08-10 00:37:00) [8]

PlaySound() прекрасно воспроизводит звук из ресурса, зачем MediaPlayer то сразу? Напоминает использование TMemo всякий раз когда надо сохранить текст в файл.


Наверх

Титульная страница Поиск, карта сайта Написать письмо