В настоящее время я разрабатываю приложение для видеочата для планшета Windows 8 с планшетом Windows 8 с помощью Visual Studio Express для Windows 8 IDE. Я не могу захватить потоки с помощью MediaCapture. Я хочу захватить видео в CaptureElement, а затем для тестирования показать его в mediaelement. Я в основном хочу преобразовать IRandomAccessStream в байты, а затем наоборот в mediaelement. Ниже приведен мой код:видеозахват в приложении метро
public sealed partial class MainPage : Page
{
MediaCapture mediaCapture;
IRandomAccessStream randomAccessStream;
public MainPage()
{
this.InitializeComponent();
mediaCapture = new MediaCapture();
randomAccessStream = new InMemoryRandomAccessStream();
}
/// property is typically used to configure the page.</param>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
}
async private void startCapture(object sender, RoutedEventArgs e)
{
await mediaCapture.InitializeAsync();
capturePreview.Source = mediaCapture;
MediaEncodingProfile profile = MediaEncodingProfile.CreateWmv(VideoEncodingQuality.Auto);
await mediaCapture.StartRecordToStreamAsync(profile, randomAccessStream);
}
async private void stopCapture(object sender, RoutedEventArgs e)
{
await mediaCapture.StopRecordAsync();
await randomAccessStream.FlushAsync();
randomAccessStream.Seek(0);
// want to convert this randomAccessStream into byte[]
mediaElement.SetSource(randomAccessStream, "video/x-ms-wmv");
}
}