| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| --> |
| <!-- saved from url=(0014)about:internet -->
|
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
| <html xmlns="http://www.w3.org/1999/xhtml">
|
| <head>
|
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
|
| <title>SampleCameraCapture.mxml</title>
|
| <link rel="stylesheet" type="text/css" href="../SourceStyles.css"/>
|
| </head>
|
|
|
| <body>
|
| <pre><span class="MXMLProcessing_Instruction"><?xml version="1.0" encoding="utf-8"?></span>
|
| <span class="MXMLComponent_Tag"><s:View</span><span class="MXMLDefault_Text"> xmlns:fx="</span><span class="MXMLString">http://ns.adobe.com/mxml/2009</span><span class="MXMLDefault_Text">"
|
| xmlns:s="</span><span class="MXMLString">library://ns.adobe.com/flex/spark</span><span class="MXMLDefault_Text">"
|
| xmlns:mx="</span><span class="MXMLString">library://ns.adobe.com/flex/mx</span><span class="MXMLDefault_Text">"
|
| removing="view1_removingHandler(event)" textAlign="</span><span class="MXMLString">center</span><span class="MXMLDefault_Text">" title="</span><span class="MXMLString">Multi-Camera Access</span><span class="MXMLDefault_Text">"</span>
|
| viewActivate="view1_viewActivateHandler(event)"<span class="MXMLComponent_Tag">></span>
|
| <span class="MXMLSpecial_Tag"><fx:Script></span>
|
| <![CDATA[
|
| <span class="ActionScriptReserved">import</span> <span class="ActionScriptDefault_Text">mx</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">utils</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">ObjectUtil</span>;
|
|
|
| <span class="ActionScriptReserved">import</span> spark.events.ViewNavigatorEvent;
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">cam</span>:<span class="ActionScriptDefault_Text">Camera</span>;
|
|
|
| <span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptMetadata">Bindable</span><span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptReserved">
|
| protected</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">numCams</span>:<span class="ActionScriptDefault_Text">int</span>;
|
| <span class="ActionScriptBracket/Brace">[</span><span class="ActionScriptMetadata">Bindable</span><span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptReserved">
|
| protected</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">vid</span>:<span class="ActionScriptDefault_Text">Video</span>;
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptvar">var</span> <span class="ActionScriptDefault_Text">array</span>:<span class="ActionScriptDefault_Text">Array</span>;
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> view1_viewActivateHandler(event:ViewNavigatorEvent):<span class="ActionScriptReserved">void</span>
|
| {
|
| <span class="ActionScriptReserved">if</span> (Camera.isSupported)
|
| {
|
| <span class="ActionScriptvar">var</span> name1:String;
|
| <span class="ActionScriptvar">var</span> name2:String;
|
|
|
| array = Camera.names;
|
| numCams = array.length;
|
| <span class="ActionScriptReserved">for each</span> (<span class="ActionScriptvar">var</span> s:String <span class="ActionScriptReserved">in</span> array) {
|
| log.appendText(<span class="ActionScriptString">"Found Camera by name: "</span> + s + <span class="ActionScriptString">" \n"</span>);
|
| }
|
| }
|
| <span class="ActionScriptReserved">else</span> lbl.text = <span class="ActionScriptString">"Camera not supported"</span>;
|
| }</span>
|
|
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">onCamera1</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
|
| <span class="ActionScriptBracket/Brace">{</span>
|
| <span class="ActionScriptDefault_Text">cam</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Camera</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getCamera</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"0"</span><span class="ActionScriptBracket/Brace">)</span>;
|
| <span class="ActionScriptDefault_Text">cam</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">setMode</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">width</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">height</span><span class="ActionScriptOperator">,</span> 10<span class="ActionScriptBracket/Brace">)</span>;
|
| <span class="ActionScriptDefault_Text">vid</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Video</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptReserved">this</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">width</span><span class="ActionScriptOperator">,</span>500<span class="ActionScriptBracket/Brace">)</span>;
|
| <span class="ActionScriptDefault_Text">vid</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">attachCamera</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">cam</span><span class="ActionScriptBracket/Brace">)</span>;
|
| <span class="ActionScriptDefault_Text">uic</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">addChild</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">vid</span><span class="ActionScriptBracket/Brace">)</span>;
|
| <span class="ActionScriptBracket/Brace">}</span>
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> <span class="ActionScriptDefault_Text">onCamera2</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span>:<span class="ActionScriptReserved">void</span>
|
| <span class="ActionScriptBracket/Brace">{</span>
|
| <span class="ActionScriptReserved">if</span> <span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">numCams</span> <span class="ActionScriptOperator">==</span> 2<span class="ActionScriptBracket/Brace">)</span>
|
| <span class="ActionScriptBracket/Brace">{</span>
|
| <span class="ActionScriptDefault_Text">cam</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptDefault_Text">Camera</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">getCamera</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptString">"1"</span><span class="ActionScriptBracket/Brace">)</span>; <span class="ActionScriptComment">// it's recommended to access the camera by it's array index
|
| </span> <span class="ActionScriptDefault_Text">cam</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">setMode</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">width</span><span class="ActionScriptOperator">,</span> <span class="ActionScriptDefault_Text">height</span><span class="ActionScriptOperator">,</span> 10<span class="ActionScriptBracket/Brace">)</span>;
|
| <span class="ActionScriptDefault_Text">vid</span> <span class="ActionScriptOperator">=</span> <span class="ActionScriptReserved">new</span> <span class="ActionScriptDefault_Text">Video</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptReserved">this</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">width</span><span class="ActionScriptOperator">,</span> 500<span class="ActionScriptBracket/Brace">)</span>;
|
| <span class="ActionScriptDefault_Text">vid</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">attachCamera</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">cam</span><span class="ActionScriptBracket/Brace">)</span>;
|
| <span class="ActionScriptDefault_Text">uic</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">addChild</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptDefault_Text">vid</span><span class="ActionScriptBracket/Brace">)</span>;
|
| <span class="ActionScriptBracket/Brace">}</span>
|
| <span class="ActionScriptBracket/Brace">}</span>
|
|
|
| <span class="ActionScriptReserved">protected</span> <span class="ActionScriptfunction">function</span> view1_removingHandler(event:ViewNavigatorEvent):<span class="ActionScriptReserved">void</span>
|
| {
|
| vid = <span class="ActionScriptReserved">null</span>;
|
| cam = <span class="ActionScriptReserved">null</span>;
|
| }
|
|
|
| <span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptBracket/Brace">]</span><span class="ActionScriptOperator">></span>
|
| <span class="MXMLSpecial_Tag"></fx:Script></span>
|
| <span class="MXMLComment"><!--</span><span class="MXMLComment"> Note: ensure you have the Camera permission in the app-descriptor XML for Android devices </span><span class="MXMLComment">--></span>
|
| <span class="MXMLComponent_Tag"><s:VGroup</span><span class="MXMLDefault_Text"> width="</span><span class="MXMLString">100%</span><span class="MXMLDefault_Text">" height="</span><span class="MXMLString">100%</span><span class="MXMLDefault_Text">" horizontalAlign="</span><span class="MXMLString">center</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">></span>
|
| <span class="MXMLComponent_Tag"><s:Label</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">lbl</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
| <span class="MXMLComponent_Tag"><s:TextArea</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">txt</span><span class="MXMLDefault_Text">" visible="</span><span class="MXMLString">{</span><span class="ActionScriptDefault_Text">vid</span><span class="ActionScriptOperator">==</span><span class="ActionScriptReserved">null</span><span class="ActionScriptOperator">?</span><span class="ActionScriptReserved">true</span>:<span class="ActionScriptReserved">false</span><span class="MXMLString">}</span><span class="MXMLDefault_Text">" editable="</span><span class="MXMLString">false</span><span class="MXMLDefault_Text">"
|
| includeInLayout="</span><span class="MXMLString">{</span><span class="ActionScriptDefault_Text">vid</span><span class="ActionScriptOperator">==</span><span class="ActionScriptReserved">null</span><span class="ActionScriptOperator">?</span><span class="ActionScriptReserved">true</span>:<span class="ActionScriptReserved">false</span><span class="MXMLString">}</span><span class="MXMLDefault_Text">"
|
| text="</span><span class="MXMLString">This sample shows how you can access multiple cameras on devices such as iPhones with both a front and rear camera.</span><span class="MXMLDefault_Text">"
|
| textAlign="</span><span class="MXMLString">left</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
|
|
| <span class="MXMLComponent_Tag"><s:HGroup></span>
|
| <span class="MXMLComponent_Tag"><s:Button</span><span class="MXMLDefault_Text"> label="</span><span class="MXMLString">Camera 1 On</span><span class="MXMLDefault_Text">" click="</span><span class="ActionScriptDefault_Text">onCamera1</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span><span class="MXMLDefault_Text">" visible="</span><span class="MXMLString">{</span><span class="ActionScriptDefault_Text">Camera</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">isSupported</span><span class="MXMLString">}</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
| <span class="MXMLComponent_Tag"><s:Button</span><span class="MXMLDefault_Text"> label="</span><span class="MXMLString">Camera 2 On</span><span class="MXMLDefault_Text">" click="</span><span class="ActionScriptDefault_Text">onCamera2</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptBracket/Brace">)</span><span class="MXMLDefault_Text">" enabled="</span><span class="MXMLString">{</span><span class="ActionScriptDefault_Text">numCams</span><span class="ActionScriptOperator">==</span>2<span class="ActionScriptOperator">?</span><span class="ActionScriptReserved">true</span>:<span class="ActionScriptReserved">false</span><span class="MXMLString">}</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
| <span class="MXMLComponent_Tag"><s:Button</span><span class="MXMLDefault_Text"> label="</span><span class="MXMLString">Off</span><span class="MXMLDefault_Text">" click="</span><span class="ActionScriptDefault_Text">vid</span><span class="ActionScriptOperator">.</span><span class="ActionScriptDefault_Text">attachCamera</span><span class="ActionScriptBracket/Brace">(</span><span class="ActionScriptReserved">null</span><span class="ActionScriptBracket/Brace">)</span>;<span class="ActionScriptDefault_Text">vid</span><span class="ActionScriptOperator">=</span><span class="ActionScriptReserved">null</span>;<span class="ActionScriptDefault_Text">cam</span><span class="ActionScriptOperator">=</span><span class="ActionScriptReserved">null</span>;<span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
| <span class="MXMLComponent_Tag"></s:HGroup></span>
|
| <span class="MXMLComponent_Tag"><s:TextArea</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">log</span><span class="MXMLDefault_Text">" editable="</span><span class="MXMLString">false</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
| <span class="MXMLComponent_Tag"><mx:UIComponent</span><span class="MXMLDefault_Text"> id="</span><span class="MXMLString">uic</span><span class="MXMLDefault_Text">" width="</span><span class="MXMLString">100%</span><span class="MXMLDefault_Text">" height="</span><span class="MXMLString">100%</span><span class="MXMLDefault_Text">"</span><span class="MXMLComponent_Tag">/></span>
|
| <span class="MXMLComponent_Tag"></s:VGroup></span>
|
| <span class="MXMLComponent_Tag"></s:View></span></pre></body>
|
| </html>
|