»ùÓÚLinuxµÄÒôÀÖ²¥·ÅÆ÷Éè¼ÆÓëʵÏÖ
ר Òµ£º¼ÆËã»ú¿ÆÑ§Óë¼¼Êõ ѧ ºÅ£º
ѧ Éú£º Ö¸µ¼½Ìʦ£º
ÕªÒª£º×÷ΪһÏîÓëÈËÃÇÉú»îϢϢÏà¹ØµÄÓ¦Óã¬ÒôÀÖ²¥·ÅÆ÷ÔÚÈËÃǵÄÉú»îÖз¢»Ó×Ų»¿ÉÌæ´úµÄ×÷Óᣱ¾²¥·ÅÆ÷ÔÚLinux(Debian 6.0)²Ù×÷ϵͳƽ̨ϽøÐпª·¢£¬Ê¹ÓÃQt³ÌÐò¿ª·¢¿ò¼ÜʵÏÖ²¥·ÅÆ÷µÄGUIÉè¼Æ£¬²¢ÓÃPhonon¶àýÌåAPIʵÏÖ¶àýÌå¿ØÖÆ£¬×îºóÔÙÓÃC++±à³ÌʵÏÖ¡£±¾²¥·ÅÆ÷ʵÏÖÁËÒôÀÖ²¥·ÅÆ÷µÄ»ù±¾¹¦ÄÜ£¬°üÀ¨¡°²¥·Å¡±¡¢¡°ÔÝÍ£¡±¡¢¡°ÉÏÒ»Çú¡±¡¢¡°ÏÂÒ»Çú¡±¡¢¡°Ìí¼ÓÎļþ¡±¡¢¡°É¾³ýÎļþ¡±¡¢¡°Çл»±³¾°Í¼±ê¡±¡¢¡°×îС»¯µ½ÍÐÅÌ¡±µÈ¹¦ÄÜ¡£²âÊÔ±íÃ÷£¬±¾²¥·ÅÆ÷Äܹ»Á÷³©µØÔËÐУ¬²¢ÄܺܺõØÊµÏÖ¸÷ÏÄÜ£¬²¢ÇÒÓÐÒ»¶¨µÄÈÝ´íÄÜÁ¦£¬´ïµ½ÁËÉè¼ÆÔ¤ÆÚµÄЧ¹û¡£Í¬Ê±£¬±¾²¥·ÅÆ÷ÔÚÎȶ¨ÐÔ¡¢¾¼Ã³É±¾µÈ·½Ãæ¶¼Óв»´íµÄ±íÏÖ¡£ ¹Ø¼ü´Ê£ºÒôÀÖ²¥·ÅÆ÷£»Linux£»Qt£»Phonon
The Design and Implementation of Music Player Based
on Linux
Specialty: Student Number:
Student: Supervisor:
Abstract: As an application, which is closely related to the people's lives, music player plays an irreplaceable role in people's life. This Music player is developed under Linux (Debian 6.0) operating system with the Qt application development framework implementing the player's GUI design. Phonon multimedia APIs is used for multimedia control and at last coded by C++ programming language. The music player has realized basic functions of ordinary music player, including 'Play' function, 'Pause' function, 'Previous track' function, 'Next track' function, 'Add files' function, 'Delete files' function, 'Switch background icon' function, 'Minimize to tray' function and so on. The testing results show that the player can run smoothly and realize all of functions mentioned before. The player is provided with fault tolerance as well. To sum up, the player achieves the design's expected result. At the same time, the music player has a well performance in operational stability and economic cost. Key words: Music player; Linux; Qt; Phonon
Ŀ ¼
Ð÷ ÂÛ ......................................................................................................................................... 1 1 ϵͳ¿ª·¢Æ½Ì¨½éÉÜ ............................................................................................................... 2 1.1 Linux¼ò½é ...................................................................................................................... 2 1.2 Qt½éÉÜ ............................................................................................................................ 3 1.3 ¼¯³É¿ª·¢»·¾³ ................................................................................................................ 3 1.4 Phonon¼ò½é .................................................................................................................... 4 2 ϵͳ·ÖÎö ............................................................................................................................... 5 2.1 ²¥·ÅÆ÷¾ÙÀý .................................................................................................................... 5 2.2 ¹¦ÄÜÐèÇó·ÖÎö ................................................................................................................ 5 2.2.1 »ù±¾¹¦ÄÜ .................................................................................................................. 6 2.2.2 ²¥·ÅÆ÷»ù±¾ÉèÖà ...................................................................................................... 6 2.2.3 ¿ì½Ý¼üÉèÖà .............................................................................................................. 6 2.2.4 ÉÏÏÂÎIJ˵¥ÉèÖà ...................................................................................................... 6 2.3 ¿ÉÐÐÐÔ·ÖÎö .................................................................................................................... 6 2.3.1 ¾¼Ã¿ÉÐÐÐÔ .............................................................................................................. 7 2.3.2 ¼¼Êõ¿ÉÐÐÐÔ .............................................................................................................. 7 2.3.3 Ó¦Ó÷ÖÎö .................................................................................................................. 7 2.4 ×ܽá ................................................................................................................................ 8 3 ϵͳÉè¼Æ ............................................................................................................................... 9 3.1 QtÐźÅÓë²Û»úÖÆ½éÉÜ .................................................................................................... 9 3.1.1 ÐźŠ.......................................................................................................................... 9 3.1.2 ²Û ............................................................................................................................ 10 3.1.3 ÐźÅÓë²ÛµÄ¹ØÁª .................................................................................................... 11 3.1.4 QtÐźźͲۻúÖÆµÄÓŵã ........................................................................................ 11 3.2 º¯Êý .............................................................................................................................. 12
I
3.2.1 PhononýÌå¿ò¼Ü .................................................................................................... 12 3.2.2 QlistÈÝÆ÷Àà ............................................................................................................ 15 3.3 ²¥·ÅÆ÷µÄ»ù±¾¹¦ÄÜ ...................................................................................................... 16 3.3.1 ½¨Á¢Ã½Ìå¶ÔÏó ........................................................................................................ 16 3.3.2 ²¥·Å¿ØÖÆ ................................................................................................................ 16 3.4 ²¥·ÅÆ÷ÉèÖà .................................................................................................................. 20 3.4.1 QSettings½éÉÜ ........................................................................................................ 20 3.4.2 QSettingsµÄʹÓà .................................................................................................... 21 3.4.3 QSettingsµÄÂÒÂëÎÊÌâ ............................................................................................ 22 3.5 ²¥·ÅÆ÷½çÃæÉè¼Æ .......................................................................................................... 22 3.5.1 ÉèÖñ³¾° ................................................................................................................ 22 3.5.2 ÉèÖÃϵͳÍÐÅÌͼ±ê ................................................................................................ 23 4 ϵͳ²âÊÔ ............................................................................................................................. 24 4.1 ²âÊÔ½éÉÜ ...................................................................................................................... 24 4.1.1 Èí¼þ²âÊÔµÄÄ¿µÄ .................................................................................................... 24 4.1.2 ²âÊԵķ½·¨ ............................................................................................................ 24 4.2²âÊÔÉè¼Æ ....................................................................................................................... 25 4.2.1 Ìí¼ÓÎļþ ................................................................................................................ 25 4.2.2 ɾ³ý¸èÇú ................................................................................................................ 26 4.2.3 ²¥·Å¸èÇú ................................................................................................................ 26 4.2.4 ²âÊÔ½á¹û ................................................................................................................ 28 4.3 ×ܽá .............................................................................................................................. 28 ½á ÂÛ ....................................................................................................................................... 29 ²Î¿¼ÎÄÏ× ................................................................................................................................. 30 Ö л ....................................................................................................................................... 32
II
Ð÷ ÂÛ
Ëæ×ž¼ÃµÄ·¢Õ¹£¬ÈËÀàÉç»á·¢ÉúÁË·Ì츲µØµÄ±ä»¯£¬ÈËÃñÉú»îˮƽµÃµ½ÁËÌá¸ß£¬Éú»î½Ú×à±äµÃ¸ü¿ì£¬ÈËÃÇÔÚ¾«ÉñÉϵÄÐèÇóÉõÖÁ³¬¹ýÁËÎïÖÊÉϵÄÐèÇ󣬶øÒôÀÖ±ãÊÇËûÃǾ«ÉñÉú»îÖв»¿ÉȱÉÙµÄÒ»²¿·Ö¡£ÏÖ´ú¿ÆÑ§¼¼Êõ²»¶Ï·¢Õ¹£¬ÈËÃÇ¿ªÊ¼Ê¹ÓÃÍøÂçý½éºÍ¸÷ÖÖÊý¾Ý´æ´¢É豸£¬Ê¹µÃ¸÷ÖÖÒôƵºÍÊÓÆµ×ÊÔ´µÄ´«²¥¸üΪ±ã½Ý¡¢Ñ¸ËÙ¡¢¹ã·º£¬ÓÚÊǸ÷ÖÖÒôÀÖ²¥·ÅÆ÷Ò²½ô¸ú×Å·¢Õ¹ÁËÆðÀ´¡£ÒôÀÖ²¥·ÅÆ÷×÷ΪһÖÖÓÃÓÚ²¥·Å¸÷ÖÖÒôÀÖÎļþµÄ¶àýÌå²¥·ÅÈí¼þ£¬ÒѾ³ÉΪÁË´ó¼ÒµçÄÔÀïÃæ²»¿É»òȱµÄÒ»ÏîÓ¦Óá£Òò´ËÉè¼ÆÒ»¿îÓÅÁ¼µÄÒôÀÖ²¥·ÅÆ÷Èí¼þ³ÉÁËÐí¶à¹«Ë¾ºÍ¸öÈ˵ÄÄ¿±ê¡£
ÍøÂçÉÏÒѾ´æÔÚ×ųɸ÷ʽ¸÷ÑùµÄÒôÀÖ²¥·ÅÆ÷¡£µ«ÊÇ£¬ËüÃÇÖ®ÖÐÓÐÐí¶à¶¼ÊǸù¾ÝÌØ¶¨µÄ²Ù×÷ϵͳÀ´¿ª·¢µÄ£¬ÆäÖкܴóÒ»²¿·Ö¶¼Ã»ÓÐʵÏÖ¿çÆ½Ì¨µÄÓ¦Óã¬ÎªÁËÓ¦¶Ô²»Í¬µÄϵ²Ù×÷ͳ£¬ËüÃÇÖ»ÄÜÖØÐ¿ª·¢Ðµİ汾¡£
±¾ÎÄÖ÷ÒªÑо¿µÄ¾ÍÊÇ»ùÓÚLinuxµÄÒôÀÖ²¥·ÅÆ÷¡£Ëü»ùÓÚQt¿ª·¢¿ò¼Ü£¬¿ÉÒÔʵÏÖ¿çÆ½Ì¨Ó¦Óã¬Äܹ»ÔÚÈκÎËüËùÖ§³ÖµÄƽ̨ÉϱàÒë¡¢Ö´ÐÐÏàͬµÄ³ÌÐò´úÂ룬¶ø²»ÐèÒªÐÞ¸ÄÔ´´úÂë¡£ÁíÍ⣬Ëü»¹ÄÜÒÀÕÕ²»Í¬µÄƽ̨¶ø±íÏÖ³ö¸ÃÆ½Ì¨ÌØÓеÄͼÐνçÃæ·ç¸ñ¡£
Ñо¿»ùÓÚLinuxµÄÒôÀÖ²¥·ÅÆ÷¾ßÓÐÒ»¶¨µÄÒâÒå¡£ËäÈ»LinuxºÍQtÒѾ·¢Õ¹Á˺ܳ¤µÄÒ»¶Îʱ¼ä£¬µ«ÊǶÔÓںܶà¹úÄÚ¼ÆËã»úרҵµÄ´óѧÉúÀ´Ëµ£¬ËüÃÇ»¹ÊDZȽÏİÉúµÄÊÂÎï¡£¼ÆËã»úÐÐÒµÊÇÒ»¸ö·ÉËÙ·¢Õ¹µÄÐÐÒµ£¬ÎÒÃDZØÐë¸úÉÏËüµÄ²½·¥£¬²Å²»»á±»Éç»áÌÔÌ¡£
±¾ÎĵÄÄ¿µÄÊÇͨ¹ý¶ÔÁ÷ÐÐÒôÀÖ²¥·ÅÆ÷µÄÑо¿£¬Éè¼Æ²¢ÊµÏÖÒ»¿îÒôÀÖ²¥·ÅÆ÷¡£±¾ÒôÀÖ²¥·ÅÆ÷ÔÚ²¥·ÅÒôƵÎļþ·½ÃæÖ÷ҪѡÔñ²¥·Å±¾µØÎļþ£¬ÔÚ¹¦ÄÜ·½ÃæÖ÷Òª¾ß±¸Ò»Ð©»ù±¾µÄÒôÀÖ²Ù×÷¹¦ÄÜ£¬È磺ÔÝÍ£¡¢²¥·Å¡¢ÒôÁ¿µ÷½Ú¡¢Í϶¯¡¢Í£Ö¹µÈ¡£ËüÔÚÎȶ¨ÐÔ¡¢ÊÓ¾õЧ¹û¡¢¸èÇú¿âµÄ´óСµÈ·½Ãæ¿ÉÄÜÔ¶²»Èçµ±½ñµÄÐí¶à²¥·ÅÈí¼þ£¬µ«ÊÇËüСÇɲ¢ÇÒÒ×ÒÆÖ²£¬Äܹ»ÊµÏÖ¿çÆ½Ì¨ÔËÐС£
1