![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Воспроизведение mp3 файла [D5, D6, D7, WinXP]
Слава-22 © (2003-12-14 16:26:00)Помогите, плиз! Есть база данных где есть BLOB-поле. Так вот в нем хранится звуковой файл в mp3 формате. Вся проблема заключается в следующем: я создаю Stream методом CreateBlobStream в котором и находятся эти музыкальные данные, но вот как теперь воспроизвести это? (прошу учесть, что медиаплеер и PlaySound mp3 не воспроизводят)
Ne0z (2003-12-15 18:30:00) [1]Сам сталкивался с такой же проблемой, только у меня в базе были Midi'шки. Задавал этот вопрос (правда в форуме Базы), но ответа так и не получил.. Сначала хотел так: создать поток памяти и скопировать в него данные из Blob-потока
M:=TMemoryStream.Create;
M.CopyFrom(B,B.Size) // B - твой Blob поток
Потом с помощью какой-нибудь библиотеки или компонента (например Bass.dll) проиграть данные из памяти.
Но потом подумал что будет много возни и сделал всё через временный файл. Т.е создаешь временный файл и сливаешь в него данные из базы, а потом проигрываешь MediaPlayer'ом. Но делать это лучше не в обработчике события DataChange(так как при перемещении по базе всё будет сильно тормозить), а при например при нажатии кнопки Play. Хотя и здесь возни будет достаточно.
Щас сам сижу осваиваю Bass, так что скоро может всё переделаю...