Mikrofon Abfragen ??

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

FWeinb

ehemals "ich"

Betreff: Mikrofon Abfragen ??

BeitragSo, Apr 15, 2007 11:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo erstmal also ich wolte schon immer mal das Micro abfragen aber die Dll die ich dazu hier gefunden habe die Geht nur auf Win 98 und ich wolte Fragen ob ihr nicht noch eine Ander wisst. Ich habe gehört das geht mit der Bass.dll aber leider weiß ich welcher Befehl zum abfragen das Micros Zuständieg ist

mfg

ich
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs
 

Todeskop

BeitragSo, Apr 15, 2007 11:41
Antworten mit Zitat
Benutzer-Profile anzeigen
müsste miter bass.dll gehen musste mal im net suchen , aber achtung englischkenntnisse werden benötigt.
MFG Todeskop
 

FWeinb

ehemals "ich"

BeitragSo, Apr 15, 2007 11:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja also Englisch ist nicht das Prog nur ist es so das ich schon mit Googel gesucht habe und nix wirkliches gefunden ich wolte ja auch nur wissen wie es möglich ist und nicht DAS denn wie ich ja schon gesagt habe hebe ich das ja auch irgentwo schon mal gelesen das das mit der BASS.dll gehen soll.

Also wer weiß mit welcher Function das gehet kann mir das BITTE sagen

Danke im Vorraus

mfg

ich
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs
 

Todeskop

BeitragSo, Apr 15, 2007 11:57
Antworten mit Zitat
Benutzer-Profile anzeigen
also such ma am besten nach BASSex da hatte jemand mal ne "package" gemacht (alles braubare drinne), und da ist ne .CHM bei da steht alles drin,(hätte ich noch den link würde ich ihn dir sagen XD) was du brauchst, darf ich die hochladen mit dll und userlib, dann würde ich das eben machen....
MFG Todeskop

~edit~ http://mitglied.lycos.de/theve...BASSex.rar
da der link ^^
 

FWeinb

ehemals "ich"

BeitragSo, Apr 15, 2007 12:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke aber ich habe jetzt das Prob ist das ich mit dem Code nix anfangen kann ^^

int mic=-1,n,flags;
for (n=0;(flags=BASS_RecordGetInput(n))!=-1;n++) {
if ((flags&BASS_INPUT_TYPE_MASK)==BASS_INPUT_TYPE_MIC) { // found the mic!
mic=n;
break;
}
}
if (mic!=-1) printf("Found a microphone at input %d\n",mic);
else printf("No microphone found\n");

kann mir den bitte einer Erklähren.

Danke
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs

LukasBanana

BeitragSo, Apr 15, 2007 13:33
Antworten mit Zitat
Benutzer-Profile anzeigen
ich hat Folgendes geschrieben:
Danke aber ich habe jetzt das Prob ist das ich mit dem Code nix anfangen kann ^^

int mic=-1,n,flags;
for (n=0;(flags=BASS_RecordGetInput(n))!=-1;n++) {
if ((flags&BASS_INPUT_TYPE_MASK)==BASS_INPUT_TYPE_MIC) { // found the mic!
mic=n;
break;
}
}
if (mic!=-1) printf("Found a microphone at input %d\n",mic);
else printf("No microphone found\n");

kann mir den bitte einer Erklähren.

Danke

Tja mein Freund, das ist "C" Code, und dazu noch unvollständig.
So kann ich damit nicht viel anfangen weil ich nicht weiß welche Header ich includen muss und welche möglichen DLLs dazu noch als Parameter in den Linker müssen.

Gruß LukasBanana
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana
Meine Projekte auf github.com: https://github.com/LukasBanana
Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana

LukasBanana

BeitragSo, Apr 15, 2007 13:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab aber glaub ich ne gute Lösung gefunden Very Happy

Das ist allerdings glaub ich etwas komplizierter zu erläutern:

Mir wurde erst vor kurzem erklärt wie man eigene DLLs in die "Userlibs" packt:
https://www.blitzforum.de/foru...hp?t=23160

Da ich nicht nur den Kenntnissen von Blitz3D mächtig bin kann ich meine DLLs entweder auf "PureBasic" oder sogar "C++" schreiben und dann in Blitz3D anwenden. Ich habe jetzt mal eine DLL angefangen die ich für B3D verwänden will, ich programmiere sie auf PB und es sind schon ein paar nützliche Funktionen drin Wink
Unteranderem auch "mciSendString" aus der winmm.dll des system32 der WinAPI.
Damit kann man sehr vielles tun, z.B. Musik abspielen und auch das Mirkrofon

Ich habe die Funktion in meiner DLL "WinAPI_mciSendString()" genannt, man kann auch alle 4 Parameter angeben, wie man nun mit dieser Funktion das Mikrofon abfragen kann weiß ich auch.
Wenn es dir in den Sinn kähme meine DLL zu nutzen melde dich noch mal. Wink

Gruß LukasBanana
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana
Meine Projekte auf github.com: https://github.com/LukasBanana
Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana

Vertex

BeitragMo, Apr 16, 2007 12:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Die BASS.dll wird nichts nützen:
Code: [AUSKLAPPEN]
BOOL WINAPI BASS_RecordStart(
    DWORD freq,
    DWORD flags,
    RECORDPROC *proc
    DWORD user
);


In BlitzBasic kommst du nicht an Funktionspointer ran, die für den Parameter proc von Nöten sind. BASS ruft bei genügend Samples die angegebene Prozedur auf die so aussehen muss:
Code: [AUSKLAPPEN]
BOOL CALLBACK YourRecordProc(
    void *buffer,
    DWORD length,
    DWORD user
);


Ich persönlich empfehle dir OpenAL. Beschränkt sich auf:
alcOpenDevice
alcCreateContext
alcCaptureOpenDevice
alcCaptureStart

alcCaptureSamples

alcCaptureStop
alcCaptureCloseDevice
alcMakeContextCurrent
alcDestroyContext
alcCloseDevice

OpenAL dürfte ohne Wrapper direkt per Userlib eingebunden werden. Und im Gegensatz zu BASS musst du keine Lizenzgebühren bezahlen.

Du kannst natürlich auch direkt über die WinAPI gehen
waveInOpen
waveInPrepareHeader
usw.

Wie gesagt, BASS ist hier die schlechteste Lösung.

mfg olli
vertex.dreamfall.at | GitHub
 

FWeinb

ehemals "ich"

BeitragMo, Apr 16, 2007 14:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Gut ich such mal nach der Dll aber ich warte noch auf die Antwort der Banana

mal sehen was einfacher ist

DANEK euch allen
"Wenn die Menschen nur über das sprächen, was sie begreifen, dann würde es sehr still auf der Welt sein." Albert Einstein (1879-1955)
"If you live each day as if it was your last, someday you'll most certainly be right." Steve Jobs

LukasBanana

BeitragMo, Apr 16, 2007 19:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Also, ich kann dir ne *.zip geben, die entpackst du dann in "Blitz3D\userlibs\".
Einmal ne DLL dir ich auf PureBasic programmiert hab und ne *.decls in der kannst du dann auch die Funktionen nachgucken Wink

hier kannst`de die *.zip runterladen Smile
http://www.kram-hochladen.de/d...d=NjE0MDE=

Dann kannst du folgende Funktion so verwänden:

Code: [AUSKLAPPEN]

Global rec_buffer$, record_file$ = "C:\MyRecordFile.wav"

Function RecordWave()
  WinAPI_mciSendString("open new type waveaudio alias RECSOUND", rec_buffer$, 128, 0)
  WinAPI_mciSendString("set RECSOUND samplesperbuffer 8000 bytesperbuffer 8000", 0, 0, 0)
  WinAPI_mciSendString("record RECSOUND", rec_buffer$, 128, 0)
End Function

Function RecordStop()
  WinAPI_mciSendString("stop RECSOUND", 0, 0, 0)
  WinAPI_mciSendString("save RECSOUND "+Chr(34)+record_file$+Chr(34), rec_buffer$, 128, 0)
End Function


(Hoffentlich funktioniert das, es dient aber nur um einen Sound mit dem Microphon aufzunehmen)

Gruß LukasBanana
Mein YouTube Channel: http://www.youtube.com/user/SoftPixel
Mein Twitter Profil: https://twitter.com/LukasBanana
Meine Projekte auf github.com: https://github.com/LukasBanana
Meine Projekte auf bitbucket.org: https://bitbucket.org/LukasBanana

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group