Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Тестирование USB


dosik ©   (2004-04-11 05:51:00) 

Уважаемые.

Кто-нибудь мне может внятно объяснить для чего нужен параметр IOCTL_USB_DIAGNOSTIC_MODE_ON для работы с USB. Какие у него входные и выходные параметры (структуры) и что именно он делает.

Заранее примного благодарен.
Дмитрий.


N170   (2004-04-12 09:39:00) [1]

Во-первых, сабжевая вещь недокументирована,
во-вторых, автор ветки сам не знает, чего хочет :)


Cobalt   (2004-04-11 23:21:00) [2]

Купи на развале диск с Windows DDK и читай хелп, прилагающийся к нему.
Или диск с MSDN.


dosik   (2004-04-11 17:32:00) [3]

Ну тогда подкиньте идейку, pls, как сделать какой-нибудь тест USB. Только не пустышку, а реальный тест. Что именно тестируется не важно.


NikB   (2004-04-11 10:24:00) [4]

Izvinite, "NikB   (11.04.04 10:22) [2] " - OSHIBKA!
:)


NikB   (2004-04-11 10:22:00) [5]

Помогите отправить звук на выход карты [D5, D7, Win95/98, WinME, WinXP]

Вовчик   (25.12.03 11:43)  
Подскажите пожалуйста, как сгенерированные программой значения передать на выход звуковой карты (8-битный сигнал), если можно, то с кодом. Спасибо!

--------------------------------------------------------------------------------
Digitman ©   (25.12.03 13:56) [1]
см. хэлп "Microsoft Multimedia Programmer's reference", все топики, касающиеся waveOut-функций

--------------------------------------------------------------------------------
konstantinov ©   (26.12.03 22:54) [2]
Как вывести звук через звуковую карту?
Previous  Top  Next  

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;  

Взято с сайта http://www.swissdelphicenter.../


Cobalt   (2004-04-11 10:06:00) [6]

Обычно в таких случаях говорят - STFW (Searching The F*cking Web)


Наверх

Титульная страница Поиск, карта сайта Написать письмо