Posts Tagged ‘Silverlight’

实现GetSampleAsync()

接下来需要实现MediaStreamSource.GetSampleAsync()。当系统解码器需要新的视频或音频sample的时候会调用这个函数,这个函数需要根据MediaStreamType返回相应的下一个sample。至于是预加载所有的sample还是用on demand的方式获取下一个sample都可以,前者可能会在播放视频的头几秒有所卡顿,后者可能会导致seek的过程略长。

Read the rest of this entry »

众所周知,Windows Phone SDK自带的MediaElement不支持FLV容器。但是根据MSDN所言[1],实际上Windows Phone在硬件上支持AAC音频和H264视频的播放。恰巧大部分网络FLV视频都是AAC+H264编码的,于是理论上我们就可以通过实现MediaStreamSource来让MediaElement认识和播放FLV视频。我在开发哔哩哔哩客户端的时候就采用了这个技术。

本文同时适用于Windows Phone 7/7.1和Windows Phone 8。在本文之前,你不会在互联网上获得任何关于如何在Windows Phone上使用MediaStreamSource播放FLV视频的完整关键代码。

Read the rest of this entry »

在开发中,有时候我们想对HTML文件进行编辑后显示,此时一般会直接调用WebBrowser的NavigateToString()方法。但是这样处理后页面中的锚点会失效,点击对应链接不会自动跳转到网页的对应位置。有两种方法可以解决这个问题。

Read the rest of this entry »

Slider控件在WP8里面改动很大,如果直接使用WP7上的Control Template的话,会导致控件失去效果。

解决方法是使用新的Control Template:

Read the rest of this entry »

在开发一些使用Web服务的应用时,难免会遇到会员登录的需要,或者必须登录后才能获取的信息,这时就需要我们在发送http请求时附上用户的cookie信息。其实在Windows Phone编程中,获取和使用cookie非常简单,所谓cookie就是一个字符串而已。

Read the rest of this entry »

先展示一下控件效果:

这个TextBox通过重写控件模板,实现了边框的消除,平时看起来就像TextBlock,和背景融为一体,点击的时候就可以编辑文字。

Read the rest of this entry »

先展示一下控件效果:

这个控件在Windows Phone官方demo的PeopleHub里面貌似很常用,能显示好友在社交网站上的更新数量之类的,很符合Windows Phone的Metro设计风格,而且做起来也不难,用Path搞定外观,再想办法动态处理一下Text的大小就行了。懒惰起见我就用UserControl做了。

Read the rest of this entry »

World Line
Time Machine
Friendly Links
Online Tools