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¶ÔÏóÖ§³ÖµÄËùÓй¦ÄÜÖ®Í⣬»¹¿ÉÒÔ¿ØÖƶÔÓÚÊäÈëµÄ¶
Ïà¹ØÎĵµ£º
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¹ØÏµµÄʱºò£¬ÊôÓÚ¶ÔÏóÊÊÅäÆ÷¡£ ......
ÔÎÄ´«ËÍÃÅ£ºhttp://www.blogjava.net/improviser/archive/2008/12/07/244911.html
ÔÚǰһƪÎÄÕÂÖмòµ¥½éÉÜÁËJAVA³ÌÐòÈçºÎµ÷ÓÃOracle´æ´¢¹ý³ÌµÄ»ù±¾Óï·¨³ÌÐò½á¹¹£¬ ±¾ÎĽ«½éÉÜJAVA¸úOracleµÄÁíÒ»ÖÖ¹ØÏµ£¬¼´Í¨¹ýJAVA±àдOracle´æ´¢¹ý³Ì¡£ ͨ³£Çé¿öÏ£¬ÎÒÃǶ¼ÊÇʹÓÃOracleÊý¾Ý¿âϵͳÖеÄps/sqlÓï¾äÀ´Îªoracle±àд ......
javaÖÐ×Ö·û´®µÄ±àÂë½âÂëÎÊÌâ
1.½«×Ö·û´®×ª»»³ÉbyteÊý×éÔÙ»Ö¸´£º
byte[] getBytes(String charsetName)
String(byte[] bytes, String charsetName)
»ògetBytes()
String(byte[] bytes)
2.ʹÓÃString sun.misc.BASE64Encode.encode(byte[] b)
byte[] String sun.misc.BASE64Decode.decodeBuffer(String str)
½«×Ö·û ......