从零开始写一个播放器需要学习什么?

从零开始写一个播放器需要学习什么?主要是想弄个能像potplayer的书签一样的功能.