Linux ÒôƵ API Ö¸ÄÏ
Ìì²»¿É²â
ÓÉÓÚÀúÊ·µÄÔÒò£¬ÔÚ Linux
»·¾³ÏÂÓжàÖÖAPIϵͳ¿ÉÓÃÓÚÉùÒô±à³Ì¡£µ«Ã»ÓкÏÊʵÄÖ¸Òý¾ÍÄÑÒÔÕÒµ½ºÏºõ×Ô¼ºÐèÒªµÄÌåϵ¡£ÕâÀïÊÇÒ»¸öÖ¸Òý£¬ÊÇÓÉLennart
Poettering <mzoybt (at) 0pointer (dot) net>Ëùд£¨²Î¼û£ºHomepage of Lennart
£©£¬
Ä¿µÄ¾ÍÊÇ´øÄã×ß³öÕâ¸öÃÜÁÖ¡£
×î¼òµ¥µÄÖ¸ÒýĪ¹ýÓÚÎÊ×Ô¼º£º“ÎÒÏ루Óà Linux Sound
API£©×öЩʲô£¿”¡£ÏÂÃæ¾ÍÊǴ𰸣º
ÎÒÏëдһ¸öÀàËÆÓÚýÌå²¥·ÅÆ÷µÄÈí¼þ£¡
ÄǾÍÓà GStreamer¡£³ý·ÇÄãÖ»Ïë»ùÓÚKDEÀ´±à³Ì£¬ÄÇô£¬Äã¿ÉÒÔÑ¡ÔñʹÓÃPhonon¡£
ÎÒÏëÔÚ×Ô¼ºµÄÓ¦ÓóÌÐòÖмÓÈëʼþÉùÒô£¡
ʹÓà libcanberra£¬²¢¸ù¾ÝXDG
Sound Theming/Naming ¹æ·¶°²×°ÉùÒôÎļþ¡£Èç¹ûÄãÖ»»ùÓÚKDE£¬Ôò¿ÉÒÔʹÓÃKNotify£¬µ«ËüµÄ×ÅÖصãÓÐËù²»Í¬¡£
ÎÒÏë×öרҵµÄÒôƵ±à³Ì£¬°üÀ¨Ó²Å̼Òô¡¢ÒôÀֺϳɡ¢MIDI½çÃæµÈ£¡
ʹÓà JACK »òÕßÍêÕûµÄALSA ½çÃæ¡£
ÎÒÏë»ù´¡µÄPCMÒôƵ²¥·ÅºÍ²¶×½£¡
ʹÓà safe
ALSA ×Ó¼¯¡£
ÎÒÏëÔÚÓÎÏ·ÖмÓÈëÉùÒô£¡
Èç¹ûÊÇÈ«ÆÁÄ»µÄ´óÐÍÓÎÏ·£¬Ê¹ÓÃSDLµÄÉùÒôAPI¡£Èç¹ûÊǼòµ¥µÄÓÎÏ·£¬Ö»Óõ½»ù´¡µÄÓû§½çÃæÀýÈçGtk+µÄ£¬Ê¹Óà libcanberra
ÎÒÏëдһ¸ö»ìÒôÆ÷/ÒôÁ¿¿ØÖÆÈí¼þ£¡
ÕâÒª¸ù¾ÝÄãÏëÔÚÄÄÒ»¸ö²ã´ÎÌṩֱ½ÓµÄÖ§³Ö£ºÈç¹ûÄãÏëÖ§³ÖÔöÇ¿µÄ×ÀÃæÈí¼þ»ìÒôÆ÷£¬Ê¹Óà PulseAudio ÒôÁ¿¿ØÖÆ
API¡£Èç¹ûÄãÏëÖ§³ÖÓ²¼þ»ìÒôÆ÷£¬Ê¹ÓÃALSA»ìÒôÆ÷API¡£
ÎÒÏëдһ¸öÖ§³Ö
plumbing layerµÄÈí¼þ£¡
ʹÓà ÍêÕûµÄ ALSAÌåϵ¡£
ÎÒÏëдһ¸öǶÈëʽµÄÒôƵÈí¼þ£¡
´Ó¼¼ÊõʹÓÃÐԽǶȶøÑÔsafe ALSA×Ó¼¯ÊÇÒ»¸öºÃµÄÑ¡Ôñ£¬µ«»ùÓÚÄãʵ¼ÊµÄÇé¿öÒ²¿ÉÒÔʹÓÃÆäËüAPI¡£
ÄãÏëÁ˽â¸ü¶à¹ØÓÚÕâЩAPIµÄ²»Í¬Ö®´¦Âð£¿
GStreamer
GStreamer
ÊÇÒ»¸öLinux×ÀÃæýÌåÁ÷ϵͳµÄÊÂʵ±ê×¼¡£ËüÖ§³ÖÒôÊÓƵÁ÷µÄ±à½âÂë¡£¿ÉÒÔ»ùÓÚ¸ÃAPIʵÏÖ´Ó¼òµ¥µÄÒôƵÎļþ²¥·Åµ½ÍøÂçÁ÷ýÌåÅäÖõȴó·¶Î§µÄÓ¦Óá£
GStreamerÖ§³Ö¶àÖÖ±à½âÂëÆ÷ºÍÒôƵºó¶Ë¡£GStreamerÏÔÈ»²»ÊÊÓÃÓÚ»ù±¾µÄPCMÒôƵ²¥·Å»òÕßµÍÑÓʱ/ʵʱӦÓó¡ºÏ¡£GStreamerÊÇ¿É
ÒÆÖ²µÄ£¬²¢²»ÏÞÓÚ½öÄÜÔÚLinuxÉÏʹÓá£ËüÖ§³ÖµÄÒôƵºó¶Ë°üÀ¨ALSA¡¢OSS¡¢PulseAudioµÈ¡£
[API
Reference]
libcanberra
libcanberra
ÊÇÒ»¸ö³éÏóµÄʼþÉùÒôAPI¡£ËüÊÇXDG
ÉùÒôÖ÷ÌâºÍÃüÃû¹æ·¶
µÄʵÏÖ¡£ËäÈ»libcanberraÊÇGNOMEµÄÒ»²¿·Ö£¬µ«Ëü²¢²»ÒÀÀµÓÚGNOME/Gtk/GLib
£¬Òò´Ë¿ÉÒÔÓÃÓÚÆäËü×À
Ãæ»·¾³¡£Ëü³ýÁËÌṩ¼òµ¥µÄ½çÃæÓÃÓÚ²¥·ÅÉùÒôÎļþÖ®Í⣬»¹ÌṩÁË»º³å»úÖÆ£¨ÊÊÓÃÓÚ»ùÓÚÍøÂçµÄÊÝ¿Í»§»ú£©ºÍÔÊÐí´«µÝ¶àÖÖÔªÊý
Ïà¹ØÎĵµ£º
ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......
“Sudo” ÊÇUnix/Linuxƽ̨ÉϵÄÒ»¸ö·Ç³£ÓÐÓõŤ¾ß£¬ËüÔÊÐíϵͳ¹ÜÀíÔ±·ÖÅä¸øÆÕͨÓû§Ò»Ð©ºÏÀíµÄ“ȨÀû”£¬ÈÃËûÃÇÖ´ÐÐһЩֻÓг¬¼¶Óû§»òÆä
ËûÌØÐíÓû§²ÅÄÜÍê³ÉµÄÈÎÎñ£¬±ÈÈ磺ÔËÐÐһЩÏñmount£¬halt£¬suÖ®ÀàµÄÃüÁ»òÕß±à¼Ò»Ð©ÏµÍ³ÅäÖÃÎļþ£¬Ïñ/etc/mtab£¬ /etc
/samba/smb.confµÈ¡£ÕâÑùÒ ......
Linuxת°üÃüÁî
LinuxµÄ×¥°üÃüÁîtcpdump -i eth0 -Xs 10000 -vv port 22808 -I ±íʾ¼à²âµÄÉ豸ºÅ£¬-vv±íʾÏÔʾÏêϸÐÅÏ¢£¬ -s ±íʾÉèÖöÏÐУ¬ -c ±íʾ×î¶à½ØÈ¡°üÊý¡£-w±íʾ´æµ½ÎļþÖС£Èç×¥°ütcpdump tcp port 22808 –X –vv –c 100 –s 1500 –w tcp.log ......
ÔÚDSS¹éµµÊ±ÐèҪʹÓýâѹºÍ´ò°üÃüÁһЩеÄÎļþ´òµ½¹éµµ°üÖС£²¢Ð޸Ĺ鵵°üµÄʱ¼ä¡£
½âѹÃüÁîtar –zxvf [°üÃû],½«ÎļþÌæ»»,ʹÓÃÃüÁîtar –cvf [°üÃû] [src]£¬ÔÚʹÓÃgzip [src]´ò³Étar.gz£¬ÔÚʹÓÃÃüÁîtouch –t [yymmddhhss] °üÃû½«¹éµµ°üʱ¼äÐ޸ġ£
......