Tôi đã triển khai ứng dụng C# để truy cập khung RGB ở tốc độ khung hình 30 khung hình/giây.Ngoại lệ trên BitmapFrame.Create (lỗi trong khuôn khổ WPF?)
Sự kiện khung đến nơi được quản lý với mã này:
void client_ColorFrameReady(object sender, ColorFrameReadyEventArgs e)
{
mycounter++;
Console.WriteLine("new frame received: " + mycounter);
if (writer != null)
{
count++;
if (count % 2== 0)
{
using (var frame = BitmapImage2Bitmap(e.ColorFrame.BitmapImage))
using (var thumb = ResizeBitmap(frame, 320, 240))
{
writer.WriteVideoFrame(thumb);
}
}
}
else
{
writer.Close();
}
}
với điều kiện if tôi quản lý chỉ có một trong hai khung.
Khi mã của tôi gọi BitmapImage2Bitmap
tôi có được ngoại lệ này:
Trường hợp ngoại lệ bằng tiếng Anh nên là:
A first chance exception of type 'System.NotSupportedException' occurred in `PresentationCore.dll`
Additional information: BitmapMetadata is not available on BitmapImage.
Điều lạ là ứng dụng của tôi hoạt động "tốt" vì khung được chèn chính xác vào tệp đầu ra.
Tôi đã đọc this, do đó, vấn đề có vẻ như là lỗi trong khuôn khổ WPF.
Cảm ơn bạn @Hans. Nhưng tôi có một vấn đề: ứng dụng của tôi chỉ chạy nếu biên dịch trong chế độ gỡ lỗi, chế độ phát hành gây ra sự cố, vì vậy ngoại lệ mà tôi nghi ngờ có thể là nguyên nhân của sự cố – GVillani82
Không, bạn đang tìm góc sai cho vấn đề đó. –
Ok, cảm ơn bạn @Hans – GVillani82