java JMF
JMF:(JavaTM Media Framework)ÊÇ´¦Àí¶àýÌåµÄ³ÌÐò½Ó¿Ú¡£
JMF¿ò¼ÜÖ÷ÒªÓÐÈýÖÖÄ£ÐÍ£¬·Ö±ðÊÇʱ¼äÄ£ÐÍ£¬Ê¼þÄ£ÐÍÒÔ¼°Êý¾ÝÄ£ÐÍ¡£Ê±¼äÄ£ÐͶ¨ÒåÁËJMFµÄ´¦ÀíýÌåÁ÷µÄʱ¼äÊý¾ÝµÄ½á¹¹¡£Ê¼þÄ£ÐͶ¨ÒåÁËJMF¿ò¼ÜµÄʼþÀàÐÍÒÔ¼°¸÷¸öʼþÀàÐÍÖ®¼äµÄ¹Øϵ¡£Êý¾ÝÀàÐͶ¨ÒåÁËJMF´¦ÀíµÄýÌåÁ÷Êý¾ÝµÄÀàÐÍ¡£
ʱ¼äÄ£ÐÍ
JMFÖÐʱ¼äµÄ×îСµ¥Î»ÊÇÄÉÃë¡£ËùÓгÖJMFµÄʱ¼äÄ£Ð͵ÄÀ඼ʵÏÖÁËClock½Ó¿Ú¡£Clock½Ó¿Ú¶¨ÒåÁË»ù±¾µÄ¼ÆʱºÍͬ²½²Ù×÷£¬ÒÔ¿ØÖÆýÌåÊý¾ÝµÄ³ÊÏÖ¡£
Clock½Ó¿ÚʹÓÃTimeBaseÀ´¸ú×ÙýÌåÁ÷µÄʱ¼ä¡£
Clock½Ó¿ÚÖеÄmedia time±íʾýÌåÁ÷Öеĵ±Ç°Î»Öá£Ã½ÌåÁ÷µÄ³õʼmedia timeÊÇ0,ýÌåÁ÷µÄĩβÊÇÁ÷µÄ×î´ómedia time.Duration±íʾµÄýÌåÁ÷µÄʱ¼ä³¤¶È¡£TimeBaseStartTime±íʾ²¥·ÅýÌåÁ÷µÄTime-base time.MediaStartTime±íʾ²¥·ÅýÌåÁ÷µÄÆðʼʱ¼ä¡£Rate±íʾClockÏà¶ÔTimeBaseµÄËٶȡ£±ÈÈçRateΪ1´ú±íÕý³£µÄ²¥·ÅËٶȣ¬Èç¹ûΪ2´ú±íÊÇÕý³£ËٶȵÄ2±¶¡£
»»Ëã¹ØϵΪ:MediaTime=MediaStartTime+Rate*(Time-Basetime - TimeBaseStartTime)
ʼþÄ£ÐÍ
JMFʹÓýṹ»¯µÄʼþ±¨¸æ»úÖÆÀ´¸ú×Ù»ùÓÚJMF¿ª·¢µÄ³ÌÐòµÄµ±Ç°×´Ì¬¡£»ùÓÚJMFµÄ³ÌÐò¿ÉÒÔÏìӦýÌåÇý¶¯µÄʼþ£¬Èçout-of dataºÍresource unavailableʼþ¡£ËùÓÐýÌåʼþ¶¼¼Ì³Ð×ÔMediaEventÀà¡£¿ÉÒÔͨ¹ýµ÷ÓÃaddListener·½·¨½«¸Ã½Ó¿Ú×¢²áµ½·¢²¼Ê¼þµÄ¶ÔÏóÉÏ£¬¼´¿ÉÔÚʼþ·¢Éúºó»ñµÃʼþ֪ͨ¡£
Êý¾ÝÄ£ÐÍ
JMFýÌå²¥·ÅÆ÷ͨ³£ÓÃDataSourcesÀàÀ´´¦ÀíýÌåÊý¾ÝµÄ´«Êä¡£DataSourcesÀà·â×°ÁËýÌåµÄλÖÃÐÅÏ¢¡¢ÐÒéÐÅÏ¢ÒÔ¼°´«ËÍýÌåµÄÈí¼þ¡£DataSourceÀà¿ÉÒÔͨ¹ýJMFµÄMediaLocatorÀà»òÕßÒ»¸öURL(Universal Resource Locator)ÀàÀ´±êʶ¡£MediaLocatorÀàËÆÓÚURLÀಢÇÒ¿ÉÒÔͨ¹ýURLÀàÀ´¹¹Ô죬ͬʱMediaLocator¿ÉÒÔÔÚÏàÓ¦µÄÐÒé´¦ÀíÆ÷ûÓа²×°µÄÇé¿öϱ»¹¹Ô죬¶øURL²»ÐС£
Ò»¸öDataSource¶ÔÏó¹ÜÀíһϵÁеÄSourceStream¶ÔÏó¡£±ê×¼µÄÊý¾ÝÔ´¼°×Ö½ÚÐòÁÐΪµ¥Î»½øÐд«Ê䣬»º³åÊý¾ÝԴʹÓÃBuffer¶ÔÏó×÷Ϊ²ûÊö¶ÔÏó¡£
ProcessorÓëPlayer
ÔÚJMF APIÖУ¬Processor ½Ó¿Ú¼Ì³ÐÁËPlayer½Ó¿Ú¡£Processor¶ÔÏó³ýÁËÖ§³ÖPlayer¶ÔÏóÖ§³ÖµÄËùÓй¦ÄÜÖ®Í⣬»¹¿ÉÒÔ¿ØÖƶÔÓÚÊäÈëµÄ¶
Ïà¹ØÎĵµ£º
String phoneEL="[0-9]{4}-[0-9]{6}";
String urlEl="<a.+href*=*['\"]?.*?['\"]?.*?>";
String emailEl="^[_a-z0-9-]+(.[_a-z0-9-]+)*"+"@[a-z0-9-]+([.][a-z0-9-]+)*$"; ......
Java±äÁ¿ÓÐÁ½ÖÖÊý¾ÝÀàÐÍ,Ò»ÊÇPrimitiveÖ÷Êý¾ÝÀàÐÍ,Ò»ÊÇÒýÓÃ.
Ö÷Êý¾ÝÀàÐÍ°üÀ¨:
Boolean¡¢char¡¢Byte¡¢short¡¢int¡¢long¡¢float¡¢double
ÒýÓÃΪ£ºDog d = new Dog();
d.bark. ......
½á¹¹Ä£Ê½£¨££©
Adapter(ÊÊÅäÆ÷)
½«Ò»¸öÀàµÄ½Ó¿Úת»»³É¿Í»§Ï£ÍûµÄÁíÍâÒ»¸ö½Ó¿Ú¡£AdapterģʽʹµÃÔ±¾ÓÉÓÚ½Ó¿Ú²»¼æÈݶø²»ÄÜÒ»Æð¹¤×÷µÄÄÇЩÀà¿ÉÒÔÒ»Æð¹¤×÷¡£
Adapter·ÖΪ2ÖÖ:
ÀàÊÊÅäÆ÷ºÍ¶ÔÏóÊÊÅäÆ÷¡£AdapterºÍAdapteeÖ®¼äÊÇis-a¹ØϵµÄʱºò£¬ÊôÓÚÀàÊÊÅäÆ÷£¬AdapterºÍAdapteeÖ®¼äÊÇhas-a¹ØϵµÄʱºò£¬ÊôÓÚ¶ÔÏóÊÊÅäÆ÷¡£ ......
abstractÐÞÊηû
1.ÓÃabstractÐÞÊεÄÀà±íʾ³éÏóÀ࣬³éÏóÀàλÓڼ̳ÐÊ÷µÄ³éÏó²ã£¬³éÏóÀ಻Äܱ»ÊµÀý»¯£¬¼´²»ÔÊÐí´´½¨
³éÏóÀà±¾ÉíµÄʵÀý¡£Ã»ÓÐÓÃabstractÐÞÊεÄÀà³ÆΪ¾ßÌåÀ࣬¾ßÌåÀàÊÇ¿ÉÒÔ±»ÊµÀý»¯µÄ¡£
2.ÓÃabstractÐÞÊεķ½·¨±íʾ³éÏó·½·¨£¬³éÏó·½·¨Ã»Óз½·¨Ìå¡£³éÏó·½·¨ÓÃÀ´±íÊöÏµÍ ......
1£®Ç°ÑÔ
×î½ü£¬P2P£¨Peer-to-Peer£©ÓÖ³ÉΪÁËÒòÌØÍøÉϵÄÒ»¸öÈȵ㡣P2PÊÇÒòÌØÍøµÄÒ»ÖÖÓ¦ÓÃģʽ£¬ÆäÒâ˼ÊÇÖ¸ÍøÂçÉϵÄÈκÎÉ豸£¨°üÀ¨´óÐÍ»ú¡¢PC»ú¡¢PDA¡¢ÊÖ»ú¡¢»ú¶¥ºÐµÈµÈ£©¶¼¿ÉÒÔƽµÈµØÖ±½Ó½øÐÐÁ¬½Ó²¢½øÐÐÐ×÷¡£Ïë±Èµ±Ç°ÒòÌØÍøÉÏÖ÷Á÷µÄÓ¦ÓÃģʽClient/Server»òÕßClient/Service¶ø ......