Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Склеить два TMemoryStream 
:(
    Опции темы
CrazyPiggy
Дата 22.8.2013, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 4.6.2008

Репутация: нет
Всего: нет



Добрый день Есть записи в БД в которых хранится звук. Как вывести все эти записи в TMemoryStream, а затем одни разом всех их проиграть.
Делаю так
Код


procedure TMainForm.MessageVocal(Num:string) ;
var
 MS, MS1:TMemoryStream;
 Code: Word;
 zvuk:string;
 i:integer;
begin
  MS:=TMemoryStream.Create;
  MS1:=TMemoryStream.Create;
  ZVUK:=Num;
  for i:=1 to length(zvuk) do
   begin
    DM.FIBSprVocal.First;
    if  DM.FIBSprVocal.Locate('PHRASE',zvuk[i],[])  then
     begin
       DM.FIBSprVocalSOUND.SaveToStream(MS1);
       AddToStream(MS1,MS);
     end;
    MS1.Clear;
   end;
  PlaySound(MS.Memory,0,SND_MEMORY  or SND_SYNC);
  MS.Free;
  MS1.Free;
 end;

procedure  TMainForm.AddToStream ( Source , Dest : TMemoryStream );
 var
   Size : Integer ;
begin
 Source.position := 0 ;
 Size := Source.Size ;
 Dest.Write(Size,SizeOf(Integer));
 Dest.CopyFrom(Source, Source.Size);
end;

И никаких результатов. Подскажите что я делаю неправильно
PM MAIL   Вверх
Чучмек
Дата 22.8.2013, 05:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЭТ БИЛЭТ
**


Профиль
Группа: Участник
Сообщений: 841
Регистрация: 11.5.2008
Где: СССР

Репутация: 2
Всего: 41



Цитата(CrazyPiggy @  22.8.2013,  00:13 Найти цитируемый пост)
Есть записи в БД в которых хранится звук

В каком формате хранится? wav?
Если формат звука полностью идентичен (битрейд,число каналов) ,то еще можно слепить подправив заголовки.
RIFF
Проиграй записи по очереди. И не морочь себе голову. 

Это сообщение отредактировал(а) Чучмек - 22.8.2013, 05:49


--------------------
умную мысль держи при себе, а дурной - поделись с другими 
PM MAIL   Вверх
CrazyPiggy
Дата 22.8.2013, 08:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 47
Регистрация: 4.6.2008

Репутация: нет
Всего: нет



Цитата

В каком формате хранится? wav?

Хранится в формате riff.
Цитата

Проиграй записи по очереди. И не морочь себе голову

Поочереди у меня получается, но мне  нужно их склеить, а потом уже проигрывать
PM MAIL   Вверх
Alexeis
Дата 22.8.2013, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



Просто так склеить их получиться только если у треков одинаковый формат. Но и в этом случае нужно будет сначала создать 3й поток, куда записать правильные заголовки с учетом суммарной длинны трека, затем скопировать только аудиоданные с 2х треков. По поводу разбора RIFF на делфи см. http://forum.vingrad.ru/topic-89826.html


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.1044 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.