2010-01-14 10 views
7

Ich entwickle eine Anwendung, wo ich Stimme aufnehmen muss (für diejenigen, die keine Webcam haben, so dass sie nur Mikrofon verwenden können, um Stimme aufzunehmen) oder Video (diejenigen, die eine Webcam haben - wie Laptop oder externe) Dateien und speichern Sie sie auf dem Server, danach speichern Sie den Dateinamen und eingeloggten Benutzer-ID in der Datenbank für den späteren Zugriff.Wie zeichne ich Sprachdateien mit PHP, FLASH auf

Ich weiß, dass ich eine Art Flash-App dafür verwenden muss. Aber gibt es irgendeinen freien, der diesen Zweck erfüllen könnte oder selbst wenn es bezahlte gibt, die diesem Zweck dienen könnten, wäre das großartig. Ich habe versucht, Google, aber vielleicht war ich nicht in der Lage, nach dem richtigen Begriff oder etwas zu gehen, konnte ich nicht erfolgreich eine richtige Lösung dafür zu finden.

Bitte, hilf mir!

+0

Ich habe über RED5 gelesen, aber in einer Shared Hosting-Umgebung kann ich es nicht installieren. Brauche also eine unabhängige Lösung. – Kunal

+0

Sie benötigen auch den Flash-Client, der über rtmp eine Verbindung zu Red5 herstellt und die Audio- und Videodaten dorthin streamt. Red5 ist nur ein Medienserver, dessen Aufgabe es ist, die Daten zu empfangen und in FLV-Dateien zu speichern. –

Antwort

4

Ich habe die gleiche Funktion in unserem neuesten Projekt, der Client möchte Videoaufnahmen von der Webcam und das Video auf der Profilseite des Benutzers erscheinen.

Für den Server implementieren wir die RED5 server. Es benötigt eine Java Virtual Machine in Ihrem Hosting. Sie können die Detailanforderungen und Installationsanweisungen auf der Website lesen.

Um die Aufzeichnung zu verarbeiten, entwickeln wir unsere eigene Flash-Anwendung, weil der Client eine benutzerdefinierte Schnittstelle anfordert, die mit der allgemeinen Website-Schnittstelle übereinstimmt. Ich kenne das Detail nicht, da wir es an einen anderen Flash-Entwickler auslagern. Vielleicht können Sie sehen, this thread, die Entwicklung der Flash-Aufnahme von JeroenW folgen.

Um aufgezeichnete Videos abzuspielen, können Sie jeden Flash-Videoplayer verwenden, der das Abspielen der rtmp-Videoquelle unterstützt. Sie können die aufgenommene FLV-Datei nicht direkt in RED5 abspielen, da die Datei keine Metadaten enthält, die vom Player benötigt werden. Die Aufnahme der aufgenommenen Datei als rtmp erfolgt durch RED5.

+0

http://nimbb.com/ ist eine sichere Hilfe :) – Kunal

+0

Verwenden Sie http://audior.ec und http://flvar.com für Audio und http://hdfvr.com für Video. –

0

Es gibt Open-Source-Lösungen, aber Sie benötigen einen eigenen Server, um sie auszuführen. Es gibt keine Möglichkeit, diese Dinge von Shared Hosting zu starten, außer wenn Ihr Provider wirklich nett ist und bereit ist, die notwendige Software zu installieren.

Ich fragte the same question ein paar Wochen zurück, überprüfen Sie die Antworten.

+0

Ihre Frage war für Video und Audio. Das ist nur Audio ... – ftrotter

+0

@ftrotter Nö, er erwähnt beide –

0

Zusätzlich zu red5 gibt es Adobes eigenen Flash Media server, mit dem Sie Audio/Video direkt auf den Server aufnehmen können.

Oder, wenn Sie sich geeky fühlen, können Sie Ihre eigene Lösung dafür mit einer Socket-Verbindung zum Server und decodieren Sie den Stream selbst auf der Serverseite. Sie sollten in der Lage sein, das Audio/Video lokal im Speicher zu erfassen und dann den Byte-Stream an Ihre eigene Serveranwendung zu übertragen.

11

Sie können dies einfach mit jRecorder, einem jQuery-Plugin. Sie benötigen nicht einmal einen Flash Media Server oder einen RED Server. JRecorder ist der gleiche wie jPlayer, Sie können jQuery und HTML zum Entwerfen Ihres Rekorders verwenden und Sie benötigen hierfür nicht einmal Flash- oder Action-Script-Kenntnisse.

jRecorder verwendet 1 pix versteckte swf-Datei, die alle die Aufzeichnung verwaltet/Vorschau und Senden der Dateidaten (WAV-Datei) zu einer URL, die Sie definiert (Wo Sie Code in PHP oder Java schreiben kann eine POST-Datei zu erhalten)

Es ist ziemlich einfach und sauber.

können Sie dieses Plugin herunterladen:

http://www.sajithmr.me/jrecorder-jquery

+0

Frage: Wie kann ich steuern, wie der Ton abgespielt wird? Ich sehe keine $ .jRecorder.play-Funktion und möchte das Audio nach der Aufnahme abspielen/pausieren können. Und ich will nicht, dass es automatisch spielt, nachdem ich auf Stopp geklickt habe. --Thanks –

+0

Um zu spielen/Pause/fastforward usw. müssen Sie einen normalen Spieler verwenden. Sobald Sie die WAV-Datei auf den Server hochgeladen haben (nachdem Sie mit Tools wie FFMPEG in MP3 konvertiert haben), können Sie einfach einen beliebigen jPlayer verwenden, um die Datei über den Browser zu laden und zu verwalten. Dieses Plugin zeichnet nur auf und schiebt es auf Ihren Server. Das Abspielen mit den aufgenommenen Inhalten ist hier weniger wichtig. –

0

Diese Frage, wenn googeln für jedermann so hier zuerst aus der Zukunft kommt „Wie Audio-php aufzeichnen“.

Eine einfache Möglichkeit, Audio mit Blitz aufnehmen und es mit PHP speichern: https://github.com/clouddueling/SimpleRecorder

Aufzeichnen von Audio, von URL-Post-Audiodaten zu Ihrer Wahl.

0

Sie könnten versuchen recordmp3online.com, die ein SDK hat. Das Schöne daran ist, dass es keinen Drittanbieter-Server (ala Red5) benötigt und mobile Geräte unterstützt, auf denen kein Flash installiert ist.