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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Писк в колонках? :), как sound в Turbo Paskal 
:(
    Опции темы
Nicholas
  Дата 19.3.2005, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Мне необходимо вопроизвести "писк" на разных частотах, что бы он звучал в колонках, а не в динамике компа. На Delphi я даже аналога Sound Паскалевского не нашел - это все мне надо по Win XP.


PM MAIL ICQ   Вверх
p0s0l
Дата 19.3.2005, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



В DRKB вроде как есть пример создания .wav - файла определенной тональности... Там же есть примеры как проиграть wav'ы...



--------------------
С уважением, г-н Посол.
PM   Вверх
Vetos
Дата 4.4.2005, 12:04 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Напишите как в Delfi 7.0 проигрывать MP3-файлы.Поршу помочь!Help me!
  Вверх
Dark Wanderer
Дата 4.4.2005, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 25.10.2004
Где: Кишинёв

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



Цитата
Напишите как в Delfi 7.0 проигрывать MP3-файлы.Поршу помочь!Help me!


компонент TMediaPlayer
--------------------
  
PM MAIL   Вверх
Guest
Дата 6.4.2005, 14:33 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(p0s0l @ 19.3.2005, 13:37)
В DRKB вроде как есть пример создания .wav - файла определенной тональности... Там же есть примеры как проиграть wav'ы...


Дайте линк, плиз, я что-то ничего не нашел про wav.

И еще, мне надо "пищать" ;) быстро, поэтому создание файлов может не подойти.
  Вверх
p0s0l
Дата 7.4.2005, 01:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Г-н Посол
****


Профиль
Группа: Экс. модератор
Сообщений: 3668
Регистрация: 13.7.2003
Где: 58°38' с.ш. 4 9°41' в.д.

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



Цитата
Дайте линк, плиз, я что-то ничего не нашел про wav...

В Online-FAQ этого я тоже не нашёл, но есть в DRKB:
Код
uses
  MMSystem;  

type  
  TVolumeLevel = 0..127;  

procedure MakeSound(Frequency{Hz}, Duration{mSec}: Integer; Volume: TVolumeLevel);  
  {writes tone to memory and plays it}  
var  
  WaveFormatEx: TWaveFormatEx;  
  MS: TMemoryStream;  
  i, TempInt, DataCount, RiffCount: integer;  
  SoundValue: byte;  
  w: double; // omega ( 2 * pi * frequency)  
const  
  Mono: Word = $0001;  
  SampleRate: Integer = 11025; // 8000, 11025, 22050, or 44100  
  RiffId: string = 'RIFF';  
  WaveId: string = 'WAVE';  
  FmtId: string = 'fmt ';  
  DataId: string = 'data';  
begin  
  if Frequency > (0.6 * SampleRate) then  
  begin  
    ShowMessage(Format('Sample rate of %d is too Low to play a tone of %dHz',  
      [SampleRate, Frequency]));  
    Exit;  
  end;  
  with WaveFormatEx do  
  begin  
    wFormatTag := WAVE_FORMAT_PCM;  
    nChannels := Mono;  
    nSamplesPerSec := SampleRate;  
    wBitsPerSample := $0008;  
    nBlockAlign := (nChannels * wBitsPerSample) div 8;  
    nAvgBytesPerSec := nSamplesPerSec * nBlockAlign;  
    cbSize := 0;  
  end;  
  MS := TMemoryStream.Create;  
  with MS do  
  begin  
    {Calculate length of sound data and of file data}  
    DataCount := (Duration * SampleRate) div 1000; // sound data  
    RiffCount := Length(WaveId) + Length(FmtId) + SizeOf(DWORD) +  
      SizeOf(TWaveFormatEx) + Length(DataId) + SizeOf(DWORD) + DataCount; // file data  
    {write out the wave header}  
    Write(RiffId[1], 4); // 'RIFF'  
    Write(RiffCount, SizeOf(DWORD)); // file data size  
    Write(WaveId[1], Length(WaveId)); // 'WAVE'  
    Write(FmtId[1], Length(FmtId)); // 'fmt '  
    TempInt := SizeOf(TWaveFormatEx);  
    Write(TempInt, SizeOf(DWORD)); // TWaveFormat data size  
    Write(WaveFormatEx, SizeOf(TWaveFormatEx)); // WaveFormatEx record  
    Write(DataId[1], Length(DataId)); // 'data'  
    Write(DataCount, SizeOf(DWORD)); // sound data size  
    {calculate and write out the tone signal} // now the data values  
    w := 2 * Pi * Frequency; // omega  
    for i := 0 to DataCount - 1 do  
    begin  
      SoundValue := 127 + trunc(Volume * sin(i * w / SampleRate)); // wt = w * i / SampleRate  
      Write(SoundValue, SizeOf(Byte));  
    end;  
    {now play the sound}  
    sndPlaySound(MS.Memory, SND_MEMORY or SND_SYNC);  
    MS.Free;  
  end;  
end;  

// How to call the function:  

procedure TForm1.Button1Click(Sender: TObject);  
begin  
  MakeSound(1200, 1000, 60);  
end;  


Цитата
И еще, мне надо "пищать" ;) быстро, поэтому создание файлов может не подойти.

Как вариант, можно юзать DirectSound чтобы звук был сплошным (постоянно дописывать в буфер): http://forum.vingrad.ru/index.php?act=modu...el&article=1516


--------------------
С уважением, г-н Посол.
PM   Вверх
Vetos
Дата 7.4.2005, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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




А как ним то пользоваться? TMediaPlayer"ом
Dark Wanderer?
Объясни пожалуйсто.
Хотя бы простой пример.
smile


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

Запрещено:

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

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

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

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


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

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


 




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


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

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