<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
		<id>https://wiki.nonip.net/index.php?action=history&amp;feed=atom&amp;title=Flash%2Fred5%2F%E3%83%93%E3%83%87%E3%82%AA%E9%80%9A%E8%A9%B1</id>
		<title>Flash/red5/ビデオ通話 - 変更履歴</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.nonip.net/index.php?action=history&amp;feed=atom&amp;title=Flash%2Fred5%2F%E3%83%93%E3%83%87%E3%82%AA%E9%80%9A%E8%A9%B1"/>
		<link rel="alternate" type="text/html" href="https://wiki.nonip.net/index.php?title=Flash/red5/%E3%83%93%E3%83%87%E3%82%AA%E9%80%9A%E8%A9%B1&amp;action=history"/>
		<updated>2026-04-24T17:51:51Z</updated>
		<subtitle>このウィキのこのページに関する変更履歴</subtitle>
		<generator>MediaWiki 1.24.2</generator>

	<entry>
		<id>https://wiki.nonip.net/index.php?title=Flash/red5/%E3%83%93%E3%83%87%E3%82%AA%E9%80%9A%E8%A9%B1&amp;diff=887&amp;oldid=prev</id>
		<title>127.0.0.1: ページの作成:「サーバサイドは何も描く必要は無いので、初期デモのoflaDemoを使います。  ==送信(models/SendCamera.as==  package models.camera  {    import fl...」</title>
		<link rel="alternate" type="text/html" href="https://wiki.nonip.net/index.php?title=Flash/red5/%E3%83%93%E3%83%87%E3%82%AA%E9%80%9A%E8%A9%B1&amp;diff=887&amp;oldid=prev"/>
				<updated>2015-05-19T18:18:39Z</updated>
		
		<summary type="html">&lt;p&gt;ページの作成:「サーバサイドは何も描く必要は無いので、初期デモのoflaDemoを使います。  ==送信(models/SendCamera.as==  package models.camera  {    import fl...」&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新規ページ&lt;/b&gt;&lt;/p&gt;&lt;div&gt;サーバサイドは何も描く必要は無いので、初期デモのoflaDemoを使います。&lt;br /&gt;
&lt;br /&gt;
==送信(models/SendCamera.as==&lt;br /&gt;
 package models.camera&lt;br /&gt;
 {&lt;br /&gt;
   import flash.display.Sprite;&lt;br /&gt;
   import flash.display.StageScaleMode;&lt;br /&gt;
   import flash.display.StageAlign;&lt;br /&gt;
   import flash.events.Event;&lt;br /&gt;
   import flash.media.Camera;&lt;br /&gt;
   import flash.media.Video;&lt;br /&gt;
   import flash.net.NetStream;&lt;br /&gt;
   import models.CustomNetConnection;&lt;br /&gt;
   &lt;br /&gt;
   public class SendCamera extends Sprite&lt;br /&gt;
   {&lt;br /&gt;
     private var camera:Camera;&lt;br /&gt;
     private var video:Video;&lt;br /&gt;
     private var nc:CustomNetConnection;&lt;br /&gt;
     private var stream:NetStream;&lt;br /&gt;
     public function SendCamera()&lt;br /&gt;
     {&lt;br /&gt;
       init();&lt;br /&gt;
     }&lt;br /&gt;
     private function init():void&lt;br /&gt;
     {&lt;br /&gt;
       // 送信用&lt;br /&gt;
       camera = Camera.getCamera();&lt;br /&gt;
       if (camera != null) {&lt;br /&gt;
         _setupCamera();&lt;br /&gt;
       } else {&lt;br /&gt;
         trace(&amp;quot;カメラがありません&amp;quot;);&lt;br /&gt;
         return;&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
       // カスタムコネクション&lt;br /&gt;
       nc = new CustomNetConnection();&lt;br /&gt;
       // 接続成功イベントハンドラ定義&lt;br /&gt;
       nc.addEventListener(Event.CONNECT, _connectSuccess);&lt;br /&gt;
     }&lt;br /&gt;
     /**&lt;br /&gt;
      * 接続成功イベントハンドラ&lt;br /&gt;
      */&lt;br /&gt;
     private function _connectSuccess(e:Event):void&lt;br /&gt;
     {&lt;br /&gt;
       // 送信用ビデオストリーム&lt;br /&gt;
       _sendVideo();&lt;br /&gt;
     }&lt;br /&gt;
     /**&lt;br /&gt;
      * 送信用カメラ設置&lt;br /&gt;
      */&lt;br /&gt;
     private function _setupCamera():void&lt;br /&gt;
     {&lt;br /&gt;
       video = new Video(camera.width,camera.height);&lt;br /&gt;
       video.attachCamera(camera);&lt;br /&gt;
       addChild(video);&lt;br /&gt;
     }&lt;br /&gt;
     /**&lt;br /&gt;
      * 送信用ビデオストリーム&lt;br /&gt;
      */&lt;br /&gt;
     private function _sendVideo():void&lt;br /&gt;
     {&lt;br /&gt;
       stream = new NetStream(nc);&lt;br /&gt;
       stream.attachCamera(camera);&lt;br /&gt;
       // 動画ID&lt;br /&gt;
       stream.publish(&amp;quot;myvideo1&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
==受信(ReceiveCamera.as)==&lt;br /&gt;
 package models.camera&lt;br /&gt;
 {&lt;br /&gt;
   import flash.display.Sprite;&lt;br /&gt;
   import flash.display.StageScaleMode;&lt;br /&gt;
   import flash.display.StageAlign;&lt;br /&gt;
   import flash.events.Event;&lt;br /&gt;
   import flash.media.Video;&lt;br /&gt;
   import flash.net.NetStream;&lt;br /&gt;
   import models.CustomNetConnection;&lt;br /&gt;
   &lt;br /&gt;
   public class ReceiveCamera extends Sprite&lt;br /&gt;
   {&lt;br /&gt;
     private var video:Video;&lt;br /&gt;
     private var nc:CustomNetConnection;&lt;br /&gt;
     private var stream:NetStream;&lt;br /&gt;
     public function ReceiveCamera()&lt;br /&gt;
     {&lt;br /&gt;
       init();&lt;br /&gt;
     }&lt;br /&gt;
     private function init():void&lt;br /&gt;
     {&lt;br /&gt;
       // カスタムコネクション&lt;br /&gt;
       nc = new CustomNetConnection();&lt;br /&gt;
       // 接続成功イベントハンドラ定義&lt;br /&gt;
       nc.addEventListener(Event.CONNECT, _connectSuccess);&lt;br /&gt;
     }&lt;br /&gt;
     /**&lt;br /&gt;
      * 接続成功イベントハンドラ&lt;br /&gt;
      */&lt;br /&gt;
     private function _connectSuccess(e:Event):void&lt;br /&gt;
     {&lt;br /&gt;
       // 受信用ビデオストリーム&lt;br /&gt;
       _receiveVideo();&lt;br /&gt;
     }&lt;br /&gt;
     /**&lt;br /&gt;
      * 受信用ビデオストリーム&lt;br /&gt;
      */&lt;br /&gt;
     private function _receiveVideo():void&lt;br /&gt;
     {&lt;br /&gt;
       video = new Video(480, 360);&lt;br /&gt;
       stream = new NetStream(nc);&lt;br /&gt;
       video.attachNetStream(stream);&lt;br /&gt;
       // 動画ID&lt;br /&gt;
       stream.play(&amp;quot;myvideo1&amp;quot;);&lt;br /&gt;
       addChild(video);&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
==コネクション(models/CustomConnection.as==&lt;br /&gt;
 package models&lt;br /&gt;
 {&lt;br /&gt;
   import flash.events.Event;&lt;br /&gt;
   import flash.net.NetConnection;&lt;br /&gt;
   import flash.events.NetStatusEvent;&lt;br /&gt;
   import flash.events.SecurityErrorEvent;&lt;br /&gt;
   import flash.events.AsyncErrorEvent;&lt;br /&gt;
   import flash.net.ObjectEncoding;&lt;br /&gt;
   /**&lt;br /&gt;
    * カスタムネットコネクション&lt;br /&gt;
    */&lt;br /&gt;
   public class CustomNetConnection extends NetConnection&lt;br /&gt;
   {&lt;br /&gt;
     public function CustomNetConnection() &lt;br /&gt;
     {&lt;br /&gt;
       objectEncoding = ObjectEncoding.AMF0;&lt;br /&gt;
       addEventListener(NetStatusEvent.NET_STATUS,onNetStatus);&lt;br /&gt;
       addEventListener(SecurityErrorEvent.SECURITY_ERROR,onSecurityError);&lt;br /&gt;
       connect(&amp;quot;rtmp://localhost/oflaDemo&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     private function onNetStatus(evt:NetStatusEvent):void&lt;br /&gt;
     {&lt;br /&gt;
       switch(evt.info.code) {&lt;br /&gt;
         case &amp;quot;NetConnection.Connect.Success&amp;quot;:&lt;br /&gt;
           trace(&amp;quot;接続成功&amp;quot;);&lt;br /&gt;
           dispatchEvent(new Event(Event.CONNECT));&lt;br /&gt;
           break;&lt;br /&gt;
         case &amp;quot;NetConnection.Connect.Closed&amp;quot;:&lt;br /&gt;
           trace(&amp;quot;接続解除&amp;quot;);&lt;br /&gt;
           break;&lt;br /&gt;
         case &amp;quot;NetConnection.Connect.Faild&amp;quot;:&lt;br /&gt;
           trace(&amp;quot;接続失敗&amp;quot;);&lt;br /&gt;
           break;&lt;br /&gt;
         case &amp;quot;NetConnection.Connect.Rejected&amp;quot;:&lt;br /&gt;
           trace(&amp;quot;接続拒否&amp;quot;);&lt;br /&gt;
           break;&lt;br /&gt;
         default:&lt;br /&gt;
           trace(&amp;quot;evt.info.code&amp;quot;);&lt;br /&gt;
       }&lt;br /&gt;
     }&lt;br /&gt;
     private function onSecurityError(evt:SecurityErrorEvent):void&lt;br /&gt;
     {&lt;br /&gt;
       trace(&amp;quot;セキュリティーエラー&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
     private function onAsyncError(evt:AsyncErrorEvent):void&lt;br /&gt;
     {&lt;br /&gt;
       trace(&amp;quot;同期エラー&amp;quot;);&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
==Main.as==&lt;br /&gt;
 package  &lt;br /&gt;
 {&lt;br /&gt;
   import flash.display.Sprite;&lt;br /&gt;
   import flash.display.StageScaleMode;&lt;br /&gt;
   import flash.display.StageAlign;&lt;br /&gt;
   import models.camera.ReceiveCamera;&lt;br /&gt;
   import models.camera.SendCamera;&lt;br /&gt;
   &lt;br /&gt;
   /**&lt;br /&gt;
    * メイン&lt;br /&gt;
    */&lt;br /&gt;
   public class Main extends Sprite&lt;br /&gt;
   {&lt;br /&gt;
     public function Main() &lt;br /&gt;
     {&lt;br /&gt;
       _init();&lt;br /&gt;
     }&lt;br /&gt;
     private function _init():void&lt;br /&gt;
     {&lt;br /&gt;
       stage.scaleMode = StageScaleMode.NO_SCALE;&lt;br /&gt;
       stage.align = StageAlign.TOP_LEFT;&lt;br /&gt;
       &lt;br /&gt;
       var _receiveCamera:ReceiveCamera = new ReceiveCamera();&lt;br /&gt;
       addChild(_receiveCamera);&lt;br /&gt;
       &lt;br /&gt;
       var _sendCamera:SendCamera = new SendCamera();&lt;br /&gt;
       _sendCamera.y = 300;&lt;br /&gt;
       &lt;br /&gt;
       addChild(_sendCamera);&lt;br /&gt;
     }&lt;br /&gt;
   }&lt;br /&gt;
 }&lt;br /&gt;
==参考URL==&lt;br /&gt;
http://blog.hereticsintheworld.com/91.html&lt;/div&gt;</summary>
		<author><name>127.0.0.1</name></author>	</entry>

	</feed>