所以我期待在C#中播放一些音頻,並且我發現this: 基本上說參考quartz.dll
並使用FilgraphManagerClass
。安全性修改Embed Interop Types參考設置(和一個音頻播放器)
這對我的應用程序來說是完美的,因爲我希望能夠在歌曲中的特定點處開始播放歌曲。可以通過設置FilgraphManagerClass.CurrentPosition
來完成此操作。另外,我希望這首歌能夠在沒有任何特殊播放器彈出的情況下在後臺播放,這在使用此dll時會發生。
不幸的是我,當我嘗試做的例子表明,的Visual Studio 2010速成抱怨,並告訴我「的互操作類型FilgraphManagerClass
不能嵌入。」我被允許使用FilgraphManager
接口,但缺少CurrentPosition
屬性和任何尋找能力。
This article建議找到適當的接口。但似乎並沒有真正符合FilgraphManagerClass
的標準。它還簡要介紹了嵌入程序集的安全性
要使用該類,我最終右鍵單擊QuartzTypeLib
參考並將設置Embed Interop Types
更改爲false
。現在一切都按照它應該的那樣工作。
好吧......終於我的問題:
- 它是安全的改變
Embed Interop Types
設置像我一樣爲QuartzTypeLib
? - 所有COM類型都是如此嗎?
- 這是什麼嵌入和元數據的東西,爲什麼它會安全嗎?
- 有人可以信任的dll嗎?
啊,好的。我現在看到,當我將該屬性設置爲false時,我得到一個額外的dll。另外,我認爲它不起作用,因爲你必須在文件渲染後說player.Run()。出於好奇,爲什麼你認爲我應該使用WMP?我有點希望在後臺運行一些東西,我不想篩選一大堆額外的功能。雖然從C#使用它的想法有點酷。 :-P – user420667