2011-07-19 6 views
0

私は、デスクトップまたはモバイルが接続されているかどうかに応じて、ネットストリーム経由で送信するために、いくつかの異なるサイズの「カメラ」を用意しなければならない状況があります。ここでは、私はそれを設定している方法は次のとおりです。モバイルユーザーが、私はそれが自分の携帯電話には良いとすべての伸びではないに見えるように、モバイル1にNetStreamのに付属のカメラを入れ替えるだけだろ接続だから、複数のカメラモードを設定するにはどうすればいいですか?

protected var nearCam:Camera; 
protected var nearCamForMobile:Camera; 

nearCam = Camera.getCamera(); 
nearCam.setMode(385,240,10); 
nearCam.setQuality(0,0); 
//this is the cam I want to display on the near Side to show the user themselves. 
near_video.attachCamera(nearCam); 


//If a mobile user connects, I want to send them this resolution/aspect ratio of a camera so i'm just setting up this Camera but not showing it anywhere.   
nearCamForMobile = Camera.getCamera(); 
nearCamForMobile.setMode(480,800,10); 
nearCamForMobile.setQuality(0,0); 

。今の私の問題へ

if(isFarMobile) 
{ 
    sendStream.attachCamera(nearCamForMobile); 
} 
else 
{ 
    sendStream.attachCamera(nearCam); 
} 

....

私はnearCamForMobileを行うと、モバイルversaionにそれを送信する場合、それは携帯電話上で偉大に見える、それが伸びていません。しかし明らかにその480x800の解像度は385x240のビデオボックスであるデスクトップバージョンで伸びているように見えます。だから、もし私がちょうどnearCamをすればそれはデスクトップ上では大丈夫だと思われますが、それは携帯電話の上に伸びて見えます。

私は上記のように両方のヴァースを行う理由は、私がそれを必要とするときにnearCamForMobileが送信されるのを待ちますか?

一度に1つのカメラモードしか設定できませんか?どのように私はこれを行うことができる任意のアイデア?携帯電話のバージョンでは、ユーザーがpotraitとその840x480で電話を持っているので、その設定。デスクトップサイトは、ワイドスクリーンビデオのようなときに最もよく見えます。

私は基本的に2つの解像度を持つ2つのカメラバーを持つ方法を理解しようとしています。遠方がモバイルクライアントである場合、近い側に1を表示し、もう1つをネットストリームに接続します。 (私は遠方がモバイルであるかどうかを知る方法を知っていますが、その部分を心配していません)

モバイルクライアントに適した解像度/アスペクト比を送信するだけで済みます。デスクトップの清掃とは異なるアスペクト比になります。

+0

が、私はこの権利を読んでいますが - 1つの解像度でキャプチャしたいのに別の解像度で表示したいですか? – Nate

+0

2解像度。手前に1を表示し、もう1つをネットストリームに接続します。 – brybam

答えて

1

できません。ドキュメントから、特にこのラインをチェックアウト:

「複数のコールをgetCamera()メソッドの参照に同じカメラ ドライバしたがって、あなたのコードがfirstCamのようなコードが含まれている場合:カメラ= getCamera()とsecondCamはを: Camera = getCamera()、firstCamと secondCamは同じカメラを参照します。これはユーザーのデフォルトの カメラです。言い換えれば、そう

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/media/Camera.html#getCamera()

、できるだけ早くあなたが1を得るように、それ以降の取得の試みはちょうど同じオブジェクトへの別のポインタを作成します。したがって、同じオブジェクトへのポインタを持つ2つの変数があります。そのポインタにプロパティを設定すると、両方に設定されます。

意味がありますか?悪いニュースのため

申し訳ありません:あなたはFlash Builderの4.5を使用している場合

+0

(あなたが私に尋ねるならば、それは静的でなければならないが、whatev):P – Nate

+0

代わりに何ができるか? – brybam

+0

解決方法を選択する必要があります。あなたはワイドフォーマットで行くことができ、アプリをランドスケープアプリにすることができます(電話機が縦向きの場合は、ビデオをもっと小さく縮小できます)。 – Nate

0

\、あなたはCameraUIの代わりに、カメラのために呼び出すことによって、モバイルカメラにアクセスしているかどうかを確認することができます。あなたはこのようにそれをコーディングすることにより、あなたが持っているカメラのタイプを確認することができます。

if(CameraUI.isSupported) 
{ 
    //Mobile camera 
} 
else 
{ 
    //Desktop camera 
} 

あなたは、このリンクでより多くの情報を見つけることができます。http://www.flex-tutorial.fr/2010/09/07/air-android-prendre-des-photos-videos-avec-cameraui/

・ホープ、このことができます:)

+0

これは実際に何を求めているのではありません。申し訳ありませんが不明な場合。モバイルクライアントにメールを送信しているかどうかを確認することに問題はありません。しかし、私は基本的に2つの解像度を持つ2つのカメラ変数を持つ方法を理解しようとしています。手前に1を表示し、もう1つをネットストリームに接続します。 – brybam

+0

私はそれを調べなければなりませんが、私は実際にそうする時間がありません。しかし、私はあなたのオメガ/ chatrouletteのいくつかの並べ替えをしたいと思いますここで、あなたはないですか? :) –

+0

私はすでにそれを構築しています。私はちょうどモバイルアプリに仕上げ触れている。ちょうど私がモバイルインタフェース上に持っているセットアップに合った解決策に問題があります。 – brybam

関連する問題