我正在嘗試將我的Microsoft LifeCam Studio集成到64位C#應用程序中,但找不到64位dll。我的x64 WPF應用程序需要用於Microsoft.Lifecam。*。dll集成的x32 DLL。任何允許兩者的想法?
有誰知道在哪裏可以找到的64個版本:
Microsoft.LifeCam.Camera.dll Microsoft.LifeCam.Framework.dll Microsoft.LifeCam.Streamer.dll
2.有沒有辦法在64位WPF應用程序中導入和使用上述32位DLL?當我嘗試引用並使用它們時,我收到以下編譯警告,然後發生相關的運行時錯誤。
警告1有該項目的處理器體系結構之間的失配被內置「AMD64」和 參考「Microsoft.LifeCam.Camera的處理器體系結構,版本= 4.25.512.0, 文化=中性,PublicKeyToken = 31bf3856ad364e35, processorArchitecture = x86「,」x86「。這種不匹配可能導致運行時間失敗。請考慮通過配置管理器更改項目的目標處理器體系結構 ,以便在您的項目和參考之間對齊 處理器體系結構,或者對參考進行 依賴關係,處理器體系結構與您項目的目標處理器體系結構匹配 。
我寫了下面的應用程序來演示我的問題。這在32位模式下編譯並運行良好。只要我將編譯器切換到目標x64,我就會收到預期的錯誤。
- 新的WPF應用程序
添加引用:
Microsoft.LifeCam.Camera.dll Microsoft.LifeCam.Framework.dll Microsoft.LifeCam.Streamer.dll
MainWindow.xaml.cs
using System;
using System.Windows;
using Microsoft.LifeCam;
namespace LifecamTest32Bit
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
try
{
CameraList cameras = new CameraList();
if (cameras.Count < 1)
{
MessageBox.Show("No imaging device found.", "No Camera", MessageBoxButton.OK, MessageBoxImage.Exclamation);
return;
}
Camera cam = (Camera)cameras[0];
Streamer streamer = new Streamer(cam, previewControl, false);
streamer.CurrentVideoResolutionIndex = 1; //selecting a resolution.
streamer.Start();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + Environment.NewLine + ex.StackTrace);
}
}
}
}
MainWindow.xaml
<!-- language-all: lang-xaml -->
<Window x:Class='LifecamTest32Bit.MainWindow'
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:strm="clr-namespace:Microsoft.LifeCam;assembly=Microsoft.LifeCam.Streamer"
Title="MainWindow" Height="350" Width="525"
Loaded="Window_Loaded">
<Grid>
<strm:PreviewView Name="previewControl" />
</Grid>
</Window>
博覽會。我目前正在使用AVICap窗口類,但我不滿意它的外觀。我決定使用LifeCam DLL作爲另一種快速和骯髒的方法,以獲得更好的預覽質量。我會看看這些鏈接,看看我能否找到更多關於改變質量設置的信息。 – IntStarFoo
AVICap(VFW)在20世紀90年代被廢棄,大多數網絡攝像頭使用DirectShow的工作。 –
我很困惑。是不是不贊成DirectShow?看起來Windows Media Foundation是Vista的建議解決方案,今天仍然有人建議。那是對的嗎? Expression Encoder SDK從哪裏進入? – IntStarFoo