Я сделал вырезание и вставку кода ниже о том, как использовать CameraPreviewImageSource и получить доступ к кадрам предварительного просмотра, но не работает, и кажется, что размер буфера кадра равен 0x0, считывая значение параметра ImageSize события OnPreviewFrameAvailable ,CameraPreviewImageSource пустой кадр предварительного просмотра
How to get preview buffer of MediaCapture - Universal app
protected override void OnNavigatedTo(NavigationEventArgs e)
{
InitializeAsync();
}
public async void InitializeAsync()
{
_cameraPreviewImageSource = new CameraPreviewImageSource();
await _cameraPreviewImageSource.InitializeAsync(string.Empty);
var properties = await _cameraPreviewImageSource.StartPreviewAsync();
var width = 640.0;
var height = 480;
_writeableBitmap = new WriteableBitmap((int)width, (int)height);
_writeableBitmapRenderer = new WriteableBitmapRenderer(_cameraPreviewImageSource, _writeableBitmap);
Initialized = true;
_cameraPreviewImageSource.PreviewFrameAvailable += OnPreviewFrameAvailable;
}
private async void OnPreviewFrameAvailable(IImageSize args)
{
System.Diagnostics.Debug.WriteLine("ww:"+args.Size.Width+" hh:"+args.Size.Height);
// Prevent multiple rendering attempts at once
if (Initialized && !_isRendering)
{
_isRendering = true;
try
{
await _writeableBitmapRenderer.RenderAsync();
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine("\n\n"+ex.Message);
System.Diagnostics.Debug.WriteLine(ex.StackTrace);
}
_isRendering = false;
}
}
возможности (веб-камера & микрофон) на Package.appxmanifest был выбран
Реализация CameraPreviewImageSource на Silverlight приложение работает!
Какая ошибка именно вы видите? –
Привет, ошибка заключается в следующем: операция предпринята попытка получить доступ к данным за пределами допустимого диапазона (Исключение из HRESULT: 0x8000000B) WW: 0 чч: 0 Нить 0xdb4 завершился с кодом 0 (0x0). на System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача) Задача в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача) Задача в System.Runtime.CompilerServices.TaskAwaiter'1.GetResult() в AugmentedReality.MainPage . d__19.MoveNext() Это похоже на то, что размер кадра 0 x 0 или пустой. –
Jano
На каком устройстве вы работаете? Я видел что-то подобное раньше, но это было специфично для устройства ... –