Mit einem Mikro aufnehemn? Aber wie?
Übersicht

![]() |
GeeeckoBetreff: Mit einem Mikro aufnehemn? Aber wie? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo, wie neheme ich mit einem Mikro (BB3D) Sachen auf?
Ich habe auch schon gesucht! Hier der beweis: https://www.blitzforum.de/view...f97f050982 --------- Ich will es gerade in BB3D umschreiben aber es klappt net ![]() --------- Global Path$ = "C:\Test.wav" Global RS = CreateBank(128) mciSendString("open new type waveaudio alias capture",RS,128,0) mciSendString("record capture",RS,128,0) Delay 5000 mciSendString("save capture " + Path$,RS,128,0) Kann mir wer helfen? mfg Gaia |
||
![]() |
GeeeckoBetreff: Userlib |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hier noch die UserliB:
.lib "winmm.dll" mciSendString%(lpstrCommand$,lpstrReturnString%,uReturnLength%,hwndCallback%) : "mciSendStringA" sndPlaySound%(lpszSoundName$,uFlags%) : "sndPlaySoundA" |
||
![]() |
GeeeckoBetreff: Habe es geschafft! |
![]() Antworten mit Zitat ![]() |
---|---|---|
So, meine Frage hat sich erledigt!
[syntax="bb"] Graphics 512,256,32,2 SetBuffer FrontBuffer() Const WAVE_INVALIDFORMAT = $000 ;invalid forma Const WAVE_FORMAT_1M08 = $001 ;11.025 kHz,Mono, 8-bit Const WAVE_FORMAT_1S08 = $002 ;11.025 kHz,Stereo, 8-bit Const WAVE_FORMAT_1M16 = $004 ;11.025 kHz,Mono, 16-bit Const WAVE_FORMAT_1S16 = $008 ;11.025 kHz,Stereo,16-bit Const WAVE_FORMAT_2M08 = $010 ;22.05 kHz,Mono, 8-bit Const WAVE_FORMAT_2S08 = $020 ;22.05 kHz,Stereo, 8-bit Const WAVE_FORMAT_2M16 = $040 ;22.05 kHz,Mono, 16-bit Const WAVE_FORMAT_2S16 = $080 ;22.05 kHz,Stereo,16-bit Const WAVE_FORMAT_4M08 = $100 ;44.1 kHz,Mono, 8-bit Const WAVE_FORMAT_4S08 = $200 ;44.1 kHz,Stereo, 8-bit Const WAVE_FORMAT_4M16 = $400 ;44.1 kHz,Mono, 16-bit Const WAVE_FORMAT_4S16 = $800 ;44.1 kHz,Stereo,16-bit Const WAVE_FORMAT_PCM = $001 Const WHDR_DONE = $001 Const WHDR_PREPARED = $002 Const WHDR_BEGINLOOP = $004 Const WHDR_ENDLOOP = $008 Const WHDR_INQUEUE = $010 WaveFmt = CreateBank(18) PokeShort WaveFmt,00,WAVE_FORMAT_PCM ; FormatTag PokeShort WaveFmt,02,1 ; Channels PokeInt WaveFmt,04,11025 ; SamplesPerSec PokeInt WaveFmt,08,11025 ; AvgBytesPerSec | BlockAlign * SamplesPerSec PokeShort WaveFmt,12,1 ; BlockAlign | (Channels * BitsPerSample) / 8 PokeShort WaveFmt,14,8 ; BitsPerSample PokeShort WaveFmt,16,0 ; ExtraDataSize ;------------------------------------------------ WaveCaps = CreateBank(48) Dim Device(waveInGetNumDevs()) For I = 0 To waveInGetNumDevs() - 1 waveInGetDevCaps(I,WaveCaps,48) If PeekInt(WaveCaps,40) And WAVE_FORMAT_1M08 Then For C = 8 To 39 Char = PeekByte(WaveCaps,C) If Char = 0 Then Exit ProductName$ = ProductName$ + Chr$(Char) Next Print "(" + Str$(Dev) + ") " + ProductName$ ProductName$ = "" Dev = Dev + 1 Device(Dev) = I EndIf Next If Dev = 0 Then Print "Can't find a sounddevice!" WaitKey : End EndIf Repeat DevUsed = Input("Select a device(0-" + Str$(Dev - 1) + "): ") Until DevUsed => 0 And DevUsed <= Dev - 1 DevUsed = Device(DevUsed) DevHandle = CreateBank(4) waveInOpen(DevHandle,DevUsed,WaveFmt,0,0,0) If PeekInt(DevHandle,0) = 0 Then Print "Can't open wavedevice!" WaitKey : End EndIf waveInStart(PeekInt(DevHandle,0)) WavData = CreateBank(512) WaveHead = CreateBank(32) PokeInt WaveHead,00,AddressOf(WavData) ; lpData PokeInt WaveHead,04,514 ; dwBufferLength waveInPrepareHeader(PeekInt(DevHandle,0),WaveHead,32) SetBuffer BackBuffer() ;------------------ Path$ = "test.wav" mciSendString("open new type waveaudio alias capture",RS,128,0) While Not KeyDown(1) Cls mciSendString("record capture",RS,128,0) Flip Wend mciSendString("save capture " + Path$,RS,128,0) Function AddressOf(Bank) Local Address = CreateBank(4),RetValue RtlMoveMemory(Address,Bank+4,4) RetValue = PeekInt(Address,0) FreeBank Address Return RetValue End Function [/syntax] Hier die beiden libs: Code: [AUSKLAPPEN] .lib "winmm.dll" waveInGetDevCaps%(uDeviceID,WaveInCapsPointer*,WaveInCapsStructSize) : "waveInGetDevCapsA" waveInOpen%(WaveDeviceInputHandle*,WhichDevice,WaveFormatExPointer*,CallBack,CallBackInstance,Flags) : "waveInOpen" waveInGetNumDevs%() : "waveInGetNumDevs" waveInClose%(WaveDeviceInputHandle) : "waveInClose" waveInStart%(WaveDeviceInputHandle) : "waveInStart" waveInReset%(WaveDeviceInputHandle) : "waveInReset" waveInStop%(WaveDeviceInputHandle) : "waveInStop" waveInSave%(WaveDeviceInputHandle) : "waveInSave" waveInAddBuffer%(InputDeviceHandle,WaveHdrPointer*,WaveHdrStructSize) : "waveInAddBuffer" waveInPrepareHeader%(InputDeviceHandle,WaveHdrPointer*,WaveHdrStructSize) : "waveInPrepareHeader" waveInUnprepareHeader%(InputDeviceHandle,WaveHdrPointer*,WaveHdrStructSize) : "waveInUnprepareHeader" .lib "kernel32.dll" RtlMoveMemory%(Destination*,Source,Length) : "RtlMoveMemory" Code: [AUSKLAPPEN] .lib "winmm.dll" mciSendString%(lpstrCommand$,lpstrReturnString%,uReturnLength%,hwndCallback%) : "mciSendStringA" sndPlaySound%(lpszSoundName$,uFlags%) : "sndPlaySoundA" muss noch ein bischen was ändern. Man kann was in mikro sprechen, dann esc und dann kann man es anhören ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group