小编Ale*_*tov的帖子

在void方法中使用async await

我有签名方法我无法改变.它应该是

protected override void OnInitialize()
Run Code Online (Sandbox Code Playgroud)

使用Windows 8 Metro API我需要检查文件是否存在并在此NoSignatureChange方法中读取它.使用PlainOldCSharp,我会写类似的东西

protected override void OnInitialize()
{
  ...
  try
  {
    var file = folder.OpenFile(fileName);
    fileExists=true;
  }
  catch(FileNotFoundException)
  {
    fileExists=false
  }
}
Run Code Online (Sandbox Code Playgroud)

请记住,在Windows 8 API中只检查文件是否存在是否正在处理FileNotFoundException 此外,在Windows 8 API中所有FileIO API都是异步的,所以我只有file.OpenFileAsync方法.

所以,问题是:如何使用Windows 8 API中的folder.OpenFileAsync方法编写此代码而不更改包含方法的签名

c# xaml asynchronous async-await windows-8

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

Android无法播放H264/AAC视频

我们正在iOS应用程序中录制视频文件,并希望它们在iOS/Android/Web上播放.所以我们选择了MP4容器中的H264/AAC.但是,在不同的设置中,iOS H264视频不会在Android设备上播放(LG D335/Galaxy S4).我们如何播放视频?简单的测试方法是从直接链接下载视频,然后在Android设备上的下载中打开它.对于任何iOS H264视频,我们收到"无法播放此文件"/"抱歉,此视频无法播放"

视频文件的Mediainfo如下.

想知道为什么这些视频文件无法在Android上播放,而它是H264/AAC和Baseline配置文件?

谢谢.

MediaInfo输出

iOS 1280x720:

General
Complete name                            : /Users/a/Desktop/ios_1280.mp4
Format                                   : MPEG-4
Format profile                           : QuickTime
Codec ID                                 : qt  
File size                                : 6.46 MiB
Duration                                 : 1s 220ms
Overall bit rate mode                    : Variable
Overall bit rate                         : 44.5 Mbps
Recorded date                            : 2015-08-20T20:33:20+0300
Encoded date                             : UTC 2015-08-20 17:33:20
Tagged date                              : UTC 2015-08-20 17:33:22
Writing application                      : 7.1.2
Writing library                          : Apple QuickTime
Model                                    : iPhone 4
Make                                     : …
Run Code Online (Sandbox Code Playgroud)

video mp4 android h.264 ios

8
推荐指数
0
解决办法
1808
查看次数

转储协议 - 缓冲数据/响应

是否可以转储(查看)以PB格式写入的数据,而无需了解用于写入该数据的类型?

我发现/sf/answers/717746081/

简而言之,在线上,protobufs被编码为3元组,其中键是分配给.proto模式中的字段的字段编号.类型是其中之一.它包含足够的信息来解码3元组的值,即它告诉你值的长度.

我的最终目标是为Fiddler2编写扩展,以查看以PB格式发送/接收的内容.

c# fiddler protocol-buffers protobuf-net

6
推荐指数
1
解决办法
1321
查看次数

BackgroundAudioPlayer无法开始播放

Windows Phone 8应用程序.我们正在使用AudioStreamingAgent/Mp3MediaStreamSource来播放可以在本地缓存或从Web加载的MP3文件.

下载文件时,我们仍然使用AudioStreamingAgent/Mp3MediaStreamSource来确保我们能够在播放当前时预先缓存下一个文件.是的,我们可以使用WP8内置播放器来缓存文件,但在这种情况下我们将无法预先缓存下一个文件.

问题:在几个曲目之后,BackgroundAudioPlayer不再开始播放了.

  1. 执行AudioStreamingAgent.OnBeginStreaming
  2. 执行创建MediaStreamSource的Сode
  3. AudioStreamer.SetSource方法使用新的MediaStreamSource实例执行
  4. PlayStateChanged在后台进程中使用PlayState.TrackReady触发,在这种情况下调用player.Play().

毕竟,我看到曲目显示在UVC中,但它处于"Paused"状态.在UVC中按"播放"会在后台调用OnUserAction调用player.Play().没有什么变化.

"卡住状态"的图片

有问题再现的样本,VS 2012(样本基于背景音频流媒体样本)

使用示例代码重现的步骤:

  1. 安装应用程序
  2. 按"预加载曲目"按钮.它将mp3文件从XAP复制到IsolatedStorage.
  3. 按"Track 1"按钮.在曲目开始播放后,按"Track 2"按钮.然后,在曲目2开始播放后,按"Track 3"按钮.
  4. 继续执行步骤3,直到按下"Track*"按钮轨道未开始播放.
  5. 最后的轨道选择将被示出为在两个UVC和上面的页上的进度条的有源轨道(参见图片)
  6. 在大多数情况下按其他轨道按钮没有任何区别.

在WP8和WP8.1开发人员预览版中,在设备和仿真器上都会重现该问题.

更新:内存不足是不是这样.使用示例代码重现问题并查看backgroundlog.xml文件显示该示例仅使用20 Mb中的6 Mb允许此图片上的最后一列是"内存使用情况|允许的最大内存使用量"

c# audio-streaming mediastreamsource background-audio windows-phone-8

6
推荐指数
1
解决办法
538
查看次数

Xamarin.Forms:如何在ListView中搜索是小写还是大写?

美好的一天.我正在Xamarin.Forms(Portable)中创建一个SearchBar.我能够在ListView上搜索,但只能在大写字母中搜索.每次我使用小写搜索时,都不会出现任何内容.如何搜索是使用小写还是大写?

我听说过使用ToLower(),但我不知道我应该把它放在哪里.这是我的代码.

private void Filter()
{
    if (string.IsNullOrWhiteSpace(_keyword)) 
    {
        EmployeesList = _searchedEmployeesList;
    }
    else
    {
        EmployeesList = _searchedEmployeesList
            .Where(r => r.EMPLOYEE_NAME.Contains(_keyword)).ToList();
    }
}
Run Code Online (Sandbox Code Playgroud)

c# xamarin xamarin.forms

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