2016-03-25 17 views
2

Arka kameranın lens gibi iki ui nesnesine bölünmesini istiyorum. Ancak uygulamayı başlattığımda bir hata var. İşte burada:Windows 10 Mobile'da kamera nasıl bölünür? Mobil

enter image description here

Nasıl iki nesne içine kamera bölmek? İşte benim kodudur: GamePage.xaml.cs

public sealed partial class GamePage : Page 
{ 
    readonly Game1 _game; 

    public GamePage() 
    { 
     this.InitializeComponent(); 
     // Create the game. 
     // var launchArguments = string.Empty; 
     //_game = MonoGame.Framework.XamlGame<Game1>.Create(launchArguments, Window.Current.CoreWindow, swapChainPanel); 
    } 

    Windows.Media.Capture.MediaCapture captureManager; 
    async private Task Start_Capture_Preview_Click() 
    { 
     captureManager = new MediaCapture(); //Define MediaCapture object 
     await captureManager.InitializeAsync(); //Initialize MediaCapture and 
     capturePreview.Source = captureManager; //Start preiving on CaptureElement 
     capturePreview2.Source = captureManager; //Start preiving on CaptureElement 
     await captureManager.StartPreviewAsync(); //Start camera capturing 
    } 
    async private void Stop_Capture_Preview_Click() 
    { 
     await captureManager.StopPreviewAsync(); //stop camera capturing 

    } 

    async private Task Start_Capture_Preview_ClickR() 
    { 
     captureManager = new MediaCapture(); //Define MediaCapture object 
     await captureManager.InitializeAsync(); //Initialize MediaCapture and 
     capturePreview2.Source = captureManager; //Start preiving on CaptureElement 
     await captureManager.StartPreviewAsync(); //Start camera capturing 
    } 


    protected override async void OnNavigatedTo(NavigationEventArgs e) 
    { 
     await Start_Capture_Preview_Click(); 
     await Start_Capture_Preview_ClickR(); 
    } 

} 

GamePage.xaml:

<Page 
x:Class="Victoria_XVR.GamePage" 
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
xmlns:local="using:Victoria_XVR" 
xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
mc:Ignorable="d"> 

<Grid x:Name="xD"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="200" /> 
    </Grid.RowDefinitions> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition Width="300" /> 
     <ColumnDefinition Width="300" /> 
    </Grid.ColumnDefinitions> 

    <CaptureElement x:Name="capturePreview" Grid.Row="0" Grid.Column="0"/> 
    <CaptureElement x:Name="capturePreview2" Grid.Row="0" Grid.Column="1"/> 
</Grid> 

cevap

0

Ben MediaCapture aynı anda birden fazla CaptureElements için akışını destekleyen sanmıyorum. Bunu bir geçici çözüm olarak önermek biraz acı vericidir, ancak teoride, bir zamanlayıcıda GetPreviewFrameAsync yöntemini kullanabilir ve bu çerçeveleri manuel olarak bir Görüntü denetimine dönüştürebilirsiniz. API'nin nasıl kullanılacağını gösteren a sample var. Bunun bellek ve CPU kullanımını arttıracağını ve sadece tek bir önizleme oluşturmasını bekliyorum.