2007
07.27

深入淺出 Flash Media Server (RTMP)介紹 part VI – 使用WebCam

[這段程式碼僅供ActionScript 3.0與Flash Media Server參考]

要完成一個視訊的錄製,就要學會如何抓取周邊的資源來用,例如使用Webcam或是麥克風,這次來Demo如何使用在Flash中使用WebCam,下次再來說如何將影音錄製在Flash Media Server上。

要使用WebCam用的是Cemara類別,只要用get的方法就能抓取到WebCam使用,其實Flash是可以擷取多個攝影機的,不過這邊抓取一個並放置在Video身上就好了。


package {
import flash.display.Sprite;
import flash.media.Video;
import flash.media.Camera;
import flash.media.Microphone;

public class Main142webcam extends Sprite{

private var webCam:Camera;
private var micro:Microphone;

public function Main142webcam(){
  webCam = Camera.getCamera();
streamVideo.attachCamera(webCam);
}}}

當擷取到攝影機時,Flash會警告使用者是否允許使用該資源,若是允許才能繼續下去,否則將不會發生任何事情。 
webcam1.gif

最後由webcam擷取的影片將會交由streamVideo來進行播放的動作。

 webcam2.gif


相關文章:
  • 深入淺出 Flash Media Server (RTMP)介紹 part V – Play & Stream
  • 深入淺出 Flash Media Server (RTMP)介紹 part IV – 建立新連線
  • FLV與NetStram播放完畢判斷 part II
  • FLV與NetStram播放完畢判斷 part I
  • 深入淺出 Flash Media Server (RTMP)介紹 part III
  • 本文引用:
    文章內容由宋志峰[ANISTAR]撰寫,引用分享請以鏈結形式註明出處與原始作者。

    29 comments so far

    Add Your Comment
    1. 你好~我想請問一下
      FMS的撥放方式是透過

      rtmp://localhost/vod/檔名

      這樣子的一個方式讀取影片撥放
      那我如果想把讀取檔案的位子換成我所使用的資料庫MySQL時

      我應該在哪裡做修改呢?

      找了很久找不到…..還是不知道應該改哪裡

      可以請您為我說明一下嗎?

      謝謝

      • 你只需要把檔名紀錄在資料庫中就可以了,其他部分並沒有什麼差異,例如 rtmp://localhost/vod/xxxx (xxxx是資料庫記錄的內容)

    2. 不好意思喔~我想問一下 我直接複製你的code到AS3上
      可是執行時她說第13行語法錯誤耶….
      webCam = Camera.getCamera();
      怎麼會這樣 ??

      • 這是一個Class檔,你不能直接貼到Flash裡啦,而是要先產生一個叫Main142webcam.as檔,然後再到Flash中用Document Class拉進來.

    3. 您好
      請問一下,國內或國外有沒有完整介紹flash media server的書籍,最近有個案子會用到多
      人視訊連線,不知道哪邊有資源可以參考,謝謝

    4. 您好.请教一个关于red5的rmtp相关的问题.red5的demo中的publisher这个demo不知您是否看过.我原本打算用flash的官方教程做一个播放器,播放地址我用了 rtmp://localhost/oflaDemo/stream1237857254218 这样的格式,结果发现无论如何都播放不了,.请教您对这个问题是否有研究?

      • 抱歉,我沒有在用red5,所以可能幫不上你的忙。

    5. 您好

      請問原廠範例官方網站中 哪邊可以下載呢?
      謝謝

    6. To 463721929:
        原廠有範例可以參考,照本宣科跟著做就可以了解初級操作了。