Wav в Builder
У меня есть несколько коротких Wav файлов.
Мне нцжно программа которая открыл по очереди эти файлы.
Как мне это делать.
У меня есть один вариант.
Я делаю с помощью TMediaPlayer но не могу делать так что они открылись по очереди(т.е. только тогда открыть другой файл когда закончилось предыдущий файл),
я делаю так
TMediaPlayer1->Open();
TMediaPlayer1->FileName="C:\\1.wav";
TMediaPlayer1->Play();
TMediaPlayer1->FileName="C:\\2.wav";
TMediaPlayer1->Play();
Моментально открывает первый файл и закрывает первый, открывает второй
Как делать так чтобы открылись по очереди 1 и потом 2.
Не обьязательно с помощью MediaPlayer.
Заранее Спасибо.
Вот такая проблема.
У меня есть несколько коротких Wav файлов.
Мне нцжно программа которая открыл по очереди эти файлы.
Как мне это делать.
У меня есть один вариант.
Я делаю с помощью TMediaPlayer но не могу делать так что они открылись по очереди(т.е. только тогда открыть другой файл когда закончилось предыдущий файл),
я делаю так
TMediaPlayer1->Open();
TMediaPlayer1->FileName="C:\\1.wav";
TMediaPlayer1->Play();
TMediaPlayer1->FileName="C:\\2.wav";
TMediaPlayer1->Play();
Моментально открывает первый файл и закрывает первый, открывает второй
Как делать так чтобы открылись по очереди 1 и потом 2.
Не обьязательно с помощью MediaPlayer.
Заранее Спасибо.
Попробуй вот так:
TMediaPlayer1->Open();
TMediaPlayer1->FileName="C:\\1.wav";
TMediaPlayer2->Open();
TMediaPlayer2->FileName="C:\\2.wav";
TMediaPlayer1->Play();
TMediaPlayer2->Play();
Вот такая проблема.
У меня есть несколько коротких Wav файлов.
Мне нцжно программа которая открыл по очереди эти файлы.
Как мне это делать.
У меня есть один вариант.
Я делаю с помощью TMediaPlayer но не могу делать так что они открылись по очереди(т.е. только тогда открыть другой файл когда закончилось предыдущий файл),
я делаю так
TMediaPlayer1->Open();
TMediaPlayer1->FileName="C:\\1.wav";
TMediaPlayer1->Play();
TMediaPlayer1->FileName="C:\\2.wav";
TMediaPlayer1->Play();
Моментально открывает первый файл и закрывает первый, открывает второй
Как делать так чтобы открылись по очереди 1 и потом 2.
Не обьязательно с помощью MediaPlayer.
Заранее Спасибо.
Есть такая ф-ция:
PlaySound(FileName.c_str(), NULL, SND_FILENAME)
Не указывай в последнем параметре SND_ASYNC.
Вот такая проблема.
У меня есть несколько коротких Wav файлов.
Мне нцжно программа которая открыл по очереди эти файлы.
Как мне это делать.
У меня есть один вариант.
Я делаю с помощью TMediaPlayer но не могу делать так что они открылись по очереди(т.е. только тогда открыть другой файл когда закончилось предыдущий файл),
я делаю так
TMediaPlayer1->Open();
TMediaPlayer1->FileName="C:\\1.wav";
TMediaPlayer1->Play();
TMediaPlayer1->FileName="C:\\2.wav";
TMediaPlayer1->Play();
Моментально открывает первый файл и закрывает первый, открывает второй
Как делать так чтобы открылись по очереди 1 и потом 2.
Не обьязательно с помощью MediaPlayer.
Заранее Спасибо.
См. TMediaPlayer->OnNotify+TMediaPlayer->Mode
См. TMediaPlayer->OnNotify+TMediaPlayer->Mode
Я попробовал все варианты но у меня не получилось то что хочу.
Как работает ВИНАМП ?
Когда заканчивается файл открывается другой верно ?
Так я хочу создать программу в которм мне нужен этот момент.
TMediaPlayer1->OnNotify меня заинтересовал но я не понял правда говоря.
Можно делать и так например у меня 5 файлов. Эти 5 файлы могу я программно создать как один файл и надать на ПЛЕЙ. И будет то что хочу. Кто знает как это делаь.
Пожайлуста если у вас есть ответ если не трудно напишите сразу пример на 1,2,3,4,5 .wav-ах.....
Спасибо.
PlaySound не могу использовать ...Где надо писать имя файла ?
File.wav=File1.wav+File2.wav
PlaySound("Door.wav",NULL,SND_FILENAME|SND_SYNC);
Так подряд будут проиграны 2 файла. Запускать это советую в отдельной нити (thread) потому, что иначе на время проигрывания программа подвисает.
PlaySound("some.wav",NULL,SND_FILENAME|SND_ASYNC)
завершит прогрывание, обработать этот момент и начать играть следующий файл?
Если можно то не таким способом
wav = wav1 + wav2 +...+ wavN;
PlaySound(wav,NULL,SND_FILENAME|SND_ASYNC)
хочется какого то randomizа в проигрывании..
Почитай http://www.xakep.ru//magazine/xa/057/086/1.asp . Если тебя интересует более серьезная работа со звуком.
Уже получилось. Но другим искуственным методом.
TMediaPlayer1->OnNotify меня заинтересовал но я не понял правда говоря.
Событие OnNotyfy происходит, когда завершается метод, скажем Open, т.е. первый wav кончил играть. Тут-то ты открываешь второй и т.д. и т.п. Не забывай только Notify класть каждый раз в true.
Есть еще один метод:
TMediaPlayer1->Open();
TMediaPlayer1->FileName="C:\\1.wav";
TMediaPlayer1->Wait = true;
TMediaPlayer1->Play();
TMediaPlayer1->FileName="C:\\2.wav";
TMediaPlayer1->Wait = true;
TMediaPlayer1->Play();
Событие OnNotyfy происходит, когда завершается метод, скажем Open, т.е. первый wav кончил играть. Тут-то ты открываешь второй и т.д. и т.п. Не забывай только Notify класть каждый раз в true.
Есть еще один метод:
TMediaPlayer1->Open();
TMediaPlayer1->FileName="C:\\1.wav";
TMediaPlayer1->Wait = true;
TMediaPlayer1->Play();
TMediaPlayer1->FileName="C:\\2.wav";
TMediaPlayer1->Wait = true;
TMediaPlayer1->Play();
Poluchilos no na slabom kompe ne xorosho proznositsa, est'pauza sredi nix, a file-i ochen korotkie u menya.
Ya xochu delat tak chto odin file bil zakreplen v drugoy file i etot file soxranilsa pod drugim imenem, kak mojno delat' eto
Da i chto delaet knopka Record v MediaPlayer-e...mojet eto to chego ya xochu ili zapisivaet golos s microfona ?
Kak rabotaet eto MediaPlayer1->Record() ?????
tak ne poluchaetsa
Kak mne neskolko file-ov zapisat' kak odin file ??
Neujeli nikto ne znayet ?
Kak mne neskolko file-ov zapisat' kak odin file ??
Ну почему, если знать алгоритм ЦАП-АЦП, то в общем-то проблем нет...:D останется только применить обыкновенную конкатенацию 8)
Ну почему, если знать алгоритм ЦАП-АЦП, то в общем-то проблем нет...:D останется только применить обыкновенную конкатенацию 8)
A ya ne znayu etot algorithm, otkuda ya mogu skachat' dokumentaciyu.
A ti znaesh ?
A ya ne znayu etot algorithm, otkuda ya mogu skachat' dokumentaciyu.
A ti znaesh ?
Судя по двум смайлам этот алгоритм очень тяжело реализуем.=) С Новым Годом!
Судя по двум смайлам этот алгоритм очень тяжело реализуем.=) С Новым Годом!
Brat mne eto nujno ochen srochno
S NOVIM GODOM VSEX
no plz pomogite mne
Brat mne eto nujno ochen srochno
S NOVIM GODOM VSEX
no plz pomogite mne
Не извращай русский язык :devil:
Рекорд записываеться так:
Media->Open("C:\\lobzik.wav");
Media->StartRecord;
Media->Save;
И в лобзик вав будет то что ты записал ..
Проигрование двух файлов подрят лучше делать Медией из АктивХ, а чтобы сделать чтобы по очереди шли с того момента или точнее с прошлой вавки, мп и т.п. делай листвью (Кажеться он)
Не извращай русский язык :devil:
Рекорд записываеться так:
Media->Open("C:\\lobzik.wav");
Media->StartRecord;
Media->Save;
И в лобзик вав будет то что ты записал ..
Проигрование двух файлов подрят лучше делать Медией из АктивХ, а чтобы сделать чтобы по очереди шли с того момента или точнее с прошлой вавки, мп и т.п. делай листвью (Кажеться он)
Mojesh dat' primer,
Dopustim est'tri file-a
xochu po poryadku zapisivat' eti file-i, i kak odin file zapisat'na diske ???
Mne tolko eto nado ...
Смысл такой:
Я проигрываяю один большой файл, и реагирую звуком на нажатия кнопок, но как только я еще раз вызываю PlaySound() то предыдущий прекращает играть, как это предотвратить?
и на этой страничке обрати внимание на программу
123 AudioMerger. Сам я ей не пользовался, но судя по рекламе программа позволяет склеивать wav-файлы.
Вообще, попробуй в поисковике набрать "склеить два wav в один" или какую-нибудь похожую фразу.
Должно помочь.
Удачи!
Привет, Петрос. Посмотри ссылку http://softsearch.ru/programs/8-479-z-pack-download.shtml
и на этой страничке обрати внимание на программу
123 AudioMerger. Сам я ей не пользовался, но судя по рекламе программа позволяет склеивать wav-файлы.
Вообще, попробуй в поисковике набрать "склеить два wav в один" или какую-нибудь похожую фразу.
Должно помочь.
Удачи!
Mne ne nujna programma kotoraya delala eti funkcii.
Mne nujen kod chtobi ya dobavil eto v moem programme, i moya programma delala eti funkcii.
pervoe igral file-i
a vtoroy delal Record, poka ne zakonchil MediaPlayer1.
Posle chego MediaPlayer2 zapisal sozdanniy file.
Kak je sozdalsya Sound Forge ??
Znachit est' takaya funkcia
Прилагаю статью из K+P (delphi)
Теоретически(так как не проверял) из wav-файлов можно выбрать только звуковые данные, скопировать друг за другом в память. Сделать Header и вызвать waveOutWrite(...).
Если я правильно заметил длина звуковых данных в wave файле пишется за словом data.
Neujeli net takix programistax kotorie mogut otvetit' na etot vopros.
Kak je sozdalsya Sound Forge ??
Znachit est' takaya funkcia
Вначале писать по русски научись!
Вначале писать по русски научись!
Ey novichok. Ya znayu chto u menya ploxo s russkim
Ti ne skaji mne chto delat'.
Ya ne russkiy !
Ya ne znayu Delphi.
Ya nashel etot kod no na Visual Basic.
A menya nado na C++.
U tebya est' xoroshi znaniya na etu temu ?
[BU tebya est' xoroshi znaniya na etu temu ?
не, знания на эту тему==0.
Но ради интереса проверил, что предлагал. Прилагаю код. Конечно его нужно будет изменить. Хотя бы один try-finally блок. Но если не брать во внимание, что для того, чтоб Wave файлы воспроизводились, нужно сперва вывести 3 ShowMessage, то код работает вполне нормально. :D
Думаю, нужно разобраться нормально в wav-формате, потому, что значения для Fmt я подбирал, вместо того, чтоб определить из файла.
Ey novichok. Ya znayu chto u menya ploxo s russkim
Ti ne skaji mne chto delat'.
Ya ne russkiy !
Я имел ввиду русскими буквами пиши, или тоже не можешь ?
Я имел ввиду русскими буквами пиши, или тоже не можешь ?
Завтра попробую сделать то что тебе надо ;)
Завтра попробую сделать то что тебе надо ;)
Могу конечно.
Но для меня гораздо легче английскими буквами.
Жду ответа,
Буду благодарен если получится.