众所周知,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 »

近年来淘了不少中古PC98软盘,都是不远千里从11区寄过来的,让人感动的是虽然过了十多年但是软盘被保存得依然完好。不过软盘的保质期不长,说不定哪天就挂了,所以保险起见还是制作一张FDI镜像文件比较好。软盘本身就留作历史的记忆吧……

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 »

该问题来自于《Cracking the Coding Interview 5th edition》练习题9.6。原题描述如下:“Implement an algorithm to print all valid (i.e., properly opened and closed) combinations of n-pairs of parentheses.”

该问题是典型的递归问题,有点类似于全排列算法,不同之处在于这里含有重复元素,而且需要验证左右的括号是否正确匹配。我在这里给出的代码和书上给的第二种解法原理基本相同,不过我觉得我的代码更简洁和易懂一点,所以发出来以备有需要的人参考。

Read the rest of this entry »

在网上有很多讲如何实现Tiled Matrix Multiplication的文章,不过大部分只对方阵且尺寸等于Tile尺寸整倍数的矩阵有效。我在这里贴出实现任意尺寸矩阵乘法的代码。

Read the rest of this entry »

该问题来自于《Cracking the Coding Interview 5th edition》练习题2.7。原题描述如下:“Implement a function to check if a linked list is a palindrome.”我感觉原书给的答案中的递归方法太鬼畜了,没怎么看懂,于是就实现了自己的一个版本。

基本思想就是首先递归到链表尾,然后使用两个指针(一个从链表头向后移动,一个从链表尾向前移动)进行数据比较,并随着弹栈的过程各自移动到下个节点。当两个指针相遇或是错开一格的时候就不用再移动了,直接一溜返回true就行了。我的实现方式中使用了两个指针参数,其中一个还是Node**,好像看起来更鬼畜了……

Read the rest of this entry »

World Line
Time Machine
Online Tools