3 Stimmen

Wie schaltet man das Mikrofon ein?

Wie kann ich das Mikrofon einschalten und eine Art Live-Stream öffnen, um zu hören, was auf meinem PC an einem anderen Ort passiert? Es wird ein Baby-Monitor-Projekt sein.

Haben Sie eine Idee, wie ich das machen soll? Ich bin eigentlich nur auf der Suche nach Code, um die Aufgabe zu erledigen. Den Rest kann ich selbst machen. Ich lerne Delphi, so sollte ich in Ordnung sein.

Ich müsste auch in der Lage sein, das Mikrofon zu stoppen. In diesem Stadium möchte ich nicht zurücksprechen, sondern nur in Echtzeit zuhören oder so nah wie möglich dran sein.

6voto

Larry Osterman Punkte 15976

Wow, alle empfehlen immer wieder externe Pakete für diesen Zweck. Es ist in Windows eingebaut - die APIs waveInOpen/waveInPrepareHeader/waveInBufferRead sollten auf allen Versionen von Windows funktionieren.

Sie können auch DirectSoundCapture verwenden, wenn Sie eine genauere Steuerung benötigen.

2voto

Harriv Punkte 5927

Audiolab bietet alle erforderlichen Funktionen (und mehr) und ist für die nicht-kommerzielle Nutzung kostenlos. Außerdem unterstützt es sowohl Win32 als auch .NET.

Wenn Sie auf einer niedrigeren Ebene arbeiten wollen, müssen Sie eine der APIs erkunden, die die Aufzeichnung unterstützen, wie Wave API (Beispiel in C++)

1voto

Rob Kennedy Punkte 158781

Ich fand die Wave-Audio-Paket die eine Komponente für Audioaufnahmen enthält. Sie kann in eine Datei oder einen Stream aufzeichnen oder einen Event-Handler mit Datenblöcken aufrufen, sobald diese verfügbar werden.

Sie enthält einen Audio-Redirector, der Audiodaten von einem Ort (in Ihrem Fall die Recorder-Komponente) übernimmt und sie an einen anderen Ort (z. B. die Wiedergabekomponente) sendet. Wenn Sie den Ton des Mikrofons abspielen wollen, während Sie ihn sammeln, werden Sie das wahrscheinlich wollen. Das Paket wird mit einer Handvoll Demos geliefert.

Der Redirector sieht so aus, als ob er neben dem Standard auch andere Wiedergabeobjekte akzeptieren kann. Wenn Sie also den Ton auf einem anderen Computer abspielen möchten, könnten Sie versuchen, eine Nachfolgeklasse zu schreiben, die die Daten über das Netzwerk sendet, anstatt sie an einen lokalen Lautsprecher zu senden.

0voto

Kieveli Punkte 10750

Ein Großteil der Integration, die ich mit einer Windows-Umgebung über Delphi vorgenommen habe, erfolgte über ein COM/ActiveX-Objekt. Suchen Sie die CoCreateInstance-Aufrufe und versuchen Sie dann, eine ActiveX-Steuerung die sich für Sie um das Mikrofon kümmern wird.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X