Although there are many media players for Windows Mobile, both free and paid, very few of them support subtitles, mainly because rendering subtitles in real-time requires much processing power, which is limited on mobile devices.
The only player so far that has built-in subtitle support is Core Player; however, it is not free and only supports the not-so-common .SMI subtitle format. Most downloadable subtitles are in the format of either .SRT, .SUB or .IDX, which are not supported by Core Player.
While you can use a tool such as Subtitle Workshop to convert from .SRT to .SMI and use with Core Player, an easier way is to use TCPMP, a free player. Download it here and the subtitle plug-in TCPMP SUBS here. Copy all the files from the SUBS package to the TCPMP folder, overwriting any existing files, and re-start TCPMP. TCPMP will auto-detect and render any supported subtitles (.SRT, .SUB) that have the same name as the movie file. If it does not, select Option>Subtitle>Open to load the correct subtitle file.
For best results, it is recommended that GDI is used for video rendering. You can change this from Options>Video.
1. The original built of TCPMP may crash upon startup on new devices. If the version downloaded from the website does not work, try this. The subtitle plug-in can work with TCPMP 0.72RC1 onwards
2. TCPMP SUBS will work fine with all .SRT subtitles. However, not all .SUB subtitles will work. It only supports .SUB files in MicroDVD format. Your .SUB file will be supported if it is of small size (e.g. < 100 KB) and contains readable text. If your .SUB file is big (e.g. a few MB) and comes with a .IDX file, it is probably not supported.
You can convert .IDX/.SUB subtitles to .SRT easily by using SubResync available in the VobSub package.