Adding assembly reference to QuartzTypeLib

2020-04-10 22:46发布

I am a new programmer using Visual Studio 2008. How can I add an reference to QuartzTypeLib. I have already checked the add reference folder and do not see a library for Quartz in the .net or com reference library. When trying to compile code I am receiving an error that states missing assembly reference.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using QuartzTypeLib;

namespace DirectShowCsharp
{
    class Program
    {
        static void Main(string[] args)
        {

       }
    }
}

3条回答
叼着烟拽天下
2楼-- · 2020-04-10 23:20

In add reference select Browse on left and then select browse in the right down corner and browse to the location of your library .

查看更多
相关推荐>>
3楼-- · 2020-04-10 23:22

There is a complete solution that uses QuartzTypeLib to play videos.

Player

DirectShow MediaPlayer in C#

The relevant part of the source code is:

using QuartzTypeLib;

FilgraphManager FilterGraph = new FilgraphManager();
FilterGraph.RenderFile("test.mp3");
FilterGraph.Run();
// ...
FilterGraph.Stop();
查看更多
何必那么认真
4楼-- · 2020-04-10 23:29

AFAIK, DirectShow is considered as obsolete by Microsoft, probably this is the reason for not including this assembly into the latest Visual Studio.

I don't know how to automate the 1st action, but it is needed only once before the first build.

  1. Run tlbimp tool (in your case path will be different):

    "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\TlbImp.exe" %windir%\system32\quartz.dll /out:QuartzTypeLib.dll

  2. Add generated QuartzTypeLib.dll as a COM-reference to your project (click right mouse button on the project name in "Solution Explorer", then select "Add" menu item and then "Reference")

  3. In your Project, expand the "References", find the QuartzTypeLib reference. Right click it and select properties, and change "Embed Interop Types" to false. (Otherwise you won't be able to use the FilgraphManagerClass in your project (and probably a couple of other ones)).

查看更多
登录 后发表回答