Audio Capture

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Gamer
Beiträge: 180
Registriert: 21.03.2005 16:59

Beitrag von Gamer »

http://www.purearea.net/pb/CodeArchiv/M ... ordWave.pb

Also ich kenne nur die Version... und die nimmt eben nur Mikro auf.

Und hier find ich auch nichts betreffs Device:

http://msdn.microsoft.com/library/defau ... mmands.asp
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Beitrag von Delle »

Hier noch ein Code, dieser nimmt aber anscheinend auch nur über das Mikrofon auf. Das man bei MCI das Gerät auswählen kann, wäre mir auch neu!

Code: Alles auswählen

Global buffer$
buffer$=Space(256)

Procedure MCI(command.s)
  result=mciSendString_(command,@buffer$,256,0)
  ProcedureReturn result
EndProcedure


;---------------------------------------------------------------------
clip.s="C:\Test.wav"      ;file to save to disk
alignment=4
bits=16                   ;16bit wave file
channels=2                ;1=mono 2=stero
samples=44100             ;44.1kHz sample rate
reclength=5               ;length of audio to record (this example records 5 seconds)

;InitGadget(2)
If OpenWindow(0,10,10,200,100,#PB_Window_SystemMenu,"Record Audio")=0:End:EndIf
If CreateGadgetList(WindowID())=0:End:EndIf
TextGadget(0,10,10,100,20,"")


MCI("open new type waveaudio alias recsound")
MCI("set recsound time format ms")
MCI("set recsound alignment "+Str(alignment)+" bitspersample "+Str(bits)+" samplespersec "+Str(samples)+" channels "+Str(channels)+" bytespersec "+Str(samples*alignment) )
MCI("record recsound")

While elapsed < reclength*1000
  MCI("status recsound position")
  elapsed=Val(buffer$)
  SetGadgetText(0,"Recorded: "+Str(elapsed/1000)+" secs.")
  Delay(20)
Wend

MCI("save recsound "+clip)
MCI("close recsound")
End
Benutzeravatar
Hroudtwolf
Beiträge: 1416
Registriert: 30.10.2004 23:33
Kontaktdaten:

Beitrag von Hroudtwolf »

in wirklichkeit muss nur im Mixer eingestellt sein welches Gerät als Eingabequelle in betracht kommt.
Ist das Häckchen auf Line_In wird auch von dort aufgenommen.
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Beitrag von Delle »

Er sucht sicherlich einen Code der sowohl aufnehmen als auch die Quelle einstellen kann (aber ging ja bei ihm nicht mit Windows 98).
dog
Beiträge: 4
Registriert: 21.04.2006 09:56

Beitrag von dog »

Hallo Forum,

ich benötige eure Hilfe.
Bin bei einem Versuch mit der PB Testversion eine Audioaufnahmen zu machen.
Dazu habe ich das folgende Programm geladen:

http://www.purearea.net/pb/CodeArchiv/M ... ngAudio.pb

Leider erscheint nach Compile/Run die Fehlermeldung

Line 126: Structure not found: WAVEHDR

Die Zeile lautet: 126 Dim inHdr.WAVEHDR( #BUFFER_NUM )

Mit freundlichen Grüßen
dog
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Code: Alles auswählen

  Structure WAVEHDR
    lpData.l
    dwBufferLength.l
    dwBytesRecorded.l
    dwUser.l
    dwFlags.l
    dwLoops.l
    lpNext.l
    Reserved.l
  EndStructure
Benutzeravatar
Delle
Beiträge: 1130
Registriert: 10.05.2005 22:48

Beitrag von Delle »

Wäre eh mal schön, wenn man nicht nur den Mikrofoneingang aufnehmen kann sondern auch von x-beliebiger Quelle (z.B. Output).
Antworten