Модераторы: Snowy, Alexeis, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> КАК ПРОИГРАТЬ MP3 ИЗ РЕСУРСА? Не сохраняя файл на диск!!! 
:(
    Опции темы
Kostya-xp
  Дата 12.1.2005, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 11.8.2004
Где: Россия

Репутация: нет
Всего: нет



Как проиграть MP3 из ресурса, не сохраняя файл на диск. Например, с помощью BASS, FMOD, DSPack или любой другой библиотеки, компонента (чего угодно лишь бы проиграло MP3 из ресурса) smile
Помогите конкретным куском кода пожалуйста - smile


Это сообщение отредактировал(а) Kostya-xp - 12.1.2005, 21:15
PM MAIL   Вверх
Kostya-xp
  Дата 12.1.2005, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 11.8.2004
Где: Россия

Репутация: нет
Всего: нет



Ну, хоть кто-нибудь знает, как это сделать? smile

smile


Это сообщение отредактировал(а) Kostya-xp - 12.1.2005, 20:35
PM MAIL   Вверх
Illusion Dolphin
Дата 12.1.2005, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 13
Всего: 63



Знаю smile И даже без посторонних библиотек smile Правда, это всё идёт только на винь2000\ХР... на ранних версиях вроде как не катит - увы. ПО если мы не пишем под старьё, то так:
Во-первых надо вспомнить, что не все файлы с расширением wav такие огромные... почему? Да потому что они закомпрессированы с помощью mp3. итого: берём в руки какой-нибудь конвертор и кодируем нашь mp3 файл в wav, но при этом wav-файл сжимается mp3 кодеком. (надеюсь меня поняли smile , т.к. я не уверен, что чистый mp3 так пойдёт). Создаём файл ресурсов, туда в секцию RCData заносим "MY_WAVE" - имя ресурса, в который записываем нашь wav (но он внутри как mp3). Сохраняем на диске и теперь в проекте:
Код

uses
 MMSystem, ....;

{$R sound.res} //я файл обозвал как "sound.res"

procedure TForm1.Button1Click(Sender: TObject);
var
 WaveHandle: THandle;
 WavePointer: pointer;
begin
WaveHandle := FindResource(hInstance, 'MY_WAVE', RT_RCDATA);
if WaveHandle <> 0 then
begin
  WaveHandle := LoadResource(hInstance, WaveHandle);
   if WaveHandle <> 0 then
  begin;
      WavePointer := LockResource(WaveHandle);
      sndPlaySound(WavePointer, snd_Memory or SND_ASYNC);
      UnlockResource(WaveHandle);
   FreeResource(WaveHandle);
end;
end;

end;

Вот и всё... теперь в приложении играется по сути мр3 файл.


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
Kostya-xp
Дата 12.1.2005, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 11.8.2004
Где: Россия

Репутация: нет
Всего: нет



Illusion Dolphin
Не играет. smile
Вроде sndPlaySound играет только разжатые WAV файлы - с ними проблем нет, а вот с сжатыми…


Это сообщение отредактировал(а) Kostya-xp - 12.1.2005, 21:12
PM MAIL   Вверх
Illusion Dolphin
Дата 12.1.2005, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 13
Всего: 63



Как это не играет?
У меня всё прекрасно играет! И именно сжатый! Вопросы таковы: какая у тебя винда (я говорил об ограничениях), как ты получаешься wav файл и как ты его сохраняешь в ресурсы (туда ли куда надо)?. Или я могу примерчик кинуть маленький.. может...


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
Illusion Dolphin
Дата 12.1.2005, 21:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 13
Всего: 63



Вот, я прогу прицепил - там и исходник и скомпилиный экзешник (всего 100 кило всё весит).

Присоединённый файл ( Кол-во скачиваний: 46 )
Присоединённый файл  sound_res.zip


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
Kostya-xp
Дата 12.1.2005, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 11.8.2004
Где: Россия

Репутация: нет
Всего: нет



Получаю так

REZ:
MyWave RCDATA LOADONCALL 1.wav

Запихиваю его в прогу:
Uses
MMSYSTEM и т.д.
...

{$R sound.res}

...

procedure TForm1.Button1Click(Sender: TObject);
var
WaveHandle: THandle;
WavePointer: pointer;
begin
WaveHandle := FindResource(hInstance, 'MyWave', RT_RCDATA);
if WaveHandle <> 0 then
begin
WaveHandle := LoadResource(hInstance, WaveHandle);
if WaveHandle <> 0 then
begin;
WavePointer := LockResource(WaveHandle);
sndPlaySound(WavePointer, snd_Memory or SND_ASYNC);
UnlockResource(WaveHandle);
FreeResource(WaveHandle);
end;
end;

Скачал пример. Но звука не слышно. Подскажи что за звук должен быть?
Добавлено @ 21:33
О системе:
У меня стоит 2003 Server Enterprice Edition.Это конечно не 2000 и не XP, но по старости подходить должна smile

Это сообщение отредактировал(а) Kostya-xp - 12.1.2005, 21:36
PM MAIL   Вверх
Kostya-xp
Дата 12.1.2005, 21:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 11.8.2004
Где: Россия

Репутация: нет
Всего: нет



Illusion Dolphin
Как бы там не было спасибо за пример.
PM MAIL   Вверх
Illusion Dolphin
Дата 12.1.2005, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 13
Всего: 63



Теперь разобрался (как видишь, пример я уже прицепил - успел опередить ;))? Работает на твоей машине? Если неполучается собрать или файл ресурсов создать нормальный, то я могу помочь парочкой советов....


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
Kostya-xp
Дата 12.1.2005, 21:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 11.8.2004
Где: Россия

Репутация: нет
Всего: нет



Нет, в смысле все еще не сдвинулось с мертвой точки тишины...
Сейчас попробую на XP.
PM MAIL   Вверх
Kostya-xp
Дата 12.1.2005, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 11.8.2004
Где: Россия

Репутация: нет
Всего: нет



Illusion Dolphin
А на XP все пашет!!!

И у меня все запустилось...

Это сообщение отредактировал(а) Kostya-xp - 12.1.2005, 22:00
PM MAIL   Вверх
Illusion Dolphin
Дата 12.1.2005, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 13
Всего: 63



Цитата

Правда, это всё идёт только на винь2000\ХР... на ранних версиях вроде как не катит - увы. ПО если мы не пишем под старьё, то так:

smile


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
Kostya-xp
Дата 12.1.2005, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 11.8.2004
Где: Россия

Репутация: нет
Всего: нет



Буду ломать голову из-за чего на 2003 винде не пашет...
smile

(Вроде 2003 еще не устарела smile )

Это сообщение отредактировал(а) Kostya-xp - 12.1.2005, 22:02
PM MAIL   Вверх
Snowy
Дата 13.1.2005, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



Установи кодеки, которыми вав зажат. Скорее всего дело именно в этом.
Поставь KLite. Еще можно Lame установить как кодек.
И зачем использовать sndPlaySound? PlaySound имеет более расширеные возможности.
А в XP кодек MP3 прошит уже при инсталяции, поэтому работает.
В 2003 этого делать не стали - система серверная, а не музыкальная.
PM MAIL   Вверх
Kostya-xp
Дата 13.1.2005, 17:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 11.8.2004
Где: Россия

Репутация: нет
Всего: нет



У меня стоит K-Lite 2.27. И все равно молчит. smile
Файл сжат LAME 3.92. А в состав K-Lite 2.27 входит 3.96. Так что кодек есть.

Это сообщение отредактировал(а) Kostya-xp - 13.1.2005, 21:04
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0572 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.