![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
BASS.DLL version 1.5a [D6, Win95/98, WinME, NT4, Win2k, WinXP]
VEG © (2002-07-28 00:22:00)При работе с этой DLL-кой у меня возникло две проблемы:
1. Как проиграть несколько Samples (все samples - сжатые в MP3 *.WAV) по-порядку, причем для проигрывания пользуясь функцией BASS_SamplePlayEx()???
2. Как проиграть один Sample по кругу, обрезая некоторый промежуток вначале и вконце мелодии?
Заранее благодарен тем, кто ответит хоть на один из этих вопросов!
-<>-<>-<>-<>-<<<Фраза>>>-<>-<>-<>-<>-
Зверь, самый лютый, жалости не чужд.
Я чужд. Значит я не зверь.
MJH (2002-08-09 02:31:00) [1]1. Как проиграть несколько Samples (все samples - сжатые в MP3 *.WAV) по-порядку, причем для проигрывания пользуясь функцией BASS_SamplePlayEx()???
How to play several samples sample by sample using function BASS_SamplePlayEx()??? for playback?
ну?
VEG (2002-08-08 17:16:00) [2]Хм... Мда... Нет конечто же! Просто:
Помогите перевести ПЕРВУЮ задачу на английский, ПОЖАЛУЙСТА!
MJH (2002-08-08 13:44:00) [3]ты сам с собой уже разговариваешь?
VEG (2002-08-08 12:59:00) [4]Аля-ля! Напишите здесь, хоть кто-нибудь, хоть что-нибудь!!!
VEG (2002-08-07 10:20:00) [5]Надежда умирает последней...
VEG (2002-08-04 19:07:00) [6]Помогите перевести ПЕРВУЮ задачу на английский, ПОЖАЛУЙСТА!
VEG (2002-07-31 18:07:00) [7]Печально...
VEG (2002-07-31 10:28:00) [8]И где же все мастера...?
VEG (2002-07-30 23:32:00) [9]Очень-очень НАДО! ПОЖАЛУЙСТА!
VEG (2002-07-29 11:25:00) [10]Хм... Написано "В цикле", а это значит, что второй Sample повторяеться бесконечно! Да, и Samples уже не обрезаються, а как-бы цепляються один за один!
NailMan (2002-07-29 02:24:00) [11]А вот насчет сжатых сэмплов, это в HSamples помоему нельзя, тогда однозначно в HStream или в памяти держать в расжатом виде.
Все равно таким способом как я предоставил можно только несжатый звук миксить.
NailMan (2002-07-29 02:16:00) [12]Тогда первый Sample1 грузи как есть в HSample или HStream, а для второго выдели кусок памяти равный конечной длине четырех копий Sample2. B перед копированием в этот кусок памяти задай нужным номерам копии Sample2 нужное начальное смещение в байтах, и грузи этот кусок либо в HSAMPLE либо в HSTREAM и играй по кругу.
Например(условно):
Размер Sample2 = 512 b
S2#1 -> 0..511
S2#2 -> 500..1011 //Обрезаем S2#2 с начала
S2#4 -> 1500..2011 //Пишем сначала четвертую копию чтобы ее обрезать с начала
S2#3 -> 1000..1511 //Обрезаем S2#2 с конца
И получается так как у тебя по схеме.
Я вижу только так.
VEG (2002-07-28 18:08:00) [13]Я попытаюсь все объяснить схематически.
1.Самое главное, что мне нужно сделать, это добиться следующего эффекта:
----------- ----------- ----------- -----------
I | SAMPLE #1 |3| SAMPLE #2 || SAMPLE #2 || SAMPLE #2 |
----------- ----------- ----------- -----------
\_________/ \___________________________________/
^ ^
1 2
2. Обрезать Samples мне уже не надо, а надо добиться следующего эффекта:
----------- ----------- -----------
I | SAMPLE #1 |3| SAMPLE #2 | | SAMPLE #2 |
----------- ----------- -----------
----------- -----------
II | SAMPLE #2 | | SAMPLE #2 |
----------- -----------
\_________/ \_______________________________________/
^ ^
1 2
1. Первый Sample, который необходжимо проиграть один раз.
2. Всторой Sample, который нужно проигрывать в цикле сразу же после полного проигрывания первого.
3. Здесь я должен выполнить какие-то действия.
-<>-<>-<>-<>-<<<Фраза>>>-<>-<>-<>-<>-
Зверь, самый лютый, жалости не чужд.
Я чужд. Значит я не зверь.
VEG (2002-07-28 18:02:00) [14]Я попытаюсь все объяснить схематически.
1.Самое главное, что мне нужно сделать, это добиться следующего эффекта:
----------- ----------- ----------- -----------
I | SAMPLE #1 |3| SAMPLE #2 || SAMPLE #2 || SAMPLE #2 |
----------- ----------- ----------- -----------
\_________/ \___________________________________/
^ ^
1 2
2. Обрезать Samples мне уже не надо, а надо добиться следующего эффекта:
----------- ----------- -----------
I | SAMPLE #1 |3| SAMPLE #2 | | SAMPLE #2 |
----------- ----------- -----------
----------- -----------
II | SAMPLE #2 | | SAMPLE #2 |
----------- -----------
\_________/ \_______________________________________/
^ ^
1 2
1. Первый Sample, который необходжимо проиграть один раз.
2. Всторой Sample, который нужно проигрывать в цикле сразу же после полного проигрывания первого.
3. Здесь я должен выполнить какие-то действия.
-<>-<>-<>-<>-<<<Фраза>>>-<>-<>-<>-<>-
Зверь, самый лютый, жалости не чужд.
Я чужд. Значит я не зверь.
VEG (2002-07-28 12:43:00) [15]Мда... Мне все-равно такой способ не подойдет... Мне нужно сперва просто проиграть один звук, по его пролному проигрышу выполнить парочку действий, а потом уже запустить другой звук, НО УЖЕ С ВКЛЮЧЕННЫМ LOOP!
-<>-<>-<>-<>-<<<Фраза>>>-<>-<>-<>-<>-
Зверь, самый лютый, жалости не чужд.
Я чужд. Значит я не зверь.
VEG (2002-07-28 12:22:00) [16]А со сжатыми в MP3 WAV звуками такое пройдет?
NailMan (2002-07-28 03:21:00) [17]Ну тогда:
- обрезай сэмплы(файлы) в памяти как тебе надо,
a) Грузи их в массив HSAMPLE и пиши обработчик остановки проигрывания сэмпла с использованием функции BASS_ChannelIsActive
b) Грузи все сэмплы(файлы) в единый поток(HSTREAM) и проигрывай его.
MJH (2002-07-28 02:14:00) [18]а в чем проблема то? бэйсс поддерживает загрузку из памяти...кто тебе заперщает копировать в поток определенный кусок сэмпла?
VEG (2002-07-28 01:52:00) [19]>NailMan
Это я сам неплохо знаю! Хелп я весь прочитал! Вопрос был не то, как пашет эта функция, а совсем другое! Разуй глаза и прочти вопрос НОРМАЛЬНО!
>MJH
ПРОГРАММНО!
MJH (2002-07-28 01:47:00) [20]в конце обрезать можно - берешь саундфордж.... :)