Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.08;
Скачать: CL | DM;

Вниз

Звуковое сопровождение   Найти похожие ветки 

 
Stals ©   (2006-07-29 09:58) [0]

Какой самый экономичный способ сделать звуковое сопровождение программы,
проигрывая бесконечно какой-нибудь MP3 или даже MP3-PRO файл? (Ну или даже вообще MIDI)


 
ANTPro ©   (2006-07-29 20:17) [1]

Stals ©   (29.07.06 9:58)
Зкономия чего


 
Stals ©   (2006-07-30 12:34) [2]

Размера программы... (размер программы + размер звукового файла)
Просто нужно пустить фоном зацикленный файл (в идеале MP3Pro или MIDI)
Какую можно использовать библиотеку-компонент, чтобы добиться минимального размера?


 
ANTPro ©   (2006-07-30 19:37) [3]

KOLMP3 автор Thaddy de Koning
http://bonanzas.rinet.ru/KOLMP3.ZIP
Где-то у меня еще модуль к WAV валялся


 
D[u]fa   (2006-07-30 20:28) [4]

MMSystem модуль mciSendString API, в MSDN описалово есть


 
Stals ©   (2006-08-02 22:04) [5]

2 ANTPro: Неплохо, размер пустой скомпиленной проги - 138 kb не считая самого звукового файла.

2 D[u]fa: Что-то у меня MSDN какой-то урезаный, есть примерчик?


 
D[u]fa   (2006-08-03 08:05) [6]

uses  
 MMSystem;  

procedure SendMCICommand(Cmd: string);  
var  
 RetVal: Integer;  
 ErrMsg: array[0..254] of char;  
begin  
 RetVal := mciSendString(PChar(Cmd), nil, 0, 0);  
 if RetVal <> 0 then  
 begin  
   mciGetErrorString(RetVal, ErrMsg, 255);  
   MessageDlg(StrPas(ErrMsg), mtError, [mbOK], 0);  
 end;  
end;  

procedure TForm1.Button1Click(Sender: TObject);  
begin  
 SendMCICommand("open waveaudio shareable");  
 SendMCICommand("play "C:\xyz\BackgroundMusic.wav"");  
 SendMCICommand("play "C:\xyz\AnotherMusic.wav"");  
 SendMCICommand("close waveaudio");  
end;  

вот такой примерчик нашел


 
mdw ©   (2006-08-03 09:54) [7]

Есть еще функция PlaySound\sndPlaySound. Wav-ки она тоже играет, ну и mp3 если кодаки установлены (wk2, xp).  Плюс в том, что может проигрывать ресурсы или буфер памяти, т.е. отдельный файл создавать не обязательно.

Кстати, а чем KOLMediaPlayer не устроил? Он и Midi и Wav играет.

Еще я как-то делал Midi плеер, он сам команды на зв. устройство шлет, поэтому проигрывать умеет из памяти.


 
Thaddy   (2006-08-03 15:05) [8]

You can also use http://members.chello.nl/t.koning8/kolacmwaveplayer.zip
Which uses the ACM codecs for mp3 and mp3 pro when installed.

The other source by me has its own full mp3 codec, but does not support any other formats.


 
Stals ©   (2006-08-07 19:33) [9]

2 D[u]fa:
Ага, уже разобрался, просто написал -
mciSendString("PLAY :\qq.mp3",0,0,0);
Но тут есть одна такая хреновая особенность - если играть по циклу - например, по таймеру, то между воспроизведениями происходит задержка, так что не получается постоянного звучания... :(


 
Stals ©   (2006-08-07 21:01) [10]

2 mdw :
Да, если использовать PlaySound, то зацикливание получается ровным,
только у меня почему-то только wav играет, что нужно исправить?
(Похоже это то, что я и хотел - минимальный размер + возможность играть из потока или ресурсов)


program Project1;
uses
 windows, messages, mmsystem, kol;
var
 form               : PControl;
 tm                 : PTimer;

procedure TimerProc( Dummy : Pointer; Sender: PControl );
begin
 PlaySound("c:\123.wav",0,SND_ASYNC);
end;

begin
 PlaySound("c:\123.wav",0,SND_ASYNC);
// время wav-файла
 tm:=NewTimer(3428);  
 tm.OnTimer:=TOnEvent(MakeMethod( nil, TimerProc));
 tm.Enabled:=true;
 form:=NewForm(Applet,"MusicForm");
 run(form);
end.


Сие компилится в 14.336 kb с заменой системных модулей не считая размера звукового файла...
Короче получается, что нахаляву - а это именно то, что мне нужно :) Осталось только вот mp3 сделать и будет просто сказка.
MP3-кодаки есть практически у всех, так что проблемы со звуком будут только у "совсем великих людей" :)


 
Stals ©   (2006-08-07 21:04) [11]

2 Thaddy :
I will test it, but i think that MMSystem and PlaySound - more economic :)
What size of the program, if compile with kolacmwaveplayer?


 
mdw ©   (2006-08-08 11:56) [12]


> Stals


Можно проще, таймер не нужен. В Вашем случае:
PlaySound("c:\123.wav", 0, SND_FILENAME or SND_LOOP or SND_ASYNC);

Насчет mp3, я не правильно выразился. Нужно создать Wav с MPEG layer3 (mp3) сжатием (или другим, какое нравится), тогда будет играть.


 
Stals ©   (2006-08-08 21:26) [13]


> Насчет mp3, я не правильно выразился. Нужно создать Wav
> с MPEG layer3 (mp3) сжатием (или другим, какое нравится),
>  тогда будет играть.

В смысле?
Изменить расширение *.mp3-файла с .mp3 на .wav или что?


 
ANTPro ©   (2006-08-08 22:06) [14]

Почему-то не хочет воспроизводить с MPEG layer3 (mp3) сжатием, хотя AC-3 ACM Codec(Держит много канальность) пошел нормально (Конвертил Winamp"ом)
Жаль нет подержки AAC или MP4


 
mdw ©   (2006-08-09 16:00) [15]


> Изменить расширение *.mp3-файла с .mp3 на .wav или что?


Не. Нужно создать именно жатый Wav.

Например так:
Запускаем Adobe Audition (Cool edit).
Нажимаем SaveAs.
Выбираем тип сжатия "ACM WaveForm"
Нажимаем "Options"
Выбираем Filter "MPEG Layer-3", или другое - там их много.
Выбираем нужные аттрибуты сжатия.
Галочку "Write as RAW data", кажется, не нужно.
Нажимаем "Ок"
Нажимаем "Save"

Все. Счастье.

Adobe Audition - это для примера можно чем нибудь другим, WavLab например. Может и виндах что-то есть, не знаю. Просто и на досуге, иногда, занимаюсь сведением, поэтому пяток редакторов всегда стоит.



Страницы: 1 вся ветка

Текущий архив: 2007.04.08;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.051 c
15-1172053340
IMHO
2007-02-21 13:22
2007.04.08
Сталин был велик?


6-1161265246
Григорий
2006-10-19 17:40
2007.04.08
Тупое нажатие на кнопку


2-1174394894
Alex_C
2007-03-20 15:48
2007.04.08
Длина поля Caption для TForm


2-1173816316
FreeZ
2007-03-13 23:05
2007.04.08
Поочерёдность задач!


3-1169045274
PEAKTOP
2007-01-17 17:47
2007.04.08
Функция UPPER в Firebird v2.0