|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.07.2012, 01:56 | #1 |
Форумчанин
Регистрация: 07.04.2009
Сообщений: 112
|
Проблема с динамическим массивом...
есть у кого соображения как сделать чтоб с выделенными жирным и подчеркнутым строчками работал данный код...
Код:
|
06.07.2012, 07:29 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
I'm learning to live...
|
|
06.07.2012, 10:57 | #3 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
Возможно, @second[i] надо заменить на @second[i][0].
|
06.07.2012, 11:04 | #4 |
Старожил
Регистрация: 30.12.2009
Сообщений: 11,430
|
Обьямите тип:
Код:
|
06.07.2012, 11:15 | #5 |
Участник клуба
Регистрация: 08.10.2007
Сообщений: 1,185
|
Не обязательно, можно и так. Объявлять надо, если динамический массив передаётся функции как параметр, потому что там array of ... - это открытый массив.
|
06.07.2012, 13:07 | #6 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
Указателем на элемент динамического массива должен быть первый элемент и функция SizeOf не применима к вложенным в массив последовательностям. Ее надо тоже заменить. Например, как ниже показано.
Код:
|
06.07.2012, 14:50 | #7 |
Форумчанин
Регистрация: 07.04.2009
Сообщений: 112
|
В общем пересмотрел код и решил сделать без объявления динамического массива на все "секунды" звуковой дорожки и обойтись только двумерным статическим массивом Second: array[0..1, 0..7999] of int16. Задача вообще всего этого: есть одномерный массив AllSamples, в котором сэмплы на всю звуковую дорожку(т.е. не на одну секунду а на все) и вот нужно теперь чередуя Second[0, 0..7999] и Second[1, 0..7999] отыграть все сэмплы массива AllSamples. Попробовал так:
Код:
|
06.07.2012, 15:16 | #8 |
Форумчанин
Регистрация: 08.09.2010
Сообщений: 880
|
И проблема в чем? В какой строке?
А зачем тогда два массива? Почему нельзя обойтись одним? Все равно каждый раз один из них надо заполнять из исходного. И, наверное, вообще можно без заполнения промежуточного массива делать. @AllSamples[CurrBlock] даст указатель на очередную порцию сэмплов (где CurrBlock - индекс начала очередного блока в исходном массиве), а размер - это всегда SPS (ну, кроме последнего блока, размер которого можно рассчитать). Последний раз редактировалось Прик; 06.07.2012 в 15:22. |
06.07.2012, 18:54 | #9 |
Форумчанин
Регистрация: 07.04.2009
Сообщений: 112
|
Ну у меня проблемы вчера возникли при проигрывании динамического массива, так и не смог справиться. Вот придумал вроде идеальный вариант по крайней мере мне так кажется. надо терь как то сделать чтоб игрался именно массив Second - так меньше памяти занимать будет. массив Sacond в данном примере чередуясь заполняется так как нужно я проверил.. Но вот проигрывается какая то чушь если превышает более 1 сек.. просто ведать я как то не так указываю или надо чтото очистить где то... но как?
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
проблема с динамическим массивом | Noob(c++) | Общие вопросы C/C++ | 56 | 02.08.2012 23:09 |
Проблема с динамическим массивом | TheKnyazz | Общие вопросы C/C++ | 3 | 28.04.2009 18:37 |
Проблема с динамическим массивом | dee_lv | Помощь студентам | 7 | 09.06.2008 16:58 |
проблема с динамическим массивом | romeo007.06 | Общие вопросы Delphi | 1 | 03.04.2008 20:18 |
проблема с динамическим массивом | kommunist | Помощь студентам | 6 | 11.11.2007 21:18 |