Форум: "KOL";
Текущий архив: 2007.04.08;
Скачать: [xml.tar.bz2];
ВнизЗвуковое сопровождение Найти похожие ветки
← →
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 вся ветка
Форум: "KOL";
Текущий архив: 2007.04.08;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.042 c