我目前正在处理Windows Media Foundation.但是,由于Microsoft H.264解码器和一些缺少自定义格式的解码器的一些问题,我想知道是否可以直接使用CLSID实例化DirectShow解码器,并围绕它构建一个暴露IMFTransform的代理获得Media Foundation的解码器.所以这是我的问题:
我可以直接实例化Directshow过滤器(首选解码器)并使用它们进行解码(即放置一些压缩帧并获得未压缩的帧)来创建MFT吗?
我知道如何使用其CLSID实例化过滤器本身.但是,我不知道如何使用实际的解码功能.
任何想法,提示,链接任何将被欣赏.谢谢,
J.
我有一个显示人员列表的页面.它可以按名字和姓氏排序.为了搜索人物,我有以下剃刀形式:
@using (Html.BeginForm("Index", "Persons", new { sort = ViewBag.Sort }, FormMethod.Get))
{
<p>
Search: @Html.TextBox("search", ViewBag.Search as string)
<input type="submit" value="Search" />
</p>
}
Run Code Online (Sandbox Code Playgroud)
ViewBag.Search并ViewBag.Sort包含最后使用的search和sortrouteValues.当我按照名字对人员列表进行排序时,表单会以HTML格式呈现:
<form action="/persons?sort=firstname" method="get">
<p>
Search: <input id="search" name="search" type="text" value="" />
<input type="submit" value="Search" />
</p>
</form>
Run Code Online (Sandbox Code Playgroud)
按照预期,?sort=firstname包含在行动中.但是,当我按下提交按钮(搜索)时,sort参数将丢失.新网址只有?search=....我怎样才能解决这个问题?
我的代码/标记如下Index.cshtml:
<p>
@Html.ActionLink("Create New", "Create")
@using (Html.BeginForm("Index", "Clients", FormMethod.Get))
{
<p>
Title: @Html.TextBox("search") <br />
<input type="submit" value="Search" />
</p>
}
</p>
Run Code Online (Sandbox Code Playgroud)
Visual Studio 2013警告我,最后一行(</p>)没有开始标记.我在文档中没有任何其他<p>或</p>标签.这是怎么回事?
完整的警告信息:End tag is missing matching start tag.
请参阅以下代码:
Private Function EqualsNothing(ByVal item As Object) As Boolean
Return item.Equals(Nothing)
End Function
Console.WriteLine(0.Equals(Nothing)) ' True
Console.WriteLine(EqualsNothing(0)) ' False
Run Code Online (Sandbox Code Playgroud)
如何Equals在拳击结构后避免返回不同的东西?有没有办法调用原始Equals实现?
我知道=在这种情况下我可以使用运算符,但是EqualsNothing应该同时使用类和结构.该=运营商将不会VB.NET带班工作,也不会与没有执行这个操作结构的工作.Equals 确实适用于所有事情,但正如我在上面演示的那样,Equals拳击后不会返回相同的东西.
那么,我应该如何重写EqualsNothing以使其适用于类和结构?
编辑:我尝试制作EqualsNothing通用,但这没有帮助.
asp.net ×2
razor ×2
.net ×1
asp.net-mvc ×1
clsid ×1
comparison ×1
decoder ×1
directshow ×1
equals ×1
forms ×1
html ×1
value-type ×1
vb.net ×1
warnings ×1