2013/11/22

C# 開發錄影 record vedio功能 window media player 使用DirectX.Capture與 DirectShow.NET

首先請先到這個網站, 有個強者寫好sample囉, 還有講解~
http://dashingquill.wordpress.com/2012/06/27/capturing-webcam-using-directshow-net-library/

我也是這樣完成了
但是有一天, 出現問題我在某台windows x86 device無法錄到影像
也就是有影無聲的狀況..
因此我需要 library source code
而剛才說到的網站只有 .dll檔

於是乎, 我去找src code
找到年代久遠的source code
http://www.codeproject.com/Articles/3566/DirectX-Capture-Class-Library

目前正在debug中

其他參考資訊:
.net中捕获摄像头视频的方式及对比(How to Capture Camera Video via .Net)
DirectShowNET Library
The Filter Graph and Its Components

2013/11/01

msbuild 入門與基本操作

msbuild 有點類似linux系統的makefile讓你可以自動透過指令編譯程式碼, 但許多地方差異滿大的!

—首先—

你要先確定command line interface 知道這個指令: msbuild
如果沒有這個指令,只需到環境變數PATH裡加入類似這樣的路徑:
C:\Windows\Microsoft.NET\Framework\v4.0.30319

Microsoft有寫簡單的操作, 可以跟著一步步做會比較有感覺
逐步解說:從頭開始建立 MSBuild 專案檔案
http://msdn.microsoft.com/zh-tw/library/dd576348.aspx

最簡單的用法:

新增一bat檔(如 buildall.bat), 用來批次處理編譯
內文為:

msbuild xxx1.slnmsbuild xxx2.slnmsbuild xxx3.slnmsbuild xxx4.slnmsbuild xxx5.sln

如此一來, 執行 buildall.bat 就可以邊一 xxx1 ~ xxx5 這五個solutions
直接後面接專案的.sln檔案就會幫你編譯囉, 當然若要不同編譯方式請在後面接著設定參數吧

如果遇到無法編譯 發生錯誤

C:\source\xxx\MidiVol.vcxproj(22,3): error MSB4019: The imported project "C:\Program files (x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the  declaration is correct, and that the file exists on disk.

處理方式: (來源參考)
I’m using Win 7 64-bit, VS2013 express, I fixed the problem by setting the following before running the cocos.py publish command:

SET VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120

其他參考

MSBuild Command-Line Reference:
http://msdn.microsoft.com/en-us/library/vstudio/ms164311.aspx

Common MSBuild Project Properties:
http://msdn.microsoft.com/en-us/library/vstudio/bb629394.aspx