Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
10-1131173964
Explorer
2005-11-05 09:59
2007.04.08
Excel - формы - выпадающий список


15-1173970258
zdm
2007-03-15 17:50
2007.04.08
MaskEdit


15-1173971063
alx2000
2007-03-15 18:04
2007.04.08
Предложение к администраторам форума.


3-1168873266
jack128
2007-01-15 18:01
2007.04.08
Иерархия объектов в БД


15-1173086418
Juice
2007-03-05 12:20
2007.04.08
Хелп файлы





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский