小编Saq*_*qib的帖子

指示 getUserMedia 使用最佳可用相机分辨率

我正在使用 getUserMedia 函数从网络摄像头录制视频。一切工作正常,除了当我刚刚指定 video: true 约束时它仅以 640x480 分辨率录制。

如果我设置如下约束,我现在可以在笔记本电脑上获得更好的录音质量:

var mediaConstraints = {
    audio: true,
    video: {
        width: { min: 1280 },
        height: { min: 720 }
    }
};
Run Code Online (Sandbox Code Playgroud)

但是,如果另一台设备的分辨率高于 1280x720,或者甚至更低,该怎么办?

我尝试将 min 设置为非常低,将 max 设置为非常高;但它只是默认为 640x480,或者根本没有给出任何内容。我也尝试设置所需的大小,但正如预期的那样 - 我最终得到了该值。如果我将“期望”设置得非常高(因此它会选择最接近的可用值),那么我最终将一无所获。

那么问题是,如何设置约束以获得相机可以提供的最大分辨率?

html javascript video getusermedia

5
推荐指数
1
解决办法
4368
查看次数

使用WrapPanel和ScrollViewer在WPF中提供多列Listbox

我正在创建一个简单的LOB应用程序,它从XML文件加载数据并将其显示在一个列表中,其中包含几个用于编辑的按钮.

在我的第一次尝试中,一切都很好,只是列表在一个长列中向下滚动.我希望数据包装,以便在窗口的底部开始第二列,依此类推 - 如果你调整Window的大小,数据应该相应地调整大小.

首先,我只是将ListBox放在ScrollViewer中.这没有任何区别.

然后,我在ItemTemplate中添加了一个WrapPanel.在这一点上,我横向排了一个长行,但它从未包裹到第二行,尽管我设置了ScrollViewer.Horizo​​ntalScrollbar = disabled.

我在各种博客和论坛上搜索过网络,但看不出建议和我的代码之间的区别(包含在下面).任何提示将非常感激.

<Window x:Class="MyApp.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="My App" Height="300" Width="400"
        FocusManager.FocusedElement="{Binding ElementName=eventsList}">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="*" />
            <RowDefinition Height="auto" />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="*" />
        </Grid.ColumnDefinitions>
                <ScrollViewer Grid.Row="0" Grid.Column="0"     HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
            <ListBox Name="eventsList">
                <ListBox.ItemsPanel>
                    <ItemsPanelTemplate>
                        <WrapPanel />
                    </ItemsPanelTemplate>
                </ListBox.ItemsPanel>
            </ListBox>
        </ScrollViewer>

        <StackPanel Grid.Row="1" Grid.Column="0" Orientation="Horizontal"     HorizontalAlignment="Center" Visibility="Collapsed">
            <Button Name="action1Button" />
            <Button Name="action2Button" />
            <Button Name="action3Button" />
        </StackPanel>
    </Grid>
</Window>
Run Code Online (Sandbox Code Playgroud)

data-binding wpf xaml listbox

4
推荐指数
1
解决办法
2万
查看次数

ASP.NET DataGrid和自定义分页

我正在尝试在ASP.NET中实现DataGrid,并希望实现自定义分页,这样我就不必一次性提供所有数据.我花了几个小时在互联网上进行研究,但没有找到任何有用的东西.

当我查看页面时,我看到网格中的第一组结果,前一个链接被禁用.然而,当我单击下一步时,我再次看到网格的第一页,其中前一个链接被禁用.在调试代码时,我确定永远不会调用MyGrid_PageIndexChanged()事件处理程序.

我在下面提供了简化代码.我已经更改了变量名称和省略方法,专注于数据网格分页问题.

在ASPX文件中:

<asp:DataGrid ID="myGrid" runat="server" GridLines="None" UseAccessibleHeader="true" AutoGenerateColumns="false" AllowPaging="true" AllowCustomPaging="true" PageIndexChanged="MyGrid_PageIndexChanged">
<PagerStyle Mode="NextPrev" NextPageText="Next >" PrevPageText="< Previous" />

<Columns>
<asp:BoundColumn HeaderText="Title" DataField="Name" />
<asp:BoundColumn HeaderText="Date" DataField="Date" />
</Columns>
</asp:DataGrid>
Run Code Online (Sandbox Code Playgroud)

并在CS文件中:

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
                            myGrid.PageSize = 20;
                            myGrid.VirtualItemCount = GetNumItems();
            BindMyGrid();
        }
    }

    protected void MyGrid_PageIndexChanged(object sender, DataGridPageChangedEventArgs e)
    {
        myGrid.CurrentPageIndex = e.NewPageIndex;
        BindMyGrid();
    }

    private int GetNumItems()
    {
        return 500;
    }

    private void BindMyGrid()
    {
            Data[] array = GetDataFromInternetSomehow();
            this.myGrid.DataSource = …
Run Code Online (Sandbox Code Playgroud)

asp.net datagrid custompaging

3
推荐指数
1
解决办法
1万
查看次数

jQuery:在提交表单之前执行一些操作

我有一个页面,上面有一个表格.表单包含一个文本框和一个提交按钮.

提交表单时,通过单击按钮或按文本框中的Enter键,我想进行查找(在这种情况下,使用Bing Maps对邮政编码进行地理编码),然后像往常一样将表单提交到服务器.

我目前的方法是将提交事件的处理程序添加到一个唯一的表单,然后在我完成时调用submit(),但我无法使其工作,并且无法调试问题:

$(document).ready(function () {
    $("form").submit(function (event) {
        var postcode = $.trim($("#Postcode").val());
        if (postcode.length === 0) {
            return false;
        }

        var baseUrl = "http://dev.virtualearth.net/REST/v1/Locations/UK/";
        var apiKey = "myKey";
        var url = baseUrl + postcode + "?key=" + apiKey + "&jsonp=?";
        $.getJSON(url, function (result) {
            if (result.resourceSets[0].estimatedTotal > 0) {
                var location = result.resourceSets[0].resources[0].point.coordinates;
                $("#latitude").val(location[0]);
                $("#longitude").val(location[1]);
                $("form").submit();
            }
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

javascript ajax maps jquery geocode

3
推荐指数
1
解决办法
3902
查看次数

包装使用基于事件的异步模式的库,用于Async/Await

我在整个代码中使用async/await模式.但是,有一个API使用基于事件的异步模式.我已经阅读了MSDN和几个StackOverflow的答案,这样做的方法是使用TaskCompletionSource.

我的代码:

public static Task<string> Process(Stream data)
{
    var client = new ServiceClient();
    var tcs = new TaskCompletionSource<string>();

    client.OnResult += (sender, e) =>
    {
        tcs.SetResult(e.Result);
    };

    client.OnError += (sender, e) =>
    {
        tcs.SetException(new Exception(e.ErrorMessage));
    };

    client.Send(data);

    return tcs.Task;
}
Run Code Online (Sandbox Code Playgroud)

并称为:

string result = await Process(data);
Run Code Online (Sandbox Code Playgroud)

或者,用于测试:

string result = Process(data).Result;
Run Code Online (Sandbox Code Playgroud)

该方法总是很快返回,但是没有一个事件被触发.

如果我添加tcs.Task.Await(); 就在return语句之前,它可以工作,但是这并不能提供我想要的异步行为.

我已经比较了我在互联网上看到的各种样本,但没有看到任何差异.

c# asynchronous task-parallel-library async-await taskcompletionsource

3
推荐指数
1
解决办法
264
查看次数

在Xamarin.iOS发布版本中,Console.WriteLine调用会发生什么?

使用XCode开发iOS应用程序时,可以使用NSLog调用将信息写入控制台进行调试.在Xamarin.iOS中,可以使用Console.WriteLine完成相同的操作.

在运行应用程序的发布版本时,如果没有附加调试器,这些调用就没有用处.所以我想用预处理器指令排除它们:

#if DEBUG
Console.WriteLine("foo");
#endif
Run Code Online (Sandbox Code Playgroud)

这样调用甚至不存在于发布版本中.我很欣赏这可能是微优化 - 但我很好奇Xamairn是否已经这样做,这使得这不必要?

debugging console ios xamarin

3
推荐指数
1
解决办法
1963
查看次数

Application Insights - operation_Id 显示为非空,但打印值“None”

我正在使用 Application Insights 分析 Azure 应用服务的性能。

我想加入requestsdependencies表,我成功地做到了。但是,有一些行被排除,因为表operation_Iddependencies有一个奇怪的值。

当我说“一个奇怪的值”时,我的意思是operation_Id有时看起来不为空,但当我打印它们时它显示“无”。不管怎样,这肯定与表中的 ID 不一样functions,因此连接不起作用。

dependencies
| where timestamp > ago(1d) and isnotnull(operation_Id)
| summarize count() by operation_Id
Run Code Online (Sandbox Code Playgroud)

给我们:

  • 操作_Id:无
  • 数量:1796

建议所有operation_Id值都不为空,但打印为“none”。

azure azure-application-insights

3
推荐指数
1
解决办法
4761
查看次数