Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > разработка игр, графический дизайн и моделирование > Gamedev - cоздание игр: Unity, OpenGL, DirectX
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2009, 16:34   #11
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

А он только .wav воспроизводит? А то у меня .wma файл.
Shadow_1329 вне форума Ответить с цитированием
Старый 04.05.2009, 16:35   #12
Beermonza
Инженер ИС
Старожил
 
Аватар для Beermonza
 
Регистрация: 13.12.2006
Сообщений: 2,671
По умолчанию

Цитата:
Сообщение от Вадим Буренков Посмотреть сообщение
Цитата:
Сообщение от Beermonza
Ни в коем случае не нужно читать каждый звук с винта, ...грузите в память и воспроизводите.
1)А это как?
2)А это зачем?
Если у вас есть одиночный выстрел, и вы собираетесь программно озвучить очередь пулемета, причем загружая звук каждый раз с винта по указанному пути, то это не правильный подход. Аналогично и с кадрами анимации, ...это просто вешает систему после множества загрузок, или ведет к тормозам, винт - не самый быстрый и отзывчивый из устройств. Посему используйте оперативную память, закидывайте все звуки в банк, а с него играйте. Я применяю компонент из DelphiX, называется DXSound, и банк DXWaveList, ...пока устраивает.
Руководитель проекта MMO 2D RPG: Настоящее имя Денис Стрижак (10.05.1981-6.02.2019) Мир духу его
Beermonza вне форума Ответить с цитированием
Старый 04.05.2009, 16:39   #13
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

PlaySound('..\Sounds\Bang!.wma', 0, SND_ASYNC); вообщем вот так выглядит у мя эта команда.
Shadow_1329 вне форума Ответить с цитированием
Старый 04.05.2009, 17:12   #14
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
А то у меня .wma файл.
Просто переведи файл из wma в wav.
Вадим Буренков вне форума Ответить с цитированием
Старый 04.05.2009, 17:25   #15
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

Как перевести?
Shadow_1329 вне форума Ответить с цитированием
Старый 04.05.2009, 17:35   #16
Shadow_1329
Форумчанин
 
Аватар для Shadow_1329
 
Регистрация: 23.02.2009
Сообщений: 237
По умолчанию

Спасибо помогло!
Shadow_1329 вне форума Ответить с цитированием
Старый 05.05.2009, 15:46   #17
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Полностью согласен с Beermonza. В данном случае проигрывать звуки из файла не самый лучший способ. Правильнее из памяти его будет играть. Вот флажок для PlaySound.
Цитата:
SND_MEMORY

A sound event's file is loaded in RAM. The parameter specified by pszSound must point to an image of a sound in memory.
Вообще PlaySound тоже не вариант для игры. Я просто не в курсе. Но эта функция позволяет звуки микшировать?
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru
Ulex вне форума Ответить с цитированием
Старый 05.05.2009, 16:36   #18
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
Вообще PlaySound тоже не вариант для игры.
Смотря для какой иргы. Если делаешь что-нибудь несложное проблем не возникнет а большого функционала не требуется.

А что значит микшировать?
Вадим Буренков вне форума Ответить с цитированием
Старый 05.05.2009, 17:09   #19
Ulex
Непрофессионал
Участник клуба
 
Аватар для Ulex
 
Регистрация: 01.01.2008
Сообщений: 1,405
По умолчанию

Цитата:
А что значит микшировать?
Смешивать. К примеру, как с помощью PlaySound реализовать пулемёт, если звук выстрела по времени больше чем пауза м.у. выстрелами?
Т.е. звук ещё не успел до конца доиграть, а его уже надо заново запускать, но хотелось бы и остаток от первого выстрела услышать.
А как на PlaySound сделать фоновый звук? Летит, к примеру, самолётик и шумит двигателями, а ведь он ещё и стрелять может, а ещё при этом кто-то может в это же самое время взрываться на поле боя и т.д. Ведь это целая звуковая композиция, в которой звуки надо смешивать. Возможно это сделать на PlaySound? И если возможно, то как?
И чем больше я узнавал людей, тем больше мне нравились компьютеры.
------------------------------------
Страничка с моими программками http://ulex-masm.ru

Последний раз редактировалось Ulex; 05.05.2009 в 17:12.
Ulex вне форума Ответить с цитированием
Старый 05.05.2009, 17:38   #20
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Тогда нужно использовать модуль Sound2D из моей делающейся игры:
Перед использованием загружаем командой:

Код:
InitSoundEngine;
Далее загружаем звук в память:
Код:
Sounds[1] := LoadSound('Sounds/1.wav');
Нужно обратить внимание, что Sounds - массив типа Integer(в нем хранятся номера звуков)
Код:
 Sounds : array [1..4] of integer; //переменные под звук
Можем использовать:
Код:
//Проигрываем звук Sounds[1] - номер звука; 0 - место, откуда проигрывать т.е сначала(наверное проценты)
PlaySound(Sounds[1],0);
Перед выходом из программы выгружаем звук:
Код:
FreeSound(Sounds[1]);
и модуль
Код:
FreeSoundEngine;
Выложил пример с исходником и комментариями.В модуле есть еще процедуры Pause,Resume и некоторые другие.
Надеюсь понятно обьяснил .
Вложения
Тип файла: rar PlaySound.rar (391.3 Кб, 45 просмотров)
Вадим Буренков вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Склеивание звуков varvara16 Мультимедиа в Delphi 24 14.11.2008 18:24
очередь odi_noki Общие вопросы Delphi 3 24.10.2008 12:09
Диаграммы звуков Kor Мультимедиа в Delphi 1 30.09.2008 22:43