2010-01-14 60 views
7

我正在開發一個應用程序,我需要錄製語音(對於沒有攝像頭的人,以便他們只能使用麥克風錄製語音)或視頻(具有攝像頭的人 - 像筆記本電腦或外部)文件並將它們保存在服務器上,然後保存文件名並在數據庫中登錄用戶ID以供以後訪問。如何使用PHP錄製語音文件,FLASH

我知道我需要使用某種類型的Flash應用程序。但是有沒有免費的服務器可以達到這個目的,或者即使有付費的服務可以達到這個目的,那也是很棒的。我試圖谷歌,但可能是我無法去適當的術語或東西后,我無法成功找到適當的解決方案。

請幫幫我!

+0

我閱讀了RED5,但在共享主機環境中,我無法安裝它。所以需要獨立的解決方案。 – Kunal

+0

您還需要通過rtmp連接到Red5的Flash客戶端,並將音頻和視頻數據傳輸到該客戶端。 Red5只是一個媒體服務器,它的工作就是接收數據並將其存儲在.flv文件中。 –

回答

4

我在我們的最新項目中有同樣的功能,客戶希望從網絡攝像頭進行視頻錄製,並將視頻顯示在用戶的個人資料頁面中。我們執行RED5 server。它需要一個Java虛擬機在你的主機中。您可以閱讀網站中的詳細要求和安裝說明。

爲了處理錄音,我們開發了我們自己的Flash應用程序,因爲客戶端請求自定義界面以匹配整個網站界面。我不知道細節,因爲我們把它外包給一個flash開發者。也許你可以看到由JeroenW開發的閃存錄制開發this thread

要播放錄製的視頻,您可以使用任何支持播放rtmp視頻源的Flash視頻播放器。由於文件缺少播放器所需的元數據,因此無法直接在RED5中播放記錄的flv文件。將錄製的文件用作rtmp由RED5完成。

+0

http://nimbb.com/是一個肯定的幫助:) – Kunal

+0

使用http://audior.ec和http://flvar.com音頻和視頻http://hdfvr.com。 –

0

有開源解決方案,但您需要自己的服務器來運行它們。 除非您的提供商非常好,並且已準備好安裝必要的軟件,否則無法從共享主機運行這些內容。

幾周前我問the same question,查看答案。

+0

你的問題是視頻和音頻。這只是音頻... – ftrotter

+0

@ftrotter nope,他提到 –

0

除了red5之外,還有Adobe自己的Flash Media server,它允許您直接向服務器錄製音頻/視頻。

或者如果您覺得奇怪,您可以使用套接字連接到服務器並在服務器端自行解碼流,從而可以將自己的解決方案放在一起。您應該能夠將音頻/視頻本地捕獲到內存中,然後將字節流提供給您自己的服務器應用程序。

11

你可以簡單地使用jRecorder,一個jQuery插件。您甚至不需要Flash Media Server或RED服務器。 JRecorder與jPlayer相同,您可以使用jQuery和HTML來設計您的刻錄機,而且您甚至不需要Flash或Action腳本知識。

jRecorder使用管理所有記錄/預覽和發送文件數據(WAV文件)到你定義的(你可以寫在PHP或Java代碼接收POST文件)的URL

1個PIX隱藏的swf文件

這是非常簡單和整齊。

您可以從以下地址下載該插件:

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

+0

問題:如何控制音頻的播放方式?我沒有看到$ .jRecorder.play功能,並且我希望能夠在錄製後播放/暫停音頻。我不希望它在我停止後自動播放。 - 感謝 –

+0

要玩/暫停/ fastforward等你需要使用一些普通的球員。一旦將WAV文件上傳到服務器中(使用FFMPEG等工具轉換爲mp3之後),您可以簡單地使用任何jPlayer通過瀏覽器加載文件並進行管理。這個插件只記錄並推送到你的服務器。播放錄製的內容在這裏不太重要。 –

0

谷歌搜索「如何錄製音頻PHP」當這個問題第一次出現所以這裏爲來自未來的人。

一個簡單的方法來記錄與閃存音頻和使用PHP保存: https://github.com/clouddueling/SimpleRecorder

錄製音頻,音頻後期數據到您選擇的URL。

0

你可以嘗試recordmp3online.com它有一個SDK。關於這一點的好處是,它不需要第三方服務器(ala Red5),並且支持沒有安裝閃存的移動設備。