kostenloser Webspace werbefrei: lima-city


Daten von Microphon einlesen

lima-cityForumProgrammiersprachenBasic

  1. Autor dieses Themas

    lccserver

    Kostenloser Webspace von lccserver

    lccserver hat kostenlosen Webspace.

    Hi Leute, wie kann ich denn Daten vom Microphon auslesen??
    >> So dass ich diese in einer Datei speichern kann??


    Danke im Voraus
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    Du brauchst eine Schnittstelle zwischen deiner Anwendung und dem Mikrofon, also eine Programmbibliothek oder etwas über API...
  4. Autor dieses Themas

    lccserver

    Kostenloser Webspace von lccserver

    lccserver hat kostenlosen Webspace.

    Weißt du, wo ich dafür ne Art Beispiel oder Erklärung finde??
  5. ich kenn mich da jetzt nicht so aus, aber normal läuft die Musik ja dann über die Soundkarte? Und dieses Signal kann mit dem Programm "N°23" aufgenommen werden.
  6. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.


    Weißt du, wo ich dafür ne Art Beispiel oder Erklärung finde??



    Zu finden in der MCI API in der Winmm.dll (benötigt wird mindestens Direct X 7)
  7. Autor dieses Themas

    lccserver

    Kostenloser Webspace von lccserver

    lccserver hat kostenlosen Webspace.

    Wie kann ich nun auf diese DLL zugreifen, das hab ich noch nie begriffen...
  8. kam mein Vorschlag an?, ich bin mir eigentlich ziemlich sicher das das funktioniert
  9. Du willst einfach ein Mikrofon in deine Soundkarte stecken und dann aufnehmen, was du da reinsprichst, richtig?

    Probiers mal mit Audacity

    --
    Ohh. Hab erst jetzt gesehen, dass wir in VisualBasic sind. Ich dachte, du suchst einfach nur ein Programm.

    Edit (djfun): Doppelpost zusammengefasst

    Beitrag geändert: 5.6.2008 21:32:28 von djfun
  10. Autor dieses Themas

    lccserver

    Kostenloser Webspace von lccserver

    lccserver hat kostenlosen Webspace.

    Du alter Double-Poster...
    ALSO NEIN...

    Wie gesagt, ich will ein eigenes Programm dafür erstellen...
  11. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    Google hilft:

    http://www.powerdesktop-online.de/de/api.html

    Weiter unten steht dann auch was über die winmm.dll
  12. Autor dieses Themas

    lccserver

    Kostenloser Webspace von lccserver

    lccserver hat kostenlosen Webspace.

    Das ist schon mal sehr nützlich, aber woher weiß ich, wie die gesuchte Funktion heißt?
  13. Autor dieses Themas

    lccserver

    Kostenloser Webspace von lccserver

    lccserver hat kostenlosen Webspace.


    da sieht mans mal wieder erst mir bei dem thema einen dummen kommentar geben und dann selber fragen
    -> so das war mein dummer kommentar zu deinem thread
    muhahahahahahahahahahahahahaha:thefinger:


    @reimann
    Solche 'schlauen' Beiträge kannst du dir echt sparen, ich kenn mich deshalb nicht mit DLLs aus, weil ich nie den 'vorgefertigten Inhalt' anderer Programmierer verwende, sondern mir alles selbst programmiere. Tjaja Daniel R....da kannst echt nur dumm schauen...
  14. dann spar du dir solche schlauen beiträge wie "in java wird das bestimt garnicht gehn"
    -> hättest du dir meine beitrag genau angesehn hättest dus sehn müsse:biggrin:n

    achso ich vergas "nieder mit dll die zukunft gehört jar"

    Beitrag geändert: 4.12.2007 12:51:21 von reimann
  15. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.


    Das ist schon mal sehr nützlich, aber woher weiß ich, wie die gesuchte Funktion heißt?


    Google und MSDN hilft.

    Beispiel für eine Lösung über DirectX:
    http://www.tek-tips.com/faqs.cfm?fid=4782

    Beispiel für eine Lösung über die winmm.dll API:
    (Code gilt nur für VB 2005, in älteren Versionen sind Anpassungen erforderlich)
    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1299204&SiteID=1
  16. Autor dieses Themas

    lccserver

    Kostenloser Webspace von lccserver

    lccserver hat kostenlosen Webspace.

    Danke dir cbhp,
    @reimann: Daniel du wirst sehen, dass Java keinesfalles mehr Bedeutung gewinnen wird als VISUAL BASIC oder gar C++:frust::sauer::sauer::sauer:
  17. Vielleicht kann dir das ja weiter helfen. Ist allerdings VB.net

    Private Declare Function mciSendString Lib \"winmm.dll\" Alias \"mciSendStringA\" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer

    Public Enum BitsPerSec
    Bits16 = 16
    Bits8 = 8
    End Enum

    Public Enum SampelsPerSec
    Sampels8000 = 8000
    Sampels11025 = 11025
    Sampels12000 = 12000
    Sampels16000 = 16000
    Sampels22050 = 22050
    Sampels24000 = 24000
    Sampels32000 = 32000
    Sampels44100 = 44100
    Sampels48000 = 48000
    End Enum

    Public Enum Channels
    Mono = 1
    Stereo = 2
    End Enum

    Dim RS As String
    Dim CB As Integer

    Public Sub StartRecord(ByVal BPS As BitsPerSec, _
    ByVal SPS As SampelsPerSec, ByVal Mode As Channels)

    Dim retStr As String
    Dim cBack As Long
    Dim BytesPerSec As Long

    retStr = Space$(128)
    BytesPerSec = (Mode * BPS * SPS) / 8

    mciSendString(\"open new type waveaudio alias capture\", retStr, 128, cBack)
    mciSendString(\"set capture time format milliseconds bitspersample \" & CStr(BPS) & _
    \" samplespersec \" & CStr(SPS) & \" channels \" & CStr(Mode) & \" bytespersec \" & _
    CStr(BytesPerSec) & \" alignment 4\", retStr, 128, cBack)
    mciSendString(\"record capture\", retStr, 128, cBack)
    End Sub

    Public Sub SaveRecord(ByVal path As String)
    Dim retStr As String
    Dim TempName As String
    Dim cBack As Long
    Dim fs, F
    If IO.File.Exists(path) Then IO.File.Delete(path)
    \' Speichern im Root als Temp
    TempName = path
    retStr = Space$(128)
    mciSendString(\"stop capture\", retStr, 128, cBack)
    mciSendString(\"save capture \" & TempName, retStr, 128, cBack)
    mciSendString(\"close capture\", retStr, 128, cBack)

    End Sub

    Die Aufnahme starten mit

    Private Sub Rec()
    RS = Space(128)
    StartRecord(BitsPerSec.Bits16, SampelsPerSec.Sampels32000, Channels.Stereo)
    End Sub

    und beenden:
    SaveRecord(\"c:\\Dateiname.wav\")


    Beitrag geändert: 2.3.2008 6:47:36 von jennessen
  18. Autor dieses Themas

    lccserver

    Kostenloser Webspace von lccserver

    lccserver hat kostenlosen Webspace.

    Und gäbe es eine Möglichkeit, den aufgenommenen Sound direkt in ein Byte Array (und nicht erst als Datei) zu speichern?

    (mit VB.NET)

    Beitrag geändert: 1.6.2008 13:20:11 von lccserver
  19. cbhp

    Co-Admin Kostenloser Webspace von cbhp

    cbhp hat kostenlosen Webspace.

    Nach der in der MSDN mit der Winmm.dll beschriebenen Methode ( http://forums.msdn.microsoft.com/en-US/vbgeneral/thread/41e5a1fd-b33a-4e62-b73a-aa364c5dae5c/ ) gibts keine Möglichkeit, den Zwischenschritt, dass die Datei gespeichert wird, zu überspringen.


    Wenn du dir das Beispiel mit der DirectX-Methode ansiehst ( http://www.tek-tips.com/faqs.cfm?fid=4782 ), wird hier der Sound in ein Bytearray zuerst eingelesen, dann in einen Stream gepackt und abgespeichert. Der Code ist auf .Net-Basis geschrieben, das heißt, du kannst ihn einfach an die VB.Net-Schreibweise anpassen.
  20. Autor dieses Themas

    lccserver

    Kostenloser Webspace von lccserver

    lccserver hat kostenlosen Webspace.

    Das klingt ja erst mal gut, aber das sieht mir nach C++ aus,
    und das kann ich leider absolut nicht. Hättest du einen kleinen
    Denkanstoß, oder besser noch ne Hilfe für mich?
  21. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!