锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美色视频日本高清在线观看,午夜性色一区二区三区免费视频,欧美私人网站http://www.shnenglu.com/iuranus/archive/2009/07/19/90549.html鏀鍗?/dc:creator>鏀鍗?/author>Sun, 19 Jul 2009 14:27:00 GMThttp://www.shnenglu.com/iuranus/archive/2009/07/19/90549.htmlhttp://www.shnenglu.com/iuranus/comments/90549.htmlhttp://www.shnenglu.com/iuranus/archive/2009/07/19/90549.html#Feedback2http://www.shnenglu.com/iuranus/comments/commentRss/90549.htmlhttp://www.shnenglu.com/iuranus/services/trackbacks/90549.htmlWilliam, Windy, Steven閮戒拱浜咷1錛屽浜庢暟鐮佺媯浜虹殑鎴戝綋鐒朵篃鎯充竴涓簡錛屼絾鎬氨鎬湪Iphone娌″潖鍛(涓婃鍦ㄤ笁妤兼帀涓嬫潵涔熸病闂)錛屽攭錛孋C涓嶄細璁╂垜涔扮殑錛屾墍浠ヨ繕鏄瓑鎶婏紝鎴戣繖涓潖浜嗗啀涔幫紝璧但璧但.
 
鏈榪戝垰濂戒篃鍦ㄥ仛android縐繪宸ヤ綔錛岄『渚挎妸G1鐨剆pec璐村嚭鏉ワ紝鏈夊叴瓚g殑鐪嬬湅

Product Features & Specifications Technical Specifications
Operating System Google Android 1.0  錛堟渶鏂扮殑鏄?.0 donut錛?/td>
Network Support GSM/GPRS/EDGE/HSDPA, UMTS: 1700/2100MHz, GSM: 850/900/1800/1900MHz  涓浗涔熷彲浠ョ敤3G鍝?/td>
Screen 3.2" HVGA (320 x 480px), 65k Color TFT
Input Method Glass Capacitive Touchscreen, Slide-out 5-row QWERTY Keyboard, Trackball navigation
Wi-Fi 802.11b/g
GPS GPS navigation capabilities with Google Maps
Bluetooth Bluetooth v2.0+edr
Camera 3.2MP Camera with auto focus
Storage Internal 256MB Storage, External MicroSDHC Slot
Connection Ports ExtUSB 2.0 Hi-Speed (Mini-USB compatible for data-transfer, charger, and audio port)
Physical Attributes Dimensions: 117.7mm x 55.7mm x 17.1mm, Weight: 158g with battery

Media Support
Audio Support Codecs: MP3/WMA/AAC+/MPEG4/WAV/MIDI/Real Audio/Ogg
Video Support Codecs: H.264/3GPP/MPEG4
Browser Google WebKit-based Browser, streaming video


Bill of Materials
Processor Qualcomm MSM7201A @ 528MHz
Screen Sharp 3.2" HVGA LCD, 65k Color TFT
Capacitive Sensor IC Synaptics 1007A
Storage Samsung MCP - 256MB NAND Flash + 128MB DDR SDRAM
USB PHY SMSC USB3316
Wi-Fi Texas Instruments WL1251B
Bluetooth Texas Instruments BRF6300
GPS Integrated into Baseband Processor
Audio Integrated into Baseband Processor
Accelerometer Unknown
RF Transceiver Qualcomm RTR6285 Quad-band GSM/Dual-band UMTS
Power Management PMIC: Qualcomm PM7540
Power Amp (Quad-band GSM): TriQuint Semiconductor TQS-7M5008
Power Amp (UMTS-2100MHz): Avago ACPM-7381; (UMTS-1700MHz): Avago ACPM-7391



]]>
(杞?Linux闊抽緙栫▼鎸囧崡http://www.shnenglu.com/iuranus/archive/2009/05/12/82689.html鏀鍗?/dc:creator>鏀鍗?/author>Tue, 12 May 2009 07:27:00 GMThttp://www.shnenglu.com/iuranus/archive/2009/05/12/82689.html            婧愬湴鍧錛?a >http://www.ibm.com/developerworks/cn/linux/l-audio/index.html
            浣滆咃細   鑲栨枃楣?br>            铏界劧鐩墠Linux鐨勪紭鍔夸富瑕佷綋鐜板湪緗戠粶鏈嶅姟鏂歸潰錛屼絾浜嬪疄涓婂悓鏍蜂篃鏈夌潃闈炲父涓板瘜鐨勫獟浣撳姛鑳斤紝鏈枃灝辨槸浠ュ濯掍綋搴旂敤涓渶鍩烘湰鐨勫0闊充負瀵硅薄錛屼粙緇嶅浣曞湪Linux騫沖彴涓嬪紑鍙戝疄闄呯殑闊抽搴旂敤紼嬪簭錛屽悓鏃惰繕緇欏嚭浜嗕竴浜涘父鐢ㄧ殑闊抽緙栫▼妗嗘灦

涓銆佹暟瀛楅煶棰?/span>

闊抽淇″彿鏄竴縐嶈繛緇彉鍖栫殑妯℃嫙淇″彿錛屼絾璁$畻鏈哄彧鑳藉鐞嗗拰璁板綍浜岃繘鍒剁殑鏁板瓧淇″彿錛岀敱鑷劧闊蟲簮寰楀埌鐨勯煶棰戜俊鍙峰繀欏葷粡榪囦竴瀹氱殑鍙樻崲錛屾垚涓烘暟瀛楅煶棰戜俊鍙蜂箣鍚庯紝鎵嶈兘閫佸埌璁$畻鏈轟腑浣滆繘涓姝ョ殑澶勭悊銆?/p>

鏁板瓧闊抽緋葷粺閫氳繃灝嗗0娉㈢殑娉㈠瀷杞崲鎴愪竴緋誨垪浜岃繘鍒舵暟鎹紝鏉ュ疄鐜板鍘熷澹伴煶鐨勯噸鐜幫紝瀹炵幇榪欎竴姝ラ鐨勮澶囧父琚О涓烘ā/鏁拌漿鎹㈠櫒錛圓/D錛夈侫/D杞崲鍣ㄤ互姣忕閽熶笂涓囨鐨勯熺巼瀵瑰0娉㈣繘琛岄噰鏍鳳紝姣忎釜閲囨牱鐐歸兘璁板綍涓嬩簡鍘熷妯℃嫙澹版嘗鍦ㄦ煇涓鏃跺埢鐨勭姸鎬侊紝閫氬父縐頒箣涓烘牱鏈紙sample錛夛紝鑰屾瘡涓縐掗挓鎵閲囨牱鐨勬暟鐩垯縐頒負閲囨牱棰戠巼錛岄氳繃灝嗕竴涓茶繛緇殑鏍鋒湰榪炴帴璧鋒潵錛屽氨鍙互鍦ㄨ綆楁満涓弿榪頒竴孌靛0闊充簡銆傚浜庨噰鏍瘋繃紼嬩腑鐨勬瘡涓涓牱鏈潵璇達紝鏁板瓧闊抽緋葷粺浼氬垎閰嶄竴瀹氬瓨鍌ㄤ綅鏉ヨ褰曞0娉㈢殑鎸箙錛屼竴鑸О涔嬩負閲囨牱鍒嗚京鐜囨垨鑰呴噰鏍風簿搴︼紝閲囨牱綺懼害瓚婇珮錛屽0闊寵繕鍘熸椂灝變細瓚婄粏鑵匯?/p>

鏁板瓧闊抽娑夊強鍒扮殑姒傚康闈炲父澶氾紝瀵逛簬鍦↙inux 涓嬭繘琛岄煶棰戠紪紼嬬殑紼嬪簭鍛樻潵璇達紝鏈閲嶈鐨勬槸鐞嗚В澹伴煶鏁板瓧鍖栫殑涓や釜鍏抽敭姝ラ錛氶噰鏍峰拰閲忓寲銆傞噰鏍峰氨鏄瘡闅斾竴瀹氭椂闂村氨璇諱竴嬈″0闊充俊鍙風殑騫呭害錛岃岄噺鍖栧垯鏄皢閲囨牱寰楀埌鐨勫0闊充俊鍙峰箙搴﹁漿鎹負鏁板瓧鍊鹼紝浠庢湰璐ㄤ笂璁詫紝閲囨牱鏄椂闂翠笂鐨勬暟瀛楀寲錛岃岄噺鍖栧垯鏄箙搴︿笂鐨勬暟瀛楀寲銆備笅闈粙緇嶅嚑涓湪榪涜闊抽緙栫▼鏃剁粡甯擱渶瑕佺敤鍒扮殑鎶鏈寚鏍囷細

  1. 閲囨牱棰戠巼
    閲囨牱棰戠巼鏄寚灝嗘ā鎷熷0闊蟲嘗褰㈣繘琛屾暟瀛楀寲鏃訛紝姣忕閽熸娊鍙栧0娉㈠箙搴︽牱鏈殑嬈℃暟銆傞噰鏍烽鐜囩殑閫夋嫨搴旇閬靛驚濂堝鏂壒錛圚arry Nyquist錛夐噰鏍風悊璁猴細濡傛灉瀵規煇涓妯℃嫙淇″彿榪涜閲囨牱錛屽垯閲囨牱鍚庡彲榪樺師鐨勬渶楂樹俊鍙烽鐜囧彧鏈夐噰鏍烽鐜囩殑涓鍗婏紝鎴栬呰鍙閲囨牱棰戠巼楂樹簬杈撳叆淇″彿鏈楂橀鐜囩殑涓ゅ嶏紝灝辮兘浠庨噰鏍蜂俊鍙風郴鍒楅噸鏋勫師濮嬩俊鍙楓傛甯鎬漢鍚鐨勯鐜囪寖鍥村ぇ綰﹀湪20Hz~20kHz涔嬮棿錛屾牴鎹濂庢柉鐗歸噰鏍風悊璁猴紝涓轟簡淇濊瘉澹伴煶涓嶅け鐪燂紝閲囨牱棰戠巼搴旇鍦?40kHz宸﹀彸銆傚父鐢ㄧ殑闊抽閲囨牱棰戠巼鏈?kHz銆?1.025kHz銆?2.05kHz銆?6kHz銆?7.8kHz銆?4.1kHz銆?8kHz絳夛紝濡傛灉閲囩敤鏇撮珮鐨勯噰鏍烽鐜囷紝榪樺彲浠ヨ揪鍒癉VD鐨勯煶璐ㄣ?
  2. 閲忓寲浣嶆暟
    閲忓寲浣嶆暟鏄妯℃嫙闊抽淇″彿鐨勫箙搴﹁繘琛屾暟瀛楀寲錛屽畠鍐沖畾浜嗘ā鎷熶俊鍙鋒暟瀛楀寲浠ュ悗鐨勫姩鎬佽寖鍥達紝甯哥敤鐨勬湁8浣嶃?2浣嶅拰16浣嶃傞噺鍖栦綅瓚婇珮錛屼俊鍙風殑鍔ㄦ佽寖鍥磋秺澶э紝鏁板瓧鍖栧悗鐨勯煶棰戜俊鍙峰氨瓚婂彲鑳芥帴榪戝師濮嬩俊鍙鳳紝浣嗘墍闇瑕佺殑瀛樿串絀洪棿涔熻秺澶с?
  3. 澹伴亾鏁?/strong>
    澹伴亾鏁版槸鍙嶆槧闊抽鏁板瓧鍖栬川閲忕殑鍙︿竴涓噸瑕佸洜绱狅紝瀹冩湁鍗曞0閬撳拰鍙屽0閬撲箣鍒嗐傚弻澹伴亾鍙堢О涓虹珛浣撳0錛屽湪紜歡涓湁涓ゆ潯綰胯礬錛岄煶璐ㄥ拰闊寵壊閮借浼樹簬鍗曞0閬擄紝浣嗘暟瀛楀寲鍚庡崰鎹殑瀛樺偍絀洪棿鐨勫ぇ灝忚姣斿崟澹伴亾澶氫竴鍊嶃?




浜屻佸0鍗¢┍鍔?/span>

鍑轟簬瀵瑰畨鍏ㄦф柟闈㈢殑鑰冭檻錛孡inux涓嬬殑搴旂敤紼嬪簭鏃犳硶鐩存帴瀵瑰0鍗¤繖綾葷‖浠惰澶囪繘琛屾搷浣滐紝鑰屾槸蹇呴』閫氳繃鍐呮牳鎻愪緵鐨勯┍鍔ㄧ▼搴忔墠鑳藉畬鎴愩傚湪Linux涓婅繘琛岄煶棰戠紪紼嬬殑鏈川灝辨槸瑕佸熷姪浜庨┍鍔ㄧ▼搴忥紝鏉ュ畬鎴愬澹板崱鐨勫悇縐嶆搷浣溿?/p>

瀵圭‖浠剁殑鎺у埗娑夊強鍒板瘎瀛樺櫒涓悇涓瘮鐗逛綅鐨勬搷浣滐紝閫氬父榪欐槸涓庤澶囩洿鎺ョ浉鍏沖茍涓斿鏃跺簭鐨勮姹傞潪甯鎬弗鏍鹼紝濡傛灉榪欎簺宸ヤ綔閮戒氦鐢卞簲鐢ㄧ▼搴忓憳鏉ヨ礋璐o紝閭d箞瀵瑰0鍗$殑緙栫▼灝嗗彉寰楀紓甯稿鏉傝屽洶闅捐搗鏉ワ紝椹卞姩紼嬪簭鐨勪綔鐢ㄦ鏄灞忚斀紜歡鐨勮繖浜涘簳灞傜粏鑺傦紝浠庤岀畝鍖栧簲鐢ㄧ▼搴忕殑緙栧啓銆傜洰鍓峀inux涓嬪父鐢ㄧ殑澹板崱椹卞姩紼嬪簭涓昏鏈変袱縐嶏細OSS 鍜孉LSA銆?/p>

鏈鏃╁嚭鐜板湪Linux涓婄殑闊抽緙栫▼鎺ュ彛鏄疧SS錛圤pen Sound System錛夛紝瀹冪敱涓濂楀畬鏁寸殑鍐呮牳椹卞姩紼嬪簭妯″潡緇勬垚錛屽彲浠ヤ負緇濆ぇ澶氭暟澹板崱鎻愪緵緇熶竴鐨勭紪紼嬫帴鍙c侽SS鍑虹幇鐨勫巻鍙茬浉瀵硅緝闀匡紝榪欎簺鍐呮牳妯″潡涓殑涓閮ㄥ垎錛圤SS/Free錛夋槸涓嶭inux鍐呮牳婧愮爜鍏卞悓鍏嶈垂鍙戝竷鐨勶紝鍙﹀涓浜涘垯浠ヤ簩榪涘埗鐨勫艦寮忕敱4Front Technologies鍏徃鎻愪緵銆傜敱浜庡緱鍒頒簡鍟嗕笟鍏徃鐨勯紟鍔涙敮鎸侊紝OSS宸茬粡鎴愪負鍦↙inux涓嬭繘琛岄煶棰戠紪紼嬬殑浜嬪疄鏍囧噯錛屾敮鎸丱SS鐨勫簲鐢ㄧ▼搴忚兘澶熷湪緇濆ぇ澶氭暟澹板崱涓婂伐浣滆壇濂姐?/p>

铏界劧OSS宸茬粡闈炲父鎴愮啛錛屼絾瀹冩瘯绔熸槸涓涓病鏈夊畬鍏ㄥ紑鏀炬簮浠g爜鐨勫晢涓氫駭鍝侊紝ALSA錛圓dvanced Linux Sound Architecture錛夋伆濂藉譏琛ヤ簡榪欎竴絀虹櫧錛屽畠鏄湪Linux涓嬭繘琛岄煶棰戠紪紼嬫椂鍙︿竴涓彲渚涢夋嫨鐨勫0鍗¢┍鍔ㄧ▼搴忋侫LSA闄や簡鍍廜SS閭f牱鎻愪緵浜嗕竴緇勫唴鏍擱┍鍔ㄧ▼搴忔ā鍧椾箣澶栵紝榪樹笓闂ㄤ負綆鍖栧簲鐢ㄧ▼搴忕殑緙栧啓鎻愪緵浜嗙浉搴旂殑鍑芥暟搴擄紝涓嶰SS鎻愪緵鐨勫熀浜巌octl鐨勫師濮嬬紪紼嬫帴鍙g浉姣旓紝ALSA鍑芥暟搴撲嬌鐢ㄨ搗鏉ヨ鏇村姞鏂逛究涓浜涖侫LSA鐨勪富瑕佺壒鐐規湁錛?/p>

  • 鏀寔澶氱澹板崱璁懼
  • 妯″潡鍖栫殑鍐呮牳椹卞姩紼嬪簭
  • 鏀寔SMP鍜屽綰跨▼
  • 鎻愪緵搴旂敤寮鍙戝嚱鏁板簱
  • 鍏煎OSS搴旂敤紼嬪簭

ALSA 鍜孫SS鏈澶х殑涓嶅悓涔嬪鍦ㄤ簬ALSA鏄敱蹇楁効鑰呯淮鎶ょ殑鑷敱欏圭洰錛岃孫SS鍒欐槸鐢卞叕鍙告彁渚涚殑鍟嗕笟浜у搧錛屽洜姝ゅ湪瀵圭‖浠剁殑閫傚簲紼嬪害涓奜SS瑕佷紭浜嶢LSA錛屽畠鑳藉鏀寔鐨勫0鍗$綾繪洿澶氥侫LSA铏界劧涓嶅強OSS榪愮敤寰楀箍娉涳紝浣嗗嵈鍏鋒湁鏇村姞鍙嬪ソ鐨勭紪紼嬫帴鍙o紝騫朵笖瀹屽叏鍏煎浜嶰SS錛屽搴旂敤紼嬪簭鍛樻潵璁叉棤鐤戞槸涓涓洿浣崇殑閫夋嫨銆?/p>



涓夈佺紪紼嬫帴鍙?/span>

濡備綍瀵瑰悇縐嶉煶棰戣澶囪繘琛屾搷浣滄槸鍦↙inux涓婅繘琛岄煶棰戠紪紼嬬殑鍏抽敭錛岄氳繃鍐呮牳鎻愪緵鐨勪竴緇勭郴緇熻皟鐢紝搴旂敤紼嬪簭鑳藉璁塊棶澹板崱椹卞姩紼嬪簭鎻愪緵鐨勫悇縐嶉煶棰戣澶囨帴鍙o紝榪欐槸鍦↙inux涓嬭繘琛岄煶棰戠紪紼嬫渶綆鍗曚篃鏄渶鐩存帴鐨勬柟娉曘?/p>

3.1 璁塊棶闊抽璁懼

鏃犺鏄疧SS榪樻槸ALSA錛岄兘鏄互鍐呮牳椹卞姩紼嬪簭鐨勫艦寮忚繍琛屽湪Linux鍐呮牳絀洪棿涓殑錛屽簲鐢ㄧ▼搴忚鎯寵闂0鍗¤繖涓紜歡璁懼錛屽繀欏誨熷姪浜嶭inux鍐呮牳鎵鎻愪緵鐨勭郴緇熻皟鐢紙system call錛夈備粠紼嬪簭鍛樼殑瑙掑害鏉ヨ錛屽澹板崱鐨勬搷浣滃湪寰堝ぇ紼嬪害涓婄瓑鍚屼簬瀵圭鐩樻枃浠剁殑鎿嶄綔錛氶鍏堜嬌鐢╫pen緋葷粺璋冪敤寤虹珛璧蜂笌紜歡闂寸殑鑱旂郴錛屾鏃惰繑鍥炵殑鏂囦歡鎻忚堪絎﹀皢浣滀負闅忓悗鎿嶄綔鐨勬爣璇嗭紱鎺ョ潃浣跨敤read緋葷粺璋冪敤浠庤澶囨帴鏀舵暟鎹紝鎴栬呬嬌鐢╳rite緋葷粺璋冪敤鍚戣澶囧啓鍏ユ暟鎹紝鑰屽叾瀹冩墍鏈変笉絎﹀悎璇?鍐欒繖涓鍩烘湰妯″紡鐨勬搷浣滈兘鍙互鐢眎octl緋葷粺璋冪敤鏉ュ畬鎴愶紱鏈鍚庯紝浣跨敤close緋葷粺璋冪敤鍛婅瘔Linux鍐呮牳涓嶄細鍐嶅璇ヨ澶囧仛榪涗竴姝ョ殑澶勭悊銆?/p>

  • open緋葷粺璋冪敤
    緋葷粺璋冪敤open鍙互鑾峰緱瀵瑰0鍗$殑璁塊棶鏉冿紝鍚屾椂榪樿兘涓洪殢鍚庣殑緋葷粺璋冪敤鍋氬ソ鍑嗗錛屽叾鍑芥暟鍘熷瀷濡備笅鎵紺猴細
    int open(const char *pathname, int flags, int mode);
                    

    鍙傛暟pathname鏄皢瑕佽鎵撳紑鐨勮澶囨枃浠剁殑鍚嶇О錛屽浜庡0鍗℃潵璁蹭竴鑸槸/dev/dsp銆傚弬鏁癴lags鐢ㄦ潵鎸囨槑搴旇浠ヤ粈涔堟柟寮忔墦寮璁懼鏂囦歡錛屽畠鍙互鏄?O_RDONLY銆丱_WRONLY鎴栬匫_RDWR錛屽垎鍒〃紺轟互鍙銆佸彧鍐欐垨鑰呰鍐欑殑鏂瑰紡鎵撳紑璁懼鏂囦歡錛涘弬鏁癿ode閫氬父鏄彲閫夌殑錛屽畠鍙湁鍦ㄦ寚瀹氱殑璁懼鏂囦歡涓嶅瓨鍦ㄦ椂鎵嶄細鐢ㄥ埌錛屾寚鏄庢柊鍒涘緩鐨勬枃浠跺簲璇ュ叿鏈夋庢牱鐨勬潈闄愩?
    濡傛灉open緋葷粺璋冪敤鑳藉鎴愬姛瀹屾垚錛屽畠灝嗚繑鍥炰竴涓鏁存暟浣滀負鏂囦歡鏍囪瘑絎︼紝鍦ㄩ殢鍚庣殑緋葷粺璋冪敤涓渶瑕佺敤鍒拌鏍囪瘑絎︺傚鏋渙pen緋葷粺璋冪敤澶辮觸錛屽畠灝嗚繑鍥?1錛屽悓鏃惰繕浼氳緗叏灞鍙橀噺errno錛屾寚鏄庢槸浠涔堝師鍥犲鑷翠簡閿欒鐨勫彂鐢熴?
  • read緋葷粺璋冪敤
    緋葷粺璋冪敤read鐢ㄦ潵浠庡0鍗¤鍙栨暟鎹紝鍏跺嚱鏁板師鍨嬪涓嬫墍紺猴細
    int read(int fd, char *buf, size_t count);
                    

    鍙傛暟fd鏄澶囨枃浠剁殑鏍囪瘑絎︼紝瀹冩槸閫氳繃涔嬪墠鐨刼pen緋葷粺璋冪敤鑾峰緱鐨勶紱鍙傛暟buf鏄寚鍚戠紦鍐插尯鐨勫瓧絎︽寚閽堬紝瀹冪敤鏉ヤ繚瀛樹粠澹板崱鑾峰緱鐨勬暟鎹紱鍙傛暟count鍒欑敤鏉ラ檺瀹氫粠澹板崱鑾峰緱鐨勬渶澶у瓧鑺傛暟銆傚鏋渞ead緋葷粺璋冪敤鎴愬姛瀹屾垚錛屽畠灝嗚繑鍥炰粠澹板崱瀹為檯璇誨彇鐨勫瓧鑺傛暟錛岄氬父鎯呭喌浼氭瘮count鐨勫艱灝忎竴浜涳紱濡傛灉read緋葷粺璋冪敤澶辮觸錛屽畠灝嗚繑鍥?1錛屽悓鏃惰繕浼氳緗叏灞鍙橀噺errno錛屾潵鎸囨槑鏄粈涔堝師鍥犲鑷翠簡閿欒鐨勫彂鐢熴?
  • write緋葷粺璋冪敤
    緋葷粺璋冪敤write鐢ㄦ潵鍚戝0鍗″啓鍏ユ暟鎹紝鍏跺嚱鏁板師鍨嬪涓嬫墍紺猴細
    size_t write(int fd, const char *buf, size_t count);
                    

    緋葷粺璋冪敤write鍜岀郴緇熻皟鐢╮ead鍦ㄥ緢澶х▼搴︽槸綾諱技鐨勶紝宸埆鍙湪浜巜rite鏄悜澹板崱鍐欏叆鏁版嵁錛岃宺ead鍒欐槸浠庡0鍗¤鍏ユ暟鎹傚弬鏁癴d鍚屾牱鏄澶囨枃浠剁殑鏍囪瘑絎︼紝瀹冧篃鏄氳繃涔嬪墠鐨刼pen緋葷粺璋冪敤鑾峰緱鐨勶紱鍙傛暟buf鏄寚鍚戠紦鍐插尯鐨勫瓧絎︽寚閽堬紝瀹冧繚瀛樼潃鍗沖皢鍚戝0鍗″啓鍏ョ殑鏁版嵁錛涘弬鏁癱ount鍒欑敤鏉ラ檺瀹氬悜澹板崱鍐欏叆鐨勬渶澶у瓧鑺傛暟銆?
    濡傛灉write緋葷粺璋冪敤鎴愬姛瀹屾垚錛屽畠灝嗚繑鍥炲悜澹板崱瀹為檯鍐欏叆鐨勫瓧鑺傛暟錛涘鏋渞ead緋葷粺璋冪敤澶辮觸錛屽畠灝嗚繑鍥?1錛屽悓鏃惰繕浼氳緗叏灞鍙橀噺errno錛屾潵鎸囨槑鏄粈涔堝師鍥犲鑷翠簡閿欒鐨勫彂鐢熴傛棤璁烘槸read榪樻槸write錛屼竴鏃﹁皟鐢ㄤ箣鍚嶭inux鍐呮牳灝變細闃誨褰撳墠搴旂敤紼嬪簭錛岀洿鍒版暟鎹垚鍔熷湴浠庡0鍗¤鍑烘垨鑰呭啓鍏ヤ負姝€?
  • ioctl緋葷粺璋冪敤
    緋葷粺璋冪敤ioctl鍙互瀵瑰0鍗¤繘琛屾帶鍒訛紝鍑℃槸瀵硅澶囨枃浠剁殑鎿嶄綔涓嶇鍚堣/鍐欏熀鏈ā寮忕殑錛岄兘鏄氳繃ioctl鏉ュ畬鎴愮殑錛屽畠鍙互褰卞搷璁懼鐨勮涓猴紝鎴栬呰繑鍥炶澶囩殑鐘舵侊紝鍏跺嚱鏁板師鍨嬪涓嬫墍紺猴細
    int ioctl(int fd, int request, ...);
                    

    鍙傛暟fd鏄澶囨枃浠剁殑鏍囪瘑絎︼紝瀹冩槸鍦ㄨ澶囨墦寮鏃惰幏寰楃殑錛涘鏋滆澶囨瘮杈冨鏉傦紝閭d箞瀵瑰畠鐨勬帶鍒惰姹傜浉搴斿湴涔熶細鏈夊緢澶氱錛屽弬鏁皉equest鐨勭洰鐨勫氨鏄敤鏉ュ尯鍒嗕笉鍚岀殑鎺у埗璇鋒眰錛涢氬父璇存潵錛屽湪瀵硅澶囪繘琛屾帶鍒舵椂榪橀渶瑕佹湁鍏跺畠鍙傛暟錛岃繖瑕佹牴鎹笉鍚岀殑鎺у埗璇鋒眰鎵嶈兘紜畾錛屽茍涓斿彲鑳芥槸涓庣‖浠惰澶囩洿鎺ョ浉鍏崇殑銆?
  • close緋葷粺璋冪敤
    褰撳簲鐢ㄧ▼搴忎嬌鐢ㄥ畬澹板崱涔嬪悗錛岄渶瑕佺敤close緋葷粺璋冪敤灝嗗叾鍏抽棴錛屼互渚垮強鏃墮噴鏀懼崰鐢ㄧ殑紜歡璧勬簮錛屽叾鍑芥暟鍘熷瀷濡備笅鎵紺猴細
    int close(int fd);
                    

    鍙傛暟fd鏄澶囨枃浠剁殑鏍囪瘑絎︼紝瀹冩槸鍦ㄨ澶囨墦寮鏃惰幏寰楃殑銆備竴鏃﹀簲鐢ㄧ▼搴忚皟鐢ㄤ簡close緋葷粺璋冪敤錛孡inux鍐呮牳灝變細閲婃斁涓庝箣鐩稿叧鐨勫悇縐嶈祫婧愶紝鍥犳寤鴻鍦ㄤ笉闇瑕佺殑鏃跺欏敖閲忓強鏃跺叧闂凡緇忔墦寮鐨勮澶囥?

3.2 闊抽璁懼鏂囦歡

瀵逛簬Linux搴旂敤紼嬪簭鍛樻潵璁詫紝闊抽緙栫▼鎺ュ彛瀹為檯涓婂氨鏄竴緇勯煶棰戣澶囨枃浠訛紝閫氳繃瀹冧滑鍙互浠庡0鍗¤鍙栨暟鎹紝鎴栬呭悜澹板崱鍐欏叆鏁版嵁錛屽茍涓旇兘澶熷澹板崱榪涜鎺у埗錛岃緗噰鏍烽鐜囧拰澹伴亾鏁扮洰絳夌瓑銆?/p>

  • /dev/sndstat
    璁懼鏂囦歡/dev/sndstat鏄0鍗¢┍鍔ㄧ▼搴忔彁渚涚殑鏈綆鍗曠殑鎺ュ彛錛岄氬父瀹冩槸涓涓彧璇繪枃浠訛紝浣滅敤涔熶粎浠呭彧闄愪簬姹囨姤澹板崱鐨勫綋鍓嶇姸鎬併備竴鑸鏉ワ紝/dev/sndstat鏄彁渚涚粰鏈緇堢敤鎴鋒潵媯嫻嬪0鍗$殑錛屼笉瀹滅敤浜庣▼搴忓綋涓紝鍥犱負鎵鏈夌殑淇℃伅閮藉彲浠ラ氳繃ioctl緋葷粺璋冪敤鏉ヨ幏寰椼?Linux鎻愪緵鐨刢at鍛戒護鍙互寰堟柟渚垮湴浠?dev/sndstat鑾峰緱澹板崱鐨勫綋鍓嶇姸鎬侊細 [xiaowp@linuxgam sound]$ cat /dev/sndstat
  • /dev/dsp

    澹板崱椹卞姩紼嬪簭鎻愪緵鐨?dev/dsp鏄敤浜庢暟瀛楅噰鏍鳳紙sampling錛夊拰鏁板瓧褰曢煶錛坮ecording錛夌殑璁懼鏂囦歡錛屽畠瀵逛簬Linux涓嬬殑闊抽緙栫▼鏉ヨ闈炲父閲嶈錛氬悜璇ヨ澶囧啓鏁版嵁鍗蟲剰鍛崇潃嬋媧誨0鍗′笂鐨凞/A杞崲鍣ㄨ繘琛屾斁闊籌紝鑰屽悜璇ヨ澶囪鏁版嵁鍒欐剰鍛崇潃嬋媧誨0鍗′笂鐨凙/D杞崲鍣ㄨ繘琛屽綍闊熾傜洰鍓嶈澶氬0鍗¢兘鎻愪緵鏈夊涓暟瀛楅噰鏍瘋澶囷紝瀹冧滑鍦↙inux涓嬪彲浠ラ氳繃/dev/dsp1絳夎澶囨枃浠惰繘琛岃闂?/p>

    DSP鏄暟瀛椾俊鍙峰鐞嗗櫒錛圖igital Signal Processor錛夌殑綆縐幫紝瀹冩槸鐢ㄦ潵榪涜鏁板瓧淇″彿澶勭悊鐨勭壒孌婅姱鐗囷紝澹板崱浣跨敤瀹冩潵瀹炵幇妯℃嫙淇″彿鍜屾暟瀛椾俊鍙風殑杞崲銆傚0鍗′腑鐨凞SP璁懼瀹為檯涓婂寘鍚袱涓粍鎴愰儴鍒嗭細鍦ㄤ互鍙鏂瑰紡鎵撳紑鏃訛紝鑳藉浣跨敤A/D杞崲鍣ㄨ繘琛屽0闊崇殑杈撳叆錛涜屽湪浠ュ彧鍐欐柟寮忔墦寮鏃訛紝鍒欒兘澶熶嬌鐢―/A杞崲鍣ㄨ繘琛屽0闊崇殑杈撳嚭銆備弗鏍艱鏉ワ紝Linux涓嬬殑搴旂敤紼嬪簭瑕佷箞浠ュ彧璇繪柟寮忔墦寮/dev/dsp杈撳叆澹伴煶錛岃涔堜互鍙啓鏂瑰紡鎵撳紑/dev/dsp杈撳嚭澹伴煶錛屼絾浜嬪疄涓婃煇浜涘0鍗¢┍鍔ㄧ▼搴忎粛鍏佽浠ヨ鍐欑殑鏂瑰紡鎵撳紑 /dev/dsp錛屼互渚垮悓鏃惰繘琛屽0闊崇殑杈撳叆鍜岃緭鍑猴紝榪欏浜庢煇浜涘簲鐢ㄥ満鍚堬紙濡侷P鐢佃瘽錛夋潵璁叉槸闈炲父鍏抽敭鐨勩?/p>

    鍦ㄤ粠 DSP璁懼璇誨彇鏁版嵁鏃訛紝浠庡0鍗¤緭鍏ョ殑妯℃嫙淇″彿緇忚繃A/D杞崲鍣ㄥ彉鎴愭暟瀛楅噰鏍峰悗鐨勬牱鏈紙sample錛夛紝淇濆瓨鍦ㄥ0鍗¢┍鍔ㄧ▼搴忕殑鍐呮牳緙撳啿鍖轟腑錛屽綋搴旂敤紼嬪簭閫氳繃 read緋葷粺璋冪敤浠庡0鍗¤鍙栨暟鎹椂錛屼繚瀛樺湪鍐呮牳緙撳啿鍖轟腑鐨勬暟瀛楅噰鏍風粨鏋滃皢琚鍒跺埌搴旂敤紼嬪簭鎵鎸囧畾鐨勭敤鎴風紦鍐插尯涓傞渶瑕佹寚鍑虹殑鏄紝澹板崱閲囨牱棰戠巼鏄敱鍐呮牳涓殑椹卞姩紼嬪簭鎵鍐沖畾鐨勶紝鑰屼笉鍙栧喅浜庡簲鐢ㄧ▼搴忎粠澹板崱璇誨彇鏁版嵁鐨勯熷害銆傚鏋滃簲鐢ㄧ▼搴忚鍙栨暟鎹殑閫熷害榪囨參錛屼互鑷翠綆浜庡0鍗$殑閲囨牱棰戠巼錛岄偅涔堝浣欑殑鏁版嵁灝嗕細琚涪寮冿紱濡傛灉璇誨彇鏁版嵁鐨勯熷害榪囧揩錛屼互鑷撮珮浜庡0鍗$殑閲囨牱棰戠巼錛岄偅涔堝0鍗¢┍鍔ㄧ▼搴忓皢浼氶樆濉為偅浜涜姹傛暟鎹殑搴旂敤紼嬪簭錛岀洿鍒版柊鐨勬暟鎹埌鏉ヤ負姝€?/p>

    鍦ㄥ悜DSP璁懼鍐欏叆鏁版嵁鏃訛紝鏁板瓧淇″彿浼氱粡榪嘍/A杞崲鍣ㄥ彉鎴愭ā鎷熶俊鍙鳳紝鐒跺悗浜х敓鍑哄0闊熾傚簲鐢ㄧ▼搴忓啓鍏ユ暟鎹殑閫熷害鍚屾牱搴旇涓庡0鍗$殑閲囨牱棰戠巼鐩稿尮閰嶏紝鍚﹀垯榪囨參鐨勮瘽浼氫駭鐢熷0闊蟲殏鍋滄垨鑰呭仠欏跨殑鐜拌薄錛岃繃蹇殑璇濆張浼氳鍐呮牳涓殑澹板崱椹卞姩紼嬪簭闃誨錛岀洿鍒扮‖浠舵湁鑳藉姏澶勭悊鏂扮殑鏁版嵁涓烘銆備笌鍏跺畠璁懼鏈夋墍涓嶅悓錛屽0鍗¢氬父涓嶄細鏀寔闈為樆濉烇紙non-blocking錛夌殑I/O鎿嶄綔銆?/p>

    鏃犺鏄粠澹板崱璇誨彇鏁版嵁錛屾垨鏄悜澹板崱鍐欏叆鏁版嵁錛屼簨瀹炰笂閮藉叿鏈夌壒瀹氱殑鏍煎紡錛坒ormat錛夛紝榛樿涓?浣嶆棤絎﹀彿鏁版嵁銆佸崟澹伴亾銆?KHz閲囨牱鐜囷紝濡傛灉榛樿鍊兼棤娉曡揪鍒拌姹傦紝鍙互閫氳繃ioctl緋葷粺璋冪敤鏉ユ敼鍙樺畠浠傞氬父璇存潵錛屽湪搴旂敤紼嬪簭涓墦寮璁懼鏂囦歡/dev/dsp涔嬪悗錛屾帴涓嬪幓灝卞簲璇ヤ負鍏惰緗伆褰撶殑鏍煎紡錛岀劧鍚庢墠鑳戒粠澹板崱璇誨彇鎴栬呭啓鍏ユ暟鎹?/p>

  • /dev/audio
    /dev/audio綾諱技浜?dev/dsp錛屽畠鍏煎浜嶴un宸ヤ綔绔欎笂鐨勯煶棰戣澶囷紝浣跨敤鐨勬槸mu-law緙栫爜鏂瑰紡銆傚鏋滃0鍗¢┍鍔ㄧ▼搴忔彁渚涗簡瀵?dev /audio鐨勬敮鎸侊紝閭d箞鍦↙inux涓婂氨鍙互閫氳繃cat鍛戒護錛屾潵鎾斁鍦⊿un宸ヤ綔绔欎笂鐢╩u-law榪涜緙栫爜鐨勯煶棰戞枃浠訛細
    [xiaowp@linuxgam sound]$ cat audio.au > /dev/audio
                    

    鐢變簬璁懼鏂囦歡/dev/audio涓昏鍑轟簬瀵瑰吋瀹規х殑鑰冭檻錛屾墍浠ュ湪鏂板紑鍙戠殑搴旂敤紼嬪簭涓渶濂戒笉瑕佸皾璇曠敤瀹冿紝鑰屽簲璇ヤ互/dev/dsp榪涜鏇夸唬銆傚浜庡簲鐢ㄧ▼搴忔潵璇達紝鍚屼竴鏃跺埢鍙兘浣跨敤/dev/audio鎴栬?dev/dsp鍏朵腑涔嬩竴錛屽洜涓哄畠浠槸鐩稿悓紜歡鐨勪笉鍚岃蔣浠舵帴鍙c?
  • /dev/mixer
    鍦ㄥ0鍗$殑紜歡鐢佃礬涓紝娣烽煶鍣紙mixer錛夋槸涓涓緢閲嶈鐨勭粍鎴愰儴鍒嗭紝瀹冪殑浣滅敤鏄皢澶氫釜淇″彿緇勫悎鎴栬呭彔鍔犲湪涓璧鳳紝瀵逛簬涓嶅悓鐨勫0鍗℃潵璇達紝鍏舵販闊沖櫒鐨勪綔鐢ㄥ彲鑳藉悇涓嶇浉鍚屻傝繍琛屽湪Linux鍐呮牳涓殑澹板崱椹卞姩紼嬪簭涓鑸兘浼氭彁渚?dev/mixer榪欎竴璁懼鏂囦歡錛屽畠鏄簲鐢ㄧ▼搴忓娣烽煶鍣ㄨ繘琛屾搷浣滅殑杞歡鎺ュ彛銆傛販闊沖櫒鐢佃礬閫氬父鐢變袱涓儴鍒嗙粍鎴愶細杈撳叆娣烽煶鍣紙input mixer錛夊拰杈撳嚭娣烽煶鍣紙output mixer錛夈?
    杈撳叆娣烽煶鍣ㄨ礋璐d粠澶氫釜涓嶅悓鐨勪俊鍙鋒簮鎺ユ敹妯℃嫙淇″彿錛岃繖浜涗俊鍙鋒簮鏈夋椂涔熻縐頒負娣烽煶閫氶亾鎴栬呮販闊寵澶囥傛ā鎷熶俊鍙烽氳繃澧炵泭鎺у埗鍣ㄥ拰鐢辮蔣浠舵帶鍒剁殑闊抽噺璋冭妭鍣ㄥ悗錛屽湪涓嶅悓鐨勬販闊抽氶亾涓繘琛岀駭鍒紙level錛夎皟鍒訛紝鐒跺悗琚佸埌杈撳叆娣烽煶鍣ㄤ腑榪涜澹伴煶鐨勫悎鎴愩傛販闊沖櫒涓婄殑鐢靛瓙寮鍏沖彲浠ユ帶鍒跺摢浜涢氶亾涓湁淇″彿涓庢販闊沖櫒鐩歌繛錛屾湁浜涘0鍗″彧鍏佽榪炴帴涓涓販闊抽氶亾浣滀負褰曢煶鐨勯煶婧愶紝鑰屾湁浜涘0鍗″垯鍏佽瀵規販闊抽氶亾鍋氫換鎰忕殑榪炴帴銆傜粡榪囪緭鍏ユ販闊沖櫒澶勭悊鍚庣殑淇″彿浠嶇劧涓烘ā鎷熶俊鍙鳳紝瀹冧滑灝嗚閫佸埌A/D杞崲鍣ㄨ繘琛屾暟瀛楀寲澶勭悊銆?
    杈撳嚭娣烽煶鍣ㄧ殑宸ヤ綔鍘熺悊涓庤緭鍏ユ販闊沖櫒綾諱技錛屽悓鏍蜂篃鏈夊涓俊鍙鋒簮涓庢販闊沖櫒鐩歌繛錛屽茍涓斾簨鍏堥兘緇忚繃浜嗗鐩婅皟鑺傘傚綋杈撳嚭娣烽煶鍣ㄥ鎵鏈夌殑妯℃嫙淇″彿榪涜浜嗘販鍚堜箣鍚庯紝閫氬父榪樹細鏈変竴涓繪帶澧炵泭璋冭妭鍣ㄦ潵鎺у埗杈撳嚭澹伴煶鐨勫ぇ灝忥紝姝ゅ榪樻湁涓浜涢煶璋冩帶鍒跺櫒鏉ヨ皟鑺傝緭鍑哄0闊崇殑闊寵皟銆傜粡榪囪緭鍑烘販闊沖櫒澶勭悊鍚庣殑淇″彿涔熸槸妯℃嫙淇″彿錛屽畠浠渶緇堜細琚佺粰鍠囧彮鎴栬呭叾瀹冪殑妯℃嫙杈撳嚭璁懼銆傚娣烽煶鍣ㄧ殑緙栫▼鍖呮嫭濡備綍璁劇疆澧炵泭鎺у埗鍣ㄧ殑綰у埆錛屼互鍙婃庢牱鍦ㄤ笉鍚岀殑闊蟲簮闂磋繘琛屽垏鎹紝榪欎簺鎿嶄綔閫氬父鏉ヨ鏄笉榪炵畫鐨勶紝鑰屼笖涓嶄細鍍忓綍闊蟲垨鑰呮斁闊抽偅鏍烽渶瑕佸崰鐢ㄥぇ閲忕殑璁$畻鏈鴻祫婧愩傜敱浜庢販闊沖櫒鐨勬搷浣滀笉絎﹀悎鍏稿瀷鐨勮/鍐欐搷浣滄ā寮忥紝鍥犳闄や簡open鍜宑lose涓や釜緋葷粺璋冪敤涔嬪錛屽ぇ閮ㄥ垎鐨勬搷浣滈兘鏄氳繃ioctl緋葷粺璋冪敤鏉ュ畬鎴愮殑銆備笌/dev/dsp涓嶅悓錛?dev/mixer鍏佽澶氫釜搴旂敤紼嬪簭鍚屾椂璁塊棶錛屽茍涓旀販闊沖櫒鐨勮緗間細涓鐩翠繚鎸佸埌瀵瑰簲鐨勮澶囨枃浠惰鍏抽棴涓烘銆?
    涓轟簡綆鍖栧簲鐢ㄧ▼搴忕殑璁捐錛孡inux涓婄殑澹板崱椹卞姩紼嬪簭澶у閮芥敮鎸佸皢娣烽煶鍣ㄧ殑ioctl鎿嶄綔鐩存帴搴旂敤鍒板0闊寵澶囦笂錛屼篃灝辨槸璇村鏋滃凡緇忔墦寮浜?dev /dsp錛岄偅涔堝氨涓嶇敤鍐嶆墦寮/dev/mixer鏉ュ娣烽煶鍣ㄨ繘琛屾搷浣滐紝鑰屾槸鍙互鐩存帴鐢ㄦ墦寮/dev/dsp鏃跺緱鍒扮殑鏂囦歡鏍囪瘑絎︽潵璁劇疆娣烽煶鍣ㄣ?
  • /dev/sequencer
    鐩墠澶у鏁板0鍗¢┍鍔ㄧ▼搴忚繕浼氭彁渚?dev/sequencer榪欎竴璁懼鏂囦歡錛岀敤鏉ュ澹板崱鍐呭緩鐨勬嘗琛ㄥ悎鎴愬櫒榪涜鎿嶄綔錛屾垨鑰呭MIDI鎬葷嚎涓婄殑涔愬櫒榪涜鎺у埗錛屼竴鑸彧鐢ㄤ簬璁$畻鏈洪煶涔愯蔣浠朵腑銆?





鍥涖佸簲鐢ㄦ鏋?/span>

鍦↙inux涓嬭繘琛岄煶棰戠紪紼嬫椂錛岄噸鐐瑰湪浜庡浣曟紜湴鎿嶄綔澹板崱椹卞姩紼嬪簭鎵鎻愪緵鐨勫悇縐嶈澶囨枃浠訛紝鐢變簬娑夊強鍒扮殑姒傚康鍜屽洜绱犳瘮杈冨錛屾墍浠ラ伒寰竴涓氱敤鐨勬鏋舵棤鐤戝皢鏈夊姪浜庣畝鍖栧簲鐢ㄧ▼搴忕殑璁捐銆?/p>

4.1 DSP緙栫▼

瀵瑰0鍗¤繘琛岀紪紼嬫椂棣栧厛瑕佸仛鐨勬槸鎵撳紑涓庝箣瀵瑰簲鐨勭‖浠惰澶囷紝榪欐槸鍊熷姪浜巓pen緋葷粺璋冪敤鏉ュ畬鎴愮殑錛屽茍涓斾竴鑸儏鍐典笅浣跨敤鐨勬槸/dev/dsp鏂囦歡銆傞噰鐢ㄤ綍縐嶆ā寮忓澹板崱榪涜鎿嶄綔涔熷繀欏誨湪鎵撳紑璁懼鏃舵寚瀹氾紝瀵逛簬涓嶆敮鎸佸叏鍙屽伐鐨勫0鍗℃潵璇達紝搴旇浣跨敤鍙鎴栬呭彧鍐欑殑鏂瑰紡鎵撳紑錛屽彧鏈夐偅浜涙敮鎸佸叏鍙屽伐鐨勫0鍗★紝鎵嶈兘浠ヨ鍐欑殑鏂瑰紡鎵撳紑錛屽茍涓旇繕瑕佷緷璧栦簬椹卞姩紼嬪簭鐨勫叿浣撳疄鐜般侺inux鍏佽搴旂敤紼嬪簭澶氭鎵撳紑鎴栬呭叧闂笌澹板崱瀵瑰簲鐨勮澶囨枃浠訛紝浠庤岃兘澶熷緢鏂逛究鍦板湪鏀鵑煶鐘舵佸拰褰曢煶鐘舵佷箣闂磋繘琛屽垏鎹紝寤鴻鍦ㄨ繘琛岄煶棰戠紪紼嬫椂鍙鏈夊彲鑳藉氨灝介噺浣跨敤鍙鎴栬呭彧鍐欑殑鏂瑰紡鎵撳紑璁懼鏂囦歡錛屽洜涓鴻繖鏍蜂笉浠呰兘澶熷厖鍒嗗埄鐢ㄥ0鍗$殑紜歡璧勬簮錛岃屼笖榪樻湁鍒╀簬椹卞姩紼嬪簭鐨勪紭鍖栥備笅闈㈢殑浠g爜紺鴻寖浜嗗浣曚互鍙啓鏂瑰紡鎵撳紑澹板崱榪涜鏀鵑煶錛坧layback錛夋搷浣滐細

int handle = open("/dev/dsp", O_WRONLY);
            if (handle == -1) {
            perror("open /dev/dsp");
            return -1;
            }
            

榪愯鍦↙inux鍐呮牳涓殑澹板崱椹卞姩紼嬪簭涓撻棬緇存姢浜嗕竴涓紦鍐插尯錛屽叾澶у皬浼氬獎鍝嶅埌鏀鵑煶鍜屽綍闊蟲椂鐨勬晥鏋滐紝浣跨敤ioctl緋葷粺璋冪敤鍙互瀵瑰畠鐨勫昂瀵歌繘琛屾伆褰撶殑璁劇疆銆傝皟鑺傞┍鍔ㄧ▼搴忎腑緙撳啿鍖哄ぇ灝忕殑鎿嶄綔涓嶆槸蹇呴』鐨勶紝濡傛灉娌℃湁鐗規畩鐨勮姹傦紝涓鑸噰鐢ㄩ粯璁ょ殑緙撳啿鍖哄ぇ灝忎篃灝卞彲浠ヤ簡銆備絾闇瑕佹敞鎰忕殑鏄紝緙撳啿鍖哄ぇ灝忕殑璁劇疆閫氬父搴旂揣璺熷湪璁懼鏂囦歡鎵撳紑涔嬪悗錛岃繖鏄洜涓哄澹板崱鐨勫叾瀹冩搷浣滄湁鍙兘浼氬鑷撮┍鍔ㄧ▼搴忔棤娉曞啀淇敼鍏剁紦鍐插尯鐨勫ぇ灝忋備笅闈㈢殑浠g爜紺鴻寖浜嗘庢牱璁劇疆澹板崱椹卞姩紼嬪簭涓殑鍐呮牳緙撳啿鍖虹殑澶у皬錛?/p>
int setting = 0xnnnnssss;
            int result = ioctl(handle, SNDCTL_DSP_SETFRAGMENT, &setting);
            if (result == -1) {
            perror("ioctl buffer size");
            return -1;
            }
            // 媯鏌ヨ緗肩殑姝g‘鎬?
            

鍦ㄨ緗紦鍐插尯澶у皬鏃訛紝鍙傛暟setting瀹為檯涓婄敱涓ら儴鍒嗙粍鎴愶紝鍏朵綆16浣嶆爣鏄庣紦鍐插尯鐨勫昂瀵革紝鐩稿簲鐨勮綆楀叕寮忎負buffer_size = 2^ssss錛屽嵆鑻ュ弬鏁皊etting浣?6浣嶇殑鍊間負16錛岄偅涔堢浉搴旂殑緙撳啿鍖虹殑澶у皬浼氳璁劇疆涓?5536瀛楄妭銆傚弬鏁皊etting鐨勯珮16浣嶅垯鐢ㄦ潵鏍囨槑鍒嗙墖錛坒ragment錛夌殑鏈澶у簭鍙鳳紝瀹冪殑鍙栧艱寖鍥翠粠2涓鐩村埌0x7FFF錛屽叾涓?x7FFF琛ㄧず娌℃湁浠諱綍闄愬埗銆?/p>

鎺ヤ笅鏉ヨ鍋氱殑鏄緗0鍗″伐浣滄椂鐨勫0閬擄紙channel錛夋暟鐩紝鏍規嵁紜歡璁懼鍜岄┍鍔ㄧ▼搴忕殑鍏蜂綋鎯呭喌錛屽彲浠ュ皢鍏惰緗負0錛堝崟澹伴亾錛宮ono錛夋垨鑰?錛堢珛浣撳0錛宻tereo錛夈備笅闈㈢殑浠g爜紺鴻寖浜嗗簲璇ユ庢牱璁劇疆澹伴亾鏁扮洰錛?/p>
int channels = 0; // 0=mono 1=stereo
            int result = ioctl(handle, SNDCTL_DSP_STEREO, &channels);
            if ( result == -1 ) {
            perror("ioctl channel number");
            return -1;
            }
            if (channels != 0) {
            // 鍙敮鎸佺珛浣撳0
            }
            

閲囨牱鏍煎紡鍜岄噰鏍烽鐜囨槸鍦ㄨ繘琛岄煶棰戠紪紼嬫椂闇瑕佽冭檻鐨勫彟涓涓棶棰橈紝澹板崱鏀寔鐨勬墍鏈夐噰鏍鋒牸寮忓彲浠ュ湪澶存枃浠秙oundcard.h涓壘鍒幫紝鑰岄氳繃ioctl緋葷粺璋冪敤鍒欏彲浠ュ緢鏂逛究鍦版洿鏀瑰綋鍓嶆墍浣跨敤鐨勯噰鏍鋒牸寮忋備笅闈㈢殑浠g爜紺鴻寖浜嗗浣曡緗0鍗$殑閲囨牱鏍煎紡錛?/p>
int format = AFMT_U8;
            int result = ioctl(handle, SNDCTL_DSP_SETFMT, &format);
            if ( result == -1 ) {
            perror("ioctl sample format");
            return -1;
            }
            // 媯鏌ヨ緗肩殑姝g‘鎬?
            

澹板崱閲囨牱棰戠巼鐨勮緗篃闈炲父瀹規槗錛屽彧闇鍦ㄨ皟鐢?ioctl鏃跺皢絎簩涓弬鏁扮殑鍊艱緗負SNDCTL_DSP_SPEED錛屽悓鏃跺湪絎笁涓弬鏁頒腑鎸囧畾閲囨牱棰戠巼鐨勬暟鍊煎氨琛屼簡銆傚浜庡ぇ澶氭暟澹板崱鏉ヨ錛屽叾鏀寔鐨勯噰鏍烽鐜囪寖鍥翠竴鑸負5kHz鍒?4.1kHz鎴栬?8kHz錛屼絾騫朵笉鎰忓懗鐫璇ヨ寖鍥村唴鐨勬墍鏈夐鐜囬兘浼氳紜歡鏀寔錛屽湪Linux涓嬭繘琛岄煶棰戠紪紼嬫椂鏈甯哥敤鍒扮殑鍑犵閲囨牱棰戠巼鏄?1025Hz銆?6000Hz銆?2050Hz銆?2000Hz鍜?4100Hz銆備笅闈㈢殑浠g爜紺鴻寖浜嗗浣曡緗0鍗$殑閲囨牱棰戠巼錛?/p>
int rate = 22050;
            int result = ioctl(handle, SNDCTL_DSP_SPEED, &rate);
            if ( result == -1 ) {
            perror("ioctl sample format");
            return -1;
            }
            // 媯鏌ヨ緗肩殑姝g‘鎬?
            

4.2 Mixer緙栫▼

澹板崱涓婄殑娣烽煶鍣ㄧ敱澶氫釜娣烽煶閫氶亾緇勬垚錛屽畠浠彲浠ラ氳繃椹卞姩紼嬪簭鎻愪緵鐨勮澶囨枃浠?dev/mixer榪涜緙栫▼銆傚娣烽煶鍣ㄧ殑鎿嶄綔鏄氳繃ioctl緋葷粺璋冪敤鏉ュ畬鎴愮殑錛屽茍涓旀墍鏈夋帶鍒跺懡浠ら兘鐢盨OUND_MIXER鎴栬匨IXER寮澶達紝琛?鍒楀嚭浜嗗父鐢ㄧ殑鍑犱釜娣烽煶鍣ㄦ帶鍒跺懡浠わ細

鍚?縐?/td> 浣?鐢?/td>
SOUND_MIXER_VOLUME 涓婚煶閲忚皟鑺?/td>
SOUND_MIXER_BASS 浣庨煶鎺у埗
SOUND_MIXER_TREBLE 楂橀煶鎺у埗
SOUND_MIXER_SYNTH FM鍚堟垚鍣?/td>
SOUND_MIXER_PCM 涓籇/A杞崲鍣?/td>
SOUND_MIXER_SPEAKER PC鍠囧彮
SOUND_MIXER_LINE 闊抽綰胯緭鍏?/td>
SOUND_MIXER_MIC 楹﹀厠椋庤緭鍏?/td>
SOUND_MIXER_CD CD杈撳叆
SOUND_MIXER_IMIX 鍥炴斁闊抽噺
SOUND_MIXER_ALTPCM 浠嶥/A 杞崲鍣?/td>
SOUND_MIXER_RECLEV 褰曢煶闊抽噺
SOUND_MIXER_IGAIN 杈撳叆澧炵泭
SOUND_MIXER_OGAIN 杈撳嚭澧炵泭
SOUND_MIXER_LINE1 澹板崱鐨勭1杈撳叆
SOUND_MIXER_LINE2 澹板崱鐨勭2杈撳叆
SOUND_MIXER_LINE3 澹板崱鐨勭3杈撳叆

琛? 娣烽煶鍣ㄥ懡浠?

瀵瑰0鍗$殑杈撳叆澧炵泭鍜岃緭鍑哄鐩婅繘琛岃皟鑺傛槸娣烽煶鍣ㄧ殑涓涓富瑕佷綔鐢紝鐩墠澶ч儴鍒嗗0鍗¢噰鐢ㄧ殑鏄?浣嶆垨鑰?6浣嶇殑澧炵泭鎺у埗鍣紝浣嗕綔涓虹▼搴忓憳鏉ヨ騫朵笉闇瑕佸叧蹇冭繖浜涳紝鍥犱負澹板崱椹卞姩紼嬪簭浼氳礋璐e皢瀹冧滑鍙樻崲鎴愮櫨鍒嗘瘮鐨勫艦寮忥紝涔熷氨鏄鏃犺鏄緭鍏ュ鐩婅繕鏄緭鍑哄鐩婏紝鍏跺彇鍊艱寖鍥撮兘鏄粠0鍒?00銆傚湪榪涜娣烽煶鍣ㄧ紪紼嬫椂錛屽彲浠ヤ嬌鐢?SOUND_MIXER_READ瀹忔潵璇誨彇娣烽煶閫氶亾鐨勫鐩婂ぇ灝忥紝渚嬪鍦ㄨ幏鍙栭害鍏嬮鐨勮緭鍏ュ鐩婃椂錛屽彲浠ヤ嬌鐢ㄥ涓嬬殑浠g爜錛?/p>
int vol;
            ioctl(fd, SOUND_MIXER_READ(SOUND_MIXER_MIC), &vol);
            printf("Mic gain is at %d %%\n", vol);
            

瀵逛簬鍙湁涓涓販闊抽氶亾鐨勫崟澹伴亾璁懼鏉ヨ錛岃繑鍥炵殑澧炵泭澶у皬淇濆瓨鍦ㄤ綆浣嶅瓧鑺備腑銆傝屽浜庢敮鎸佸涓販闊抽氶亾鐨勫弻澹伴亾璁懼鏉ヨ錛岃繑鍥炵殑澧炵泭澶у皬瀹為檯涓婂寘鎷袱涓儴鍒嗭紝鍒嗗埆浠h〃宸︺佸彸涓や釜澹伴亾鐨勫鹼紝鍏朵腑浣庝綅瀛楄妭淇濆瓨宸﹀0閬撶殑闊抽噺錛岃岄珮浣嶅瓧鑺傚垯淇濆瓨鍙沖0閬撶殑闊抽噺銆備笅闈㈢殑浠g爜鍙互浠庤繑鍥炲間腑渚濇鎻愬彇宸﹀彸澹伴亾鐨勫鐩婂ぇ灝忥細

int left, right;
            left = vol & 0xff;
            right = (vol & 0xff00) >> 8;
            printf("Left gain is %d %%, Right gain is %d %%\n", left, right);
            

綾諱技鍦幫紝濡傛灉鎯寵緗販闊抽氶亾鐨勫鐩婂ぇ灝忥紝鍒欏彲浠ラ氳繃SOUND_MIXER_WRITE瀹忔潵瀹炵幇錛屾鏃墮伒寰殑鍘熷垯涓庤幏鍙栧鐩婂兼椂鐨勫師鍒欏熀鏈浉鍚岋紝渚嬪涓嬮潰鐨勮鍙ュ彲浠ョ敤鏉ヨ緗害鍏嬮鐨勮緭鍏ュ鐩婏細

vol = (right << 8) + left;
            ioctl(fd, SOUND_MIXER_WRITE(SOUND_MIXER_MIC), &vol);
            

鍦ㄧ紪鍐欏疄鐢ㄧ殑闊抽紼嬪簭鏃訛紝娣烽煶鍣ㄦ槸鍦ㄦ秹鍙婂埌鍏煎鎬ф椂闇瑕侀噸鐐硅冭檻鐨勪竴涓璞★紝榪欐槸鍥犱負涓嶅悓鐨勫0鍗℃墍鎻愪緵鐨勬販闊沖櫒璧勬簮鏄湁鎵鍖哄埆鐨勩傚0鍗¢┍鍔ㄧ▼搴忔彁渚涗簡澶氫釜ioctl緋葷粺璋冪敤鏉ヨ幏寰楁販闊沖櫒鐨勪俊鎭紝瀹冧滑閫氬父榪斿洖涓涓暣鍨嬬殑浣嶆帺鐮侊紙bitmask錛夛紝鍏朵腑姣忎竴浣嶅垎鍒唬琛ㄤ竴涓壒瀹氱殑娣烽煶閫氶亾錛屽鏋滅浉搴旂殑浣嶄負1錛屽垯璇存槑涓庝箣瀵瑰簲鐨勬販闊抽氶亾鏄彲鐢ㄧ殑銆備緥濡傞氳繃 SOUND_MIXER_READ_DEVMASK榪斿洖鐨勪綅鎺╃爜錛屽彲浠ユ煡璇㈠嚭鑳藉琚0鍗℃敮鎸佺殑姣忎竴涓販闊抽氶亾錛岃岄氳繃 SOUND_MIXER_READ_RECMAS榪斿洖鐨勪綅鎺╃爜錛屽垯鍙互鏌ヨ鍑鴻兘澶熻褰撲綔褰曢煶婧愮殑姣忎竴涓氶亾銆備笅闈㈢殑浠g爜鍙互鐢ㄦ潵媯鏌D杈撳叆鏄惁鏄竴涓湁鏁堢殑娣烽煶閫氶亾錛?/p>
  ioctl(fd, SOUND_MIXER_READ_DEVMASK, &devmask);
            if (devmask & SOUND_MIXER_CD)
            printf("The CD input is supported");
            

濡傛灉榪涗竴姝ヨ繕鎯崇煡閬撳叾鏄惁鏄竴涓湁鏁堢殑褰曢煶婧愶紝鍒欏彲浠ヤ嬌鐢ㄥ涓嬭鍙ワ細

ioctl(fd, SOUND_MIXER_READ_RECMASK, &recmask);
            if (recmask & SOUND_MIXER_CD)
            printf("The CD input can be a recording source");
            

鐩墠澶у鏁板0鍗℃彁渚涘涓綍闊蟲簮錛岄氳繃 SOUND_MIXER_READ_RECSRC鍙互鏌ヨ鍑哄綋鍓嶆鍦ㄤ嬌鐢ㄧ殑褰曢煶婧愶紝鍚屼竴鏃跺埢鑳藉浣跨敤鍑犱釜褰曢煶婧愭槸鐢卞0鍗$‖浠跺喅瀹氱殑銆傜被浼煎湴錛屼嬌鐢?SOUND_MIXER_WRITE_RECSRC鍙互璁劇疆澹板崱褰撳墠浣跨敤鐨勫綍闊蟲簮錛屼緥濡備笅闈㈢殑浠g爜鍙互灝咰D杈撳叆浣滀負澹板崱鐨勫綍闊蟲簮浣跨敤錛?/p>
devmask = SOUND_MIXER_CD;
            ioctl(fd, SOUND_MIXER_WRITE_DEVMASK, &devmask);
            

姝ゅ錛屾墍鏈夌殑娣烽煶閫氶亾閮芥湁鍗曞0閬撳拰鍙屽0閬撶殑鍖哄埆錛屽鏋滈渶瑕佺煡閬撳摢浜涙販闊抽氶亾鎻愪緵浜嗗绔嬩綋澹扮殑鏀寔錛屽彲浠ラ氳繃SOUND_MIXER_READ_STEREODEVS鏉ヨ幏寰椼?/p>

4.3 闊抽褰曟斁妗嗘灦

涓嬮潰緇欏嚭涓涓埄鐢ㄥ0鍗′笂鐨凞SP璁懼榪涜澹伴煶褰曞埗鍜屽洖鏀劇殑鍩烘湰妗嗘灦錛屽畠鐨勫姛鑳芥槸鍏堝綍鍒跺嚑縐掔闊抽鏁版嵁錛屽皢鍏跺瓨鏀懼湪鍐呭瓨緙撳啿鍖轟腑錛岀劧鍚庡啀榪涜鍥炴斁錛屽叾鎵鏈夌殑鍔熻兘閮芥槸閫氳繃璇誨啓/dev/dsp璁懼鏂囦歡鏉ュ畬鎴愮殑錛?/p>
/*
            * sound.c
            */
            #include <unistd.h>
            #include <fcntl.h>
            #include <sys/types.h>
            #include <sys/ioctl.h>
            #include <stdlib.h>
            #include <stdio.h>
            #include <linux/soundcard.h>
            #define LENGTH 3    /* 瀛樺偍縐掓暟 */
            #define RATE 8000   /* 閲囨牱棰戠巼 */
            #define SIZE 8      /* 閲忓寲浣嶆暟 */
            #define CHANNELS 1  /* 澹伴亾鏁扮洰 */
            /* 鐢ㄤ簬淇濆瓨鏁板瓧闊抽鏁版嵁鐨勫唴瀛樼紦鍐插尯 */
            unsigned char buf[LENGTH*RATE*SIZE*CHANNELS/8];
            int main()
            {
            int fd;	/* 澹伴煶璁懼鐨勬枃浠舵弿榪扮 */
            int arg;	/* 鐢ㄤ簬ioctl璋冪敤鐨勫弬鏁?*/
            int status;   /* 緋葷粺璋冪敤鐨勮繑鍥炲?*/
            /* 鎵撳紑澹伴煶璁懼 */
            fd = open("/dev/dsp", O_RDWR);
            if (fd < 0) {
            perror("open of /dev/dsp failed");
            exit(1);
            }
            /* 璁劇疆閲囨牱鏃剁殑閲忓寲浣嶆暟 */
            arg = SIZE;
            status = ioctl(fd, SOUND_PCM_WRITE_BITS, &arg);
            if (status == -1)
            perror("SOUND_PCM_WRITE_BITS ioctl failed");
            if (arg != SIZE)
            perror("unable to set sample size");
            /* 璁劇疆閲囨牱鏃剁殑澹伴亾鏁扮洰 */
            arg = CHANNELS;
            status = ioctl(fd, SOUND_PCM_WRITE_CHANNELS, &arg);
            if (status == -1)
            perror("SOUND_PCM_WRITE_CHANNELS ioctl failed");
            if (arg != CHANNELS)
            perror("unable to set number of channels");
            /* 璁劇疆閲囨牱鏃剁殑閲囨牱棰戠巼 */
            arg = RATE;
            status = ioctl(fd, SOUND_PCM_WRITE_RATE, &arg);
            if (status == -1)
            perror("SOUND_PCM_WRITE_WRITE ioctl failed");
            /* 寰幆錛岀洿鍒版寜涓婥ontrol-C */
            while (1) {
            printf("Say something:\n");
            status = read(fd, buf, sizeof(buf)); /* 褰曢煶 */
            if (status != sizeof(buf))
            perror("read wrong number of bytes");
            printf("You said:\n");
            status = write(fd, buf, sizeof(buf)); /* 鍥炴斁 */
            if (status != sizeof(buf))
            perror("wrote wrong number of bytes");
            /* 鍦ㄧ戶緇綍闊沖墠絳夊緟鍥炴斁緇撴潫 */
            status = ioctl(fd, SOUND_PCM_SYNC, 0);
            if (status == -1)
            perror("SOUND_PCM_SYNC ioctl failed");
            }
            }
            

4.4 娣烽煶鍣ㄦ鏋?/span>

涓嬮潰鍐嶇粰鍑轟竴涓娣烽煶鍣ㄨ繘琛岀紪紼嬬殑鍩烘湰妗嗘灦錛屽埄鐢ㄥ畠鍙互瀵瑰悇縐嶆販闊抽氶亾鐨勫鐩婅繘琛岃皟鑺傦紝鍏舵墍鏈夌殑鍔熻兘閮芥槸閫氳繃璇誨啓/dev/mixer璁懼鏂囦歡鏉ュ畬鎴愮殑錛?/p>
/*
            * mixer.c
            */
            #include <unistd.h>
            #include <stdlib.h>
            #include <stdio.h>
            #include <sys/ioctl.h>
            #include <fcntl.h>
            #include <linux/soundcard.h>
            /* 鐢ㄦ潵瀛樺偍鎵鏈夊彲鐢ㄦ販闊寵澶囩殑鍚嶇О */
            const char *sound_device_names[] = SOUND_DEVICE_NAMES;
            int fd;                  /* 娣烽煶璁懼鎵瀵瑰簲鐨勬枃浠舵弿榪扮 */
            int devmask, stereodevs; /* 娣烽煶鍣ㄤ俊鎭搴旂殑浣嶅浘鎺╃爜 */
            char *name;
            /* 鏄劇ず鍛戒護鐨勪嬌鐢ㄦ柟娉曞強鎵鏈夊彲鐢ㄧ殑娣烽煶璁懼 */
            void usage()
            {
            int i;
            fprintf(stderr, "usage: %s <device> <left-gain%%> <right-gain%%>\n"
            "       %s <device> <gain%%>\n\n"
            "Where <device> is one of:\n", name, name);
            for (i = 0 ; i < SOUND_MIXER_NRDEVICES ; i++)
            if ((1 << i) & devmask) /* 鍙樉紺烘湁鏁堢殑娣烽煶璁懼 */
            fprintf(stderr, "%s ", sound_device_names[i]);
            fprintf(stderr, "\n");
            exit(1);
            }
            int main(int argc, char *argv[])
            {
            int left, right, level;  /* 澧炵泭璁劇疆 */
            int status;              /* 緋葷粺璋冪敤鐨勮繑鍥炲?*/
            int device;              /* 閫夌敤鐨勬販闊寵澶?*/
            char *dev;               /* 娣烽煶璁懼鐨勫悕縐?*/
            int i;
            name = argv[0];
            /* 浠ュ彧璇繪柟寮忔墦寮娣烽煶璁懼 */
            fd = open("/dev/mixer", O_RDONLY);
            if (fd == -1) {
            perror("unable to open /dev/mixer");
            exit(1);
            }
            /* 鑾峰緱鎵闇瑕佺殑淇℃伅 */
            status = ioctl(fd, SOUND_MIXER_READ_DEVMASK, &devmask);
            if (status == -1)
            perror("SOUND_MIXER_READ_DEVMASK ioctl failed");
            status = ioctl(fd, SOUND_MIXER_READ_STEREODEVS, &stereodevs);
            if (status == -1)
            perror("SOUND_MIXER_READ_STEREODEVS ioctl failed");
            /* 媯鏌ョ敤鎴瘋緭鍏?*/
            if (argc != 3 && argc != 4)
            usage();
            /* 淇濆瓨鐢ㄦ埛杈撳叆鐨勬販闊沖櫒鍚嶇О */
            dev = argv[1];
            /* 紜畾鍗沖皢鐢ㄥ埌鐨勬販闊寵澶?*/
            for (i = 0 ; i < SOUND_MIXER_NRDEVICES ; i++)
            if (((1 << i) & devmask) && !strcmp(dev, sound_device_names[i]))
            break;
            if (i == SOUND_MIXER_NRDEVICES) { /* 娌℃湁鎵懼埌鍖歸厤欏?*/
            fprintf(stderr, "%s is not a valid mixer device\n", dev);
            usage();
            }
            /* 鏌ユ壘鍒版湁鏁堢殑娣烽煶璁懼 */
            device = i;
            /* 鑾峰彇澧炵泭鍊?*/
            if (argc == 4) {
            /* 宸︺佸彸澹伴亾鍧囩粰瀹?*/
            left  = atoi(argv[2]);
            right = atoi(argv[3]);
            } else {
            /* 宸︺佸彸澹伴亾璁句負鐩哥瓑 */
            left  = atoi(argv[2]);
            right = atoi(argv[2]);
            }
            /* 瀵歸潪绔嬩綋澹拌澶囩粰鍑鴻鍛婁俊鎭?*/
            if ((left != right) && !((1 << i) & stereodevs)) {
            fprintf(stderr, "warning: %s is not a stereo device\n", dev);
            }
            /* 灝嗕袱涓0閬撶殑鍊煎悎鍒板悓涓鍙橀噺涓?*/
            level = (right << 8) + left;
            /* 璁劇疆澧炵泭 */
            status = ioctl(fd, MIXER_WRITE(device), &level);
            if (status == -1) {
            perror("MIXER_WRITE ioctl failed");
            exit(1);
            }
            /* 鑾峰緱浠庨┍鍔ㄨ繑鍥炵殑宸﹀彸澹伴亾鐨勫鐩?*/
            left  = level & 0xff;
            right = (level & 0xff00) >> 8;
            /* 鏄劇ず瀹為檯璁劇疆鐨勫鐩?*/
            fprintf(stderr, "%s gain set to %d%% / %d%%\n", dev, left, right);
            /* 鍏抽棴娣烽煶璁懼 */
            close(fd);
            return 0;
            }
            

緙栬瘧濂戒笂闈㈢殑紼嬪簭涔嬪悗錛屽厛涓嶅甫浠諱綍鍙傛暟鎵ц涓閬嶏紝姝ゆ椂浼氬垪鍑哄0鍗′笂鎵鏈夊彲鐢ㄧ殑娣烽煶閫氶亾錛?/p>
[xiaowp@linuxgam sound]$ ./mixer
            usage: ./mixer <device> <left-gain%> <right-gain%>
            ./mixer <device> <gain%>
            Where <device> is one of:
            vol pcm speaker line mic cd igain line1 phin video
            

涔嬪悗灝卞彲浠ュ緢鏂逛究鍦拌緗悇涓販闊抽氶亾鐨勫鐩婂ぇ灝忎簡錛屼緥濡備笅闈㈢殑鍛戒護灝辮兘澶熷皢CD杈撳叆鐨勫乏銆佸彸澹伴亾鐨勫鐩婂垎鍒緗負80%鍜?0%錛?/p>
[xiaowp@linuxgam sound]$ ./mixer cd 80 90
            cd gain set to 80% / 90%
            





鍥為〉棣?/font>


浜斻佸皬緇?/span>

闅忕潃Linux騫沖彴涓嬪濯掍綋搴旂敤鐨勯愭笎娣卞叆錛岄渶瑕佺敤鍒版暟瀛楅煶棰戠殑鍦哄悎蹇呭皢瓚婃潵瓚婂箍娉涖傝櫧鐒舵暟瀛楅煶棰戠壍娑夊埌鐨勬蹇甸潪甯稿錛屼絾鍦↙inux涓嬭繘琛屾渶鍩烘湰鐨勯煶棰戠紪紼嬪嵈騫朵笉鍗佸垎澶嶆潅錛屽叧閿槸鎺屾彙濡備綍涓嶰SS鎴栬匒LSA榪欑被澹板崱椹卞姩紼嬪簭榪涜浜や簰錛屼互鍙婂浣曞厖鍒嗗埄鐢ㄥ畠浠彁渚涚殑鍚勭鍔熻兘錛岀啛鎮変竴浜涙渶鍩烘湰鐨勯煶棰戠紪紼嬫鏋跺拰妯″紡瀵瑰垵瀛﹁呮潵璁插ぇ鏈夎(鐩娿?/p>

]]>
鍏充簬宓屽叆寮忚澶囩敤鎴蜂綋楠岀殑涓浜涜璇?/title><link>http://www.shnenglu.com/iuranus/archive/2009/04/22/80718.html</link><dc:creator>鏀鍗?/dc:creator><author>鏀鍗?/author><pubDate>Wed, 22 Apr 2009 06:01:00 GMT</pubDate><guid>http://www.shnenglu.com/iuranus/archive/2009/04/22/80718.html</guid><wfw:comment>http://www.shnenglu.com/iuranus/comments/80718.html</wfw:comment><comments>http://www.shnenglu.com/iuranus/archive/2009/04/22/80718.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/iuranus/comments/commentRss/80718.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/iuranus/services/trackbacks/80718.html</trackback:ping><description><![CDATA[<p>1. Gesture, <br><br> a. 涓庡叿浣撳簲鐢ㄩ厤鍚堢敤錛孖phone涓婇潰鐪嬪浘<br> b. 涓庡叡閫氱殑鐙珛搴旂敤錛屾瘮濡傞棶鍙峰彨甯姪錛孋opy&Paste</p> <p>2. Graphic<br>       a. 鏁翠綋甯冨眬涓紝鐢ㄦ埛鍏沖績鐨勬暟鎹秺娓呮櫚瓚婂ソ錛堝ぇ錛屽錛夛紝UIWidget鏄劇ず鐨勮秺灝戣秺濂斤紝鍙湁蹇呰鐨勶紝閰嶅悎Gesture瀹屾垚銆?br>       b. 鐢婚潰鐨勫垏鎹紝杞満鍔ㄧ敾<br>              b1. 涓嶈榪囦簬鍙傝働C涓婄殑琛ㄧ幇褰㈠紡錛?Windows鍏抽棴鐐筙, Mac OS涔熸槸X, Window CE6 鍏抽棴鐐筙錛屼絾Iphone灝辨槸鍏ㄩ儴Home閿?br>              b2. 絎﹀悎浜烘劅瑙夌殑娼滄剰璇嗭細褰撳揩閫焏rag鐢婚潰鏃訛紝鐢婚潰搴旇蹇熼棯榪囷紝鎱㈡參drag鏃剁敾闈㈠簲璇ユ參鎱㈤棯榪囷紝榪佺Щ閫熷害闈欐->鍖鍔犻燂紞>鍖鍑忛燂紞>闈欐<br>       c. 鎸夐敭鐨勭壒鏁?br>              c1. 浜紝<br>              c2. 鍥懼艦鍏崇郴灝廎orce feedback錛?鏈?8 Samsung Anycall Haptic<br><br>3. 涓庣‖浠剁粨鍚?br>   闄铻轟華<br>   Gsense<br>   鐑紶鎰?/p> <img src ="http://www.shnenglu.com/iuranus/aggbug/80718.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/iuranus/" target="_blank">鏀鍗?/a> 2009-04-22 14:01 <a href="http://www.shnenglu.com/iuranus/archive/2009/04/22/80718.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>iphone SDK & gPhone SDK Androidhttp://www.shnenglu.com/iuranus/archive/2008/09/25/62742.html鏀鍗?/dc:creator>鏀鍗?/author>Thu, 25 Sep 2008 02:07:00 GMThttp://www.shnenglu.com/iuranus/archive/2008/09/25/62742.htmlhttp://www.shnenglu.com/iuranus/comments/62742.htmlhttp://www.shnenglu.com/iuranus/archive/2008/09/25/62742.html#Feedback3http://www.shnenglu.com/iuranus/comments/commentRss/62742.htmlhttp://www.shnenglu.com/iuranus/services/trackbacks/62742.html 鏈榪戝嚑涓崥鍙媌ob錛屽皬鑸燂紝Yang Jungang錛宩awfneo閮芥彁浜嗕竴浜涘叧浜巌phone寮鍙戠殑闂銆備絾鐢變簬鎴戞渶榪戜竴鐩撮兘鍦ㄥ繖宸ヤ綔鐨勪簨錛屼竴鐩撮兘娌℃湁鍥烇紝涔熸病鏈夋洿鏂癰log錛岃瑙佽皡銆傞偅涔堟垜鍐嶆潵璇磋鍏充簬SDK鐨勪簨鍚с?nbsp; 闃呰鍏ㄦ枃

]]>
Iphone寮鍙?璁╂垜寮蹇冭鎴戠儲http://www.shnenglu.com/iuranus/archive/2008/04/01/45949.html鏀鍗?/dc:creator>鏀鍗?/author>Tue, 01 Apr 2008 12:55:00 GMThttp://www.shnenglu.com/iuranus/archive/2008/04/01/45949.htmlhttp://www.shnenglu.com/iuranus/comments/45949.htmlhttp://www.shnenglu.com/iuranus/archive/2008/04/01/45949.html#Feedback12http://www.shnenglu.com/iuranus/comments/commentRss/45949.htmlhttp://www.shnenglu.com/iuranus/services/trackbacks/45949.html            浠g爜鏄ㄥぉrelease緇欏鎴鳳紝緇堜簬涓涓樁孌電粨鏉熶簡錛屽皢榪戜笁涓湀娌″啓blog浜嗭紝鐪熺殑澶繖浜嗭紝闄や簡蹇欎簬宸ヤ綔錛岀敓媧諱互澶栵紝鍏跺疄鎴戣繕鍦ㄧ爺絀禝phone鐨勫紑鍙戙?br>            iphone鍏ユ墜宸茬粡涓や笁涓湀浜嗭紝浠庝腑鎴戠湅鍒頒簡iphone OS鐨勫緢澶氫紭鐐癸紝紜疄瑙夊緱榪欎釜鎵嬫満涓嶇浠庡褰笂榪樻槸鍐呴儴application閮芥槸閭d箞鐨勫畬緹庯紝鎵浠ヨ鐢熶簡鎯沖湪iphone os涓婂紑鍙戠殑蹇靛ご銆?br>           鐮斾範鐨刢ocoa鐨勫熀鏈紑鍙戞鏋訛紝瀛︿範浜唎bjective c鐨勫熀鏈娉曪紝鍦↖phone sdk鍙戝竷鐨勯偅澶╄帿鍚嶇殑寮蹇冨拰嬋鍔紝浣嗘槸鏈鍚庤繕鏄笉鑳藉鎰夸互鍋匡紝鍙湁涓涓牬瑙g殑sdk toolchain緙栬瘧榪囩殑hello world鍦↖phone涓婃伓蹇冨緱榪愯鐫銆?br>           iphone sdk瑕佽繍琛屽湪鍩轟簬intel 閰風澘2錛屾搷浣滅郴緇熸槸Mac OS leopard 10.5.2浠ヤ笂鐨凪ac涓婏紝灝濊瘯瀹夎leopard鍦ㄥ鐨勭數鑴戝拰鏈瓙涓婇兘鍥犲悇縐嶅師鍥犺屽け璐ワ紝閭e氨綆楁垜鏈塵ac浜嗭紝鍏跺疄涔熶笉琛岋紝鍥犱負sdk鍐欑殑浠g爜鍙兘鍦╥phone 鍥轟歡 2.0涓婅繍琛岋紝 2.0浼拌浼氬湪浠婂勾6鏈堝彂甯冿紝鎵浠ヤ竴鍒囬兘鏄偅涔堢殑涓嶇‘瀹氾紝榪欎篃涓嶆柇鐨勬墦鏂垜緇撴潫寮鍙慖phone app鐨勫康澶達紝浣嗕粖澶╃湅鍒頒竴涓線鏃ュ悓紿楃殑blog璁╂垜鍙堥噸鏂扮噧璧蜂簡濂嬫枟涔嬬伀銆?br>            
            鐜板湪鎴戝凡緇忔槸鏌恑phone寮鍙戠兢鐨勭兢涓伙紝鏌愮綉绔欎篃鏇劇粡璁╂垜鍔犲叆浠栦滑灝嗚鎴愮珛鐨刬phone涓撴爮錛岃璇嗕簡寰堝瀵笽phone寮鍙戠媯鐑殑鎶鏈漢鍛橈紝 鍏跺疄鎴戝凡緇忔湁涓浜涚粨鏋滀簡錛屾垜鐪熺殑璇ユ妸榪欎歡浜嬪仛濂斤紒



]]>
Wimax灝忕粨http://www.shnenglu.com/iuranus/archive/2007/12/18/38936.html鏀鍗?/dc:creator>鏀鍗?/author>Tue, 18 Dec 2007 12:44:00 GMThttp://www.shnenglu.com/iuranus/archive/2007/12/18/38936.htmlhttp://www.shnenglu.com/iuranus/comments/38936.htmlhttp://www.shnenglu.com/iuranus/archive/2007/12/18/38936.html#Feedback3http://www.shnenglu.com/iuranus/comments/commentRss/38936.htmlhttp://www.shnenglu.com/iuranus/services/trackbacks/38936.html
WiMax綆浠嬶細

WiMAX 鐨勫叏鍚嶆槸寰嘗瀛樺彇鍏ㄧ悆浜掗?Worldwide Interoperability for Microwave Access)錛屼竴縐嶅熀浜嶪EEE 802.16鏍囧噯鐨勫甯︽棤綰挎帴鍏ュ煄鍩熺綉鎶鏈?

鐩墠鎵璇寸殑IEEE 802.16鏍囧噯涓昏鍖呮嫭IEEE 802.16a銆両EEE 802.16d鍜孖EEE 802.16e涓変釜鏍囧噯銆傚叾涓璉EEE 802.16a鍜孖EEE 802.16d鏄浐瀹氭棤綰挎帴鍏ユ爣鍑?涔熷氨鏄畾鐐圭殑鐢ㄦ埛绔傝孖EEE 802.16e鐨勭洰鏍囨槸鍦↖EEE 802.16d鍥哄畾鏃犵嚎鎺ュ叆鏍囧噯鐨勫熀紜涓婂姞鍏ヤ簡鏂扮殑鐗規э紝涓昏鏄姞鍏ョЩ鍔ㄦц繕鏈夊鍒囨崲銆佸畨鍏ㄧ瓑錛岃鏍囧噯浜?005騫?2鏈堟寮忔壒鍑嗐?

WiMAX灝嗗垎涓変釜闃舵榪涜閮ㄧ講銆傜涓闃舵鏄氳繃瀹ゅ唴澶╃嚎鏉ラ儴緗查噰鐢↖EEE802.16d瑙勮寖鐨刉iMAX鎶鏈紝鐩爣鐢ㄦ埛鏄浐瀹氬湴鐐圭殑宸茬煡璁㈡埛銆傜浜岄樁孌典細澶ч噺閮ㄧ講瀹ゅ唴澶╃嚎錛屽皢WiMAX鎶鏈殑鍚稿紩鍔涙嫇瀹藉埌瀵繪眰綆鍖栫敤鎴風偣  闃呰鍏ㄦ枃

]]>
浜夊仛浼樼鐨勫祵鍏ュ紡浜猴紙涓錛?Wireless networking(涓?http://www.shnenglu.com/iuranus/archive/2007/05/16/24188.html鏀鍗?/dc:creator>鏀鍗?/author>Wed, 16 May 2007 02:39:00 GMThttp://www.shnenglu.com/iuranus/archive/2007/05/16/24188.htmlhttp://www.shnenglu.com/iuranus/comments/24188.htmlhttp://www.shnenglu.com/iuranus/archive/2007/05/16/24188.html#Feedback1http://www.shnenglu.com/iuranus/comments/commentRss/24188.htmlhttp://www.shnenglu.com/iuranus/services/trackbacks/24188.html闃呰鍏ㄦ枃

]]>
浜夊仛浼樼鐨勫祵鍏ュ紡浜猴紙涓錛?Wireless networking(涓?http://www.shnenglu.com/iuranus/archive/2007/04/27/23069.html鏀鍗?/dc:creator>鏀鍗?/author>Fri, 27 Apr 2007 14:27:00 GMThttp://www.shnenglu.com/iuranus/archive/2007/04/27/23069.htmlhttp://www.shnenglu.com/iuranus/comments/23069.htmlhttp://www.shnenglu.com/iuranus/archive/2007/04/27/23069.html#Feedback9http://www.shnenglu.com/iuranus/comments/commentRss/23069.htmlhttp://www.shnenglu.com/iuranus/services/trackbacks/23069.html    鎷垮埌鍏ヨ亴鐢寵涔︾殑鏃跺欏彂鐜拌嚜宸辯殑鑱屼綅鏄祵鍏ュ紡杞歡宸ョ▼甯堬紝鍛靛懙錛岃繖涓椂鍊欐垜鑴戝瓙閲屽洖鎯充簡涓嬩粠灝忓埌澶х殑瀛﹁綆楁満鐨勭悊鎯熾?/span>

    鍒濅腑涔頒簡鐢佃剳鏃訛紝鎯沖仛鐨勫氨鏄墦娓告垙錛屽笇鏈涗互鍚庤兘鍋氭父鎴忓紑鍙戝伐紼嬪笀錛堝綋鏃惰繕鍦ㄦ兂鏈夋病鏈夎繖涓亴浣嶏級錛岃嚜宸變貢涔?/span>3D MAX鐨勪功鐪嬶紱涓婁簡楂樹腑鐨勬椂鍊欙紝鎴戝夠鎯沖綋緗戠粶瀹夊叏涓撳錛屼篃鍙互鏄粦瀹紝鐒跺悗灝辯爺絀剁洍QQ鍙風殑宸ュ叿錛屽懙鍛碉紱涓婁簡澶у錛屾墠紜畾浜嗗仛紼嬪簭鍛橈紝鍋氱殑鏈澶氱殑鏄?/span>JAVA錛?/span>JSP錛涚幇鍦ㄥ埌浜嗗叕鍙稿紑濮嬪張鍋氬祵鍏ュ紡鐨勪笢瑗匡紝璁$畻鏈虹殑涓滆タ鍙湡澶氾紒姣忎竴涓妧鏈瀛︽繁鍏ラ兘瑕佽姳寰堥暱鏃墮棿錛屼絾寰堟湁鎰忔濄傛垜涔熷氨娌夐潤鍦ㄨ綆楁満鐨勪箰瓚d腑銆?/span>

    鍦ㄦ垜鐨勮剳嫻蜂腑錛岀‖浠剁殑涓滆タ鎴戞槸涓嶅睉涓欏劇殑錛屽洜涓烘垜瑙夌殑閭d簺涓滆タ鐨勫埗浣滃拰鐢熶駭娌℃湁鎴戠殑鍙傚姞錛屾垜鍙兂鍐欒蔣浠訛紝灝卞儚鎵句簡涓寮犵焊璁╂垜鐢葷敾涓鏍鳳紝浣嗙幇鍦ㄧ湅鏉ユ槸涓嶈浜嗭紝宓屽叆寮忕殑涓滆タ涓庡簳灞傜浉鍏蟲ф瘮杈冨ぇ錛屾墍浠ヤ竴浜涘熀鏈殑紜歡鐭ヨ瘑鍜屼竴浜涜澶囬兘寰椾簡瑙c傛墍浠ユ垜浠婂ぉ鎯蟲葷粨涓嬫垜榪欎袱澶╃敤鍒扮殑鏃犵嚎緗戠粶錛岃繖涔熸槸鎴戠幇鍦ㄩ」鐩腑鐢ㄥ埌鐨勶紝WiFi銆?/span>

    絎旇鏈甫鍥炲鎼滅儲浜嗕笅錛屽懆鍥寸珶鐒舵湁鍗佸嚑涓?/span>AP錛屾墍浠ョ幇鍦ㄧ湅鏉ユ棤綰挎妧鏈凡緇忔槸寰堝父瑙佺殑浜嗐傛棤綰跨綉緇滀篃瑙e喅浜嗕互鍓嶅竷綰匡紝鎻掑駭錛屾帴澶達紝闆嗙嚎鍣ㄧ瓑鏂藉伐鍜屾垚鏈棶棰樸傛湁浜鴻鏃犵嚎緗戠粶鎶鏈兘鍙戝睍錛屾湁浜涘師鍥犺褰掑姛浜庣瑪璁版湰鐨勭晠閿錛岀幇鍦ㄥ嚑涔庢瘡涓棤綰塊兘闆嗘垚浜?/span>802.11b鎴?/span>802.11g錛屽啀鍔犱笂BlueTooth USB錛屼嬌姣忎釜鐢佃剳閮借兘杞昏屾槗涓劇殑浣跨敤鏃犵嚎銆?/span>

802.11鏍囧噯

    搴旂敤浜?/span>PC鐨勬棤綰跨綉緇滅敱IEEE錛堟庝箞涓浗灝辨病鏈夎繖鏍風殑緇勭粐錛夊埗瀹氫簡鏍囧噯錛?/span>802.11灝辨槸灝辨槸鏃犵嚎灞鍩熺綉鐨勬爣鍑嗭紝瀹冭繕鏈夊ソ澶氬瓙鏍囧噯錛?/span>

802.11a錛?/span>5GHz棰戞錛?/span> 54Mbps錛岃窛紱葷煭錛屾垚鏈珮錛岄潪涓繪祦銆?/span>

802.11b錛?/span>2.4GHz棰戞錛?/span>11Mbps錛?/span>500m錛屽彲浠ユ帴鍙椼?/span>

802.11g錛?/span>2.4GHz棰戞錛?/span>54Mbps錛屽紩榪?/span>WPA錛?/span>WEP鎻愰珮瀹夊叏鎬с傜洰鍓嶉兘鍦ㄤ嬌鐢ㄨ繖涓?/span>

802.11i錛?/span> 鐮旂┒闃舵錛屼富瑕佽В鍐沖畨鍏ㄩ棶棰樸?/span>

802.11n錛?/span>2.4GHz棰戞錛?/span>100Mbps錛岀爺絀墮樁孌碉紝涓嶈繃宸叉湁浜у搧錛屼絾涓嶅瀹屽杽銆?/span>

802.11鏈夊縐嶇綉緇滄嫇鎵戞ā寮忥紝浣嗘渶鍩虹鐨勮繕鏄?/span>infrastructure mode鍜?/span>ad-hoc mode銆?/span>

    infrastructure mode錛氫篃鍙互璇存槸涓涓泦涓槦鍨嬫棤綰跨綉緇滐紝鏈変竴涓墍璋撶殑鏃犵嚎鎺ュ叆鐐癸紙Access Point錛?/span>AP錛夋潵榪炴帴鍚勮妭鐐逛箣闂寸殑璁$畻鏈洪氳錛屽叾浼犺緭閫熷害鎺ヨ繎鏈夌嚎緗戠粶錛屽緢閫傚悎閰嶇疆鍦ㄥ閲岋紝鎴栬呭姙鍏銆?/span>

    Ad-hoc mode錛氬睘浜庡絳夊瀷鏃犵嚎緗戠粶錛屽悇涓澶囧彲浠ョ洿鎺ヨ繛鎺ヤ笉閫氳繃鍏朵粬璁懼錛岀粍鎴愮偣瀵圭偣緗戠粶銆傚儚PC涔嬮棿浼犺緭鏁版嵁錛?/span>PSP涔嬮棿鐜╂父鎴忕瓑絳夈?/span>

    鐜板湪姣旇緝澶寸柤鐨勫氨鏄畨鍏ㄩ棶棰樹簡錛堝懙鍛碉紝榪欎篃鏄垜姣旇緝澶寸柤鐨勶紝鎴戠殑紼嬪簭鏈夋椂鍊?/span>WEP KEY閿欎篃鑳借繛涓婏級錛屾棤綰跨殑浼犺緭濯掍粙鏄數娉紝鍙鍦ㄧ數娉㈡兜鐩栬寖鍥村唴鐨勫氨鍙互鎺ユ敹鍒扮綉緇滀俊鍙鳳紝鎵鏈変笉闃叉湁涓浜涗漢鎺ュ埌浣犵殑AP涓嬮潰鍋氫竴浜涢潪娉曠殑浜嬫儏錛屽洜涓?/span>WEP鍔犲瘑宸茬粡瀹e竷鍙互琚牬瑙d簡錛屾墍浠ョ幇鍦ㄦ柊鐨勬爣鍑嗕篃鍦ㄨ繖涓鏂歸潰涓嬪姛澶憿錛?/span>



]]>
鎵懼埌qt鐨勭浉鍏寵祫婧?/title><link>http://www.shnenglu.com/iuranus/archive/2006/11/13/17079.html</link><dc:creator>鏀鍗?/dc:creator><author>鏀鍗?/author><pubDate>Mon, 13 Nov 2006 02:27:00 GMT</pubDate><guid>http://www.shnenglu.com/iuranus/archive/2006/11/13/17079.html</guid><wfw:comment>http://www.shnenglu.com/iuranus/comments/17079.html</wfw:comment><comments>http://www.shnenglu.com/iuranus/archive/2006/11/13/17079.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/iuranus/comments/commentRss/17079.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/iuranus/services/trackbacks/17079.html</trackback:ping><description><![CDATA[<table width="100%"> <tbody> <tr> <td> <p>qt鏄疶rolltech鎻愪緵鐨勪竴涓敤浜庤法騫沖彴鍥懼艦鐢ㄦ埛鐣岄潰搴旂敤紼嬪簭寮鍙戠殑C++宸ュ叿鍖呫俀t鎻愪緵浜嗗彲浠ヨ法Microsoft Windows銆丮ac OS X銆丩inux銆佹墍鏈塙nix鐨勪富瑕佸晢涓氬彉縐嶄互鍙婂祵鍏ュ紡Linux澶氬鉤鍙扮Щ妞嶇殑鍗曚竴婧愮▼搴忋傚湪宓屽叆寮廘inux涓婏紝Qt搴旂敤紼嬪簭緙栫▼鎺ュ彛鏄氳繃Qtopia Core瀹炵幇鐨勩?/p> <p>Qt涓哄簲鐢ㄧ▼搴忓紑鍙戣呮彁渚涗簡鏋勫緩鐩墠浣跨敤鏈鏂版按騫崇殑鍥懼艦鐢ㄦ埛鐣岄潰鐨勫簲鐢ㄧ▼搴忔墍闇瑕佺殑鍏ㄩ儴鍔熻兘銆俀t鏄畬鍏ㄩ潰鍚戝璞$殑銆佸鏄撴墿灞曠殑銆佸茍涓斿厑璁哥湡姝g殑緇勪歡緙栫▼銆傝闃呰鐧界毊涔︽潵寰楀埌涓涓叏闈㈢殑鎶鏈榪般?/p> <p>鑷粠1996騫存棭鏈烸t榪涘叆鍟嗕笟棰嗗煙錛屽畠宸茬粡鎴愪負浜嗕笘鐣岃寖鍥翠腑鏁板崈涓垚鍔熷簲鐢ㄧ▼搴忕殑鍩虹銆俀t榪樻槸澶т紬鍖栫殑KDE Linux妗岄潰鐜鐨勫熀紜錛孠DE鐜板湪鏄墍鏈変富嫻丩inux鍙戣鐗堢殑涓涓爣鍑嗙粍浠躲傝鍙傝冩垜浠殑瀹㈡埛鎴愬姛鏁呬簨鏉ュ緱鍒頒竴浜決t鐨勫晢涓氬紑鍙戠殑瀹炰緥銆?/p> <p>Qt琚笅闈㈣繖浜涘鉤鍙版敮鎸侊細 <br>Microsoft Windows -- 98銆丯T 4.0銆丮E銆?000鍜孹P <br>Unix/X11 -- Linux銆丼un Solaris銆丠P-UX銆丠P Tru64 UNIX銆両BM AIX銆丼GI IRIX鍜屽緢澶氬叾瀹僓nix鍙樼 <br>Mac OS X -- Mac OS X 10.2+ <br>宓屽叆寮廘inux -- 鏀寔甯х紦鍐詫紙framebuffer錛夌殑Linux騫沖彴</p> <p>璇峰弬鑰僒rolltech鐨勭綉绔欒幏寰楁敮鎸佺殑騫沖彴鍜岀紪璇戝櫒鐨勫畬鏁村垪琛ㄣ?/p> <p>Qt琚寜涓嶅悓鐨勭増鏈彂甯冿細 <br>Qt鍟嗕笟鐗堣鐢ㄤ簬鍟嗕笟杞歡寮鍙戙傚畠浠彁渚涗紶緇熷晢涓氳蔣浠跺彂琛岀増騫朵笖鎻愪緵鍏嶈垂鍗囩駭鍜屾妧鏈敮鎸佹湇鍔°傚鏋滆鑾峰緱鏈鏂版姤浠鳳紝璇鋒祻瑙堝湪綰跨殑浠鋒牸淇℃伅欏甸潰鎴栬呬笌sales@trolltech.com鑱旂郴銆?<br>Qt寮婧愮増浠呰鐢ㄤ簬寮鍙戣嚜鐢卞拰寮婧愯蔣浠躲傚熀浜嶲鍏叡璁稿彲鍗忚鍜孏NU閫氱敤鍏叡璁稿彲鍗忚鐨勬潯嬈句笅錛屽畠鏄鍏嶈垂鎻愪緵鐨勩?/p> <p>Trolltech榪樻彁渚涗簡Qt瑙e喅鏂規錛屽畠鏄竴濂楁鍦ㄥ澶氱殑鐢ㄤ簬瀹屽杽Qt鐨勯傜敤浜庡伐涓氶鍩熷拰騫沖彴鐗瑰畾鑼冨洿鐨勭粍浠躲傚畠浠腑鐨勪竴浜涚粍浠朵粎鎻愪緵緇欏晢涓氬鎴鳳紝鍏跺畠鐨勫浜庢墍鏈塓t鐢ㄦ埛閮芥槸鍙敤鐨勩?<br>鍥藉唴鐩稿叧緗戠珯涓嶅錛屽湪榪欓噷鎴戞帹鑽愪竴涓猀T鐨勭綉绔欙細http://www.qtcn.org/bbs/ <br>鐩稿叧璧勬簮涓嬭澆錛歠tp://ftp.trolltech.com/qt/source</p> </td> </tr> </tbody> </table> <br><br><a href="http://www.shnenglu.com/iuranus/admin/%20%20%20%0A%20%20%20%20http://uranus.javaeye.com/blog/33976%0A%20%20%20%20"></a> <img src ="http://www.shnenglu.com/iuranus/aggbug/17079.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/iuranus/" target="_blank">鏀鍗?/a> 2006-11-13 10:27 <a href="http://www.shnenglu.com/iuranus/archive/2006/11/13/17079.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item></channel></rss> <a href="http://www.shnenglu.com/">青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品</a> <div style="position:fixed;left:-9000px;top:-9000px;"><font id="pjuwb"></font><button id="pjuwb"><pre id="pjuwb"></pre></button><sub id="pjuwb"></sub><tbody id="pjuwb"><var id="pjuwb"><address id="pjuwb"></address></var></tbody><listing id="pjuwb"><label id="pjuwb"><strong id="pjuwb"></strong></label></listing><wbr id="pjuwb"><small id="pjuwb"><tbody id="pjuwb"></tbody></small></wbr><ins id="pjuwb"><xmp id="pjuwb"></xmp></ins><style id="pjuwb"></style><label id="pjuwb"><em id="pjuwb"><li id="pjuwb"></li></em></label><samp id="pjuwb"></samp><menu id="pjuwb"><input id="pjuwb"></input></menu><pre id="pjuwb"><tbody id="pjuwb"><tfoot id="pjuwb"><button id="pjuwb"></button></tfoot></tbody></pre><form id="pjuwb"></form><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"><sup id="pjuwb"></sup></label></style></i><li id="pjuwb"><table id="pjuwb"><abbr id="pjuwb"></abbr></table></li><video id="pjuwb"></video><dfn id="pjuwb"></dfn><progress id="pjuwb"></progress><strong id="pjuwb"></strong><mark id="pjuwb"></mark><em id="pjuwb"></em><tbody id="pjuwb"><p id="pjuwb"><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike></p></tbody><option id="pjuwb"></option><strike id="pjuwb"></strike><u id="pjuwb"></u><td id="pjuwb"><center id="pjuwb"><tr id="pjuwb"></tr></center></td><em id="pjuwb"><mark id="pjuwb"><em id="pjuwb"><tt id="pjuwb"></tt></em></mark></em><strong id="pjuwb"></strong><wbr id="pjuwb"></wbr><s id="pjuwb"></s><strong id="pjuwb"></strong><legend id="pjuwb"></legend><nav id="pjuwb"></nav><dl id="pjuwb"><th id="pjuwb"><dl id="pjuwb"></dl></th></dl><noframes id="pjuwb"><ins id="pjuwb"></ins></noframes><font id="pjuwb"></font><strike id="pjuwb"><i id="pjuwb"><style id="pjuwb"><label id="pjuwb"></label></style></i></strike><output id="pjuwb"></output><thead id="pjuwb"><pre id="pjuwb"></pre></thead><source id="pjuwb"></source><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem><pre id="pjuwb"><span id="pjuwb"><pre id="pjuwb"><big id="pjuwb"></big></pre></span></pre><cite id="pjuwb"><fieldset id="pjuwb"><s id="pjuwb"><rt id="pjuwb"></rt></s></fieldset></cite><big id="pjuwb"><progress id="pjuwb"><big id="pjuwb"></big></progress></big><samp id="pjuwb"><delect id="pjuwb"></delect></samp><dl id="pjuwb"></dl><strike id="pjuwb"><nav id="pjuwb"><dl id="pjuwb"><strong id="pjuwb"></strong></dl></nav></strike><tbody id="pjuwb"><b id="pjuwb"><optgroup id="pjuwb"><rp id="pjuwb"></rp></optgroup></b></tbody><em id="pjuwb"></em><xmp id="pjuwb"><blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote></xmp> <i id="pjuwb"><abbr id="pjuwb"><i id="pjuwb"><abbr id="pjuwb"></abbr></i></abbr></i><center id="pjuwb"><acronym id="pjuwb"><center id="pjuwb"></center></acronym></center><pre id="pjuwb"></pre><ul id="pjuwb"><thead id="pjuwb"></thead></ul><blockquote id="pjuwb"><pre id="pjuwb"><sup id="pjuwb"></sup></pre></blockquote><acronym id="pjuwb"></acronym><big id="pjuwb"><s id="pjuwb"></s></big><th id="pjuwb"></th><th id="pjuwb"></th><tbody id="pjuwb"></tbody><thead id="pjuwb"><strike id="pjuwb"></strike></thead><th id="pjuwb"><dl id="pjuwb"><wbr id="pjuwb"></wbr></dl></th><dl id="pjuwb"><strong id="pjuwb"></strong></dl><abbr id="pjuwb"><noframes id="pjuwb"><noscript id="pjuwb"></noscript></noframes></abbr><td id="pjuwb"><ol id="pjuwb"></ol></td><li id="pjuwb"><noscript id="pjuwb"><abbr id="pjuwb"></abbr></noscript></li><small id="pjuwb"><bdo id="pjuwb"><nav id="pjuwb"></nav></bdo></small><style id="pjuwb"></style><optgroup id="pjuwb"><table id="pjuwb"></table></optgroup><center id="pjuwb"><tr id="pjuwb"><dfn id="pjuwb"></dfn></tr></center><th id="pjuwb"></th><u id="pjuwb"></u><tfoot id="pjuwb"><legend id="pjuwb"><i id="pjuwb"></i></legend></tfoot><mark id="pjuwb"></mark><meter id="pjuwb"></meter><nav id="pjuwb"></nav><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><acronym id="pjuwb"><pre id="pjuwb"><acronym id="pjuwb"><ul id="pjuwb"></ul></acronym></pre></acronym><nobr id="pjuwb"></nobr><sub id="pjuwb"><th id="pjuwb"><menuitem id="pjuwb"><wbr id="pjuwb"></wbr></menuitem></th></sub><thead id="pjuwb"><sub id="pjuwb"></sub></thead><ul id="pjuwb"><address id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></address></ul><dfn id="pjuwb"></dfn><pre id="pjuwb"></pre><input id="pjuwb"><cite id="pjuwb"><fieldset id="pjuwb"></fieldset></cite></input><u id="pjuwb"><form id="pjuwb"><u id="pjuwb"></u></form></u><kbd id="pjuwb"><em id="pjuwb"><mark id="pjuwb"></mark></em></kbd><tr id="pjuwb"></tr><del id="pjuwb"><form id="pjuwb"><address id="pjuwb"></address></form></del><tfoot id="pjuwb"><legend id="pjuwb"><ol id="pjuwb"><dl id="pjuwb"></dl></ol></legend></tfoot><menu id="pjuwb"><nobr id="pjuwb"><th id="pjuwb"><nobr id="pjuwb"></nobr></th></nobr></menu><fieldset id="pjuwb"></fieldset><pre id="pjuwb"><blockquote id="pjuwb"><samp id="pjuwb"></samp></blockquote></pre><xmp id="pjuwb"><sup id="pjuwb"><pre id="pjuwb"></pre></sup></xmp><span id="pjuwb"><progress id="pjuwb"></progress></span><font id="pjuwb"></font><var id="pjuwb"><abbr id="pjuwb"></abbr></var><strong id="pjuwb"><label id="pjuwb"><i id="pjuwb"><legend id="pjuwb"></legend></i></label></strong><tr id="pjuwb"><em id="pjuwb"><em id="pjuwb"><output id="pjuwb"></output></em></em></tr><thead id="pjuwb"><strike id="pjuwb"></strike></thead> <acronym id="pjuwb"></acronym><i id="pjuwb"></i><tt id="pjuwb"></tt><rt id="pjuwb"><source id="pjuwb"><rt id="pjuwb"></rt></source></rt><strike id="pjuwb"><acronym id="pjuwb"></acronym></strike><del id="pjuwb"></del><font id="pjuwb"><output id="pjuwb"><ins id="pjuwb"><output id="pjuwb"></output></ins></output></font><kbd id="pjuwb"><tr id="pjuwb"><kbd id="pjuwb"></kbd></tr></kbd><pre id="pjuwb"><sup id="pjuwb"><delect id="pjuwb"><samp id="pjuwb"></samp></delect></sup></pre><samp id="pjuwb"></samp><track id="pjuwb"></track><tr id="pjuwb"></tr><center id="pjuwb"></center><fieldset id="pjuwb"></fieldset><i id="pjuwb"></i><td id="pjuwb"></td><rt id="pjuwb"></rt><object id="pjuwb"></object><pre id="pjuwb"><progress id="pjuwb"><sub id="pjuwb"><thead id="pjuwb"></thead></sub></progress></pre><kbd id="pjuwb"><tr id="pjuwb"><option id="pjuwb"></option></tr></kbd><output id="pjuwb"><ins id="pjuwb"></ins></output><ol id="pjuwb"></ol><source id="pjuwb"></source><strong id="pjuwb"></strong><ruby id="pjuwb"></ruby><sub id="pjuwb"><meter id="pjuwb"><menuitem id="pjuwb"><meter id="pjuwb"></meter></menuitem></meter></sub><pre id="pjuwb"></pre><center id="pjuwb"></center><tr id="pjuwb"><tbody id="pjuwb"><xmp id="pjuwb"><dd id="pjuwb"></dd></xmp></tbody></tr><video id="pjuwb"></video><pre id="pjuwb"></pre><form id="pjuwb"><optgroup id="pjuwb"></optgroup></form><samp id="pjuwb"></samp><kbd id="pjuwb"></kbd><strong id="pjuwb"><option id="pjuwb"></option></strong><object id="pjuwb"></object><abbr id="pjuwb"><noframes id="pjuwb"><abbr id="pjuwb"></abbr></noframes></abbr><ul id="pjuwb"><del id="pjuwb"><button id="pjuwb"><pre id="pjuwb"></pre></button></del></ul><abbr id="pjuwb"></abbr><strong id="pjuwb"><code id="pjuwb"><strong id="pjuwb"></strong></code></strong><option id="pjuwb"></option><optgroup id="pjuwb"><bdo id="pjuwb"><code id="pjuwb"></code></bdo></optgroup><mark id="pjuwb"><em id="pjuwb"><font id="pjuwb"></font></em></mark><acronym id="pjuwb"><code id="pjuwb"></code></acronym><dl id="pjuwb"></dl><em id="pjuwb"></em><object id="pjuwb"><input id="pjuwb"><object id="pjuwb"></object></input></object><output id="pjuwb"><dd id="pjuwb"></dd></output><option id="pjuwb"><button id="pjuwb"><option id="pjuwb"></option></button></option><small id="pjuwb"></small></div> <a href="http://www-333304.com" target="_blank">欧美精品一区二区蜜臀亚洲</a>| <a href="http://344230.com" target="_blank">欧美成人免费全部</a>| <a href="http://sdjzzs.com" target="_blank">亚洲人成人一区二区三区</a>| <a href="http://zhijiasd.com" target="_blank">亚洲欧美久久</a>| <a href="http://7m08.com" target="_blank">国产欧美一级</a>| <a href="http://www9ckk1.com" target="_blank">老司机一区二区</a>| <a href="http://5773000.com" target="_blank">蜜桃伊人久久</a>| <a href="http://75yyyy.com" target="_blank">亚洲美女一区</a>| <a href="http://www-888593.com" target="_blank">亚洲伦理在线免费看</a>| <a href="http://hoppecoke.com" target="_blank">欧美午夜一区二区三区免费大片</a>| <a href="http://481323.com" target="_blank">中文欧美在线视频</a>| <a href="http://aaa798.com" target="_blank">亚洲精品日韩在线观看</a>| <a href="http://118017.com" target="_blank">亚洲精品在线电影</a>| <a href="http://jivbus.com" target="_blank">午夜精品一区二区三区四区</a>| <a href="http://77mcn.com" target="_blank">欧美亚洲免费电影</a>| <a href="http://681656.com" target="_blank">亚洲国产一二三</a>| <a href="http://missav88.com" target="_blank">一级日韩一区在线观看</a>| <a href="http://cl5555.com" target="_blank">国产日韩欧美一区二区三区四区</a>| <a href="http://1332233.com" target="_blank">久久精品亚洲乱码伦伦中文</a>| <a href="http://59jf.com" target="_blank">欧美第十八页</a>| <a href="http://91pinping.com" target="_blank">欧美在线视频观看</a>| <a href="http://060607.com" target="_blank">欧美激情按摩</a>| <a href="http://wwwcc7777.com" target="_blank">久久国产精品色婷婷</a>| <a href="http://ahhccz.com" target="_blank">久久午夜激情</a>| <a href="http://iietao.com" target="_blank">性做久久久久久</a>| <a href="http://www-74987.com" target="_blank">免费亚洲网站</a>| <a href="http://488918.com" target="_blank">久久精品一区</a>| <a href="http://hzjqkj.com" target="_blank">欧美日韩情趣电影</a>| <a href="http://5555547.com" target="_blank">欧美1区2区3区</a>| <a href="http://my736.com" target="_blank">国产精品私人影院</a>| <a href="http://www5xzz1.com" target="_blank">欧美电影在线观看</a>| <a href="http://8xn66w.com" target="_blank">国产精品一区二区久久久</a>| <a href="http://5138555.com" target="_blank">亚洲第一视频</a>| <a href="http://91ymz.com" target="_blank">国产婷婷色一区二区三区四区</a>| <a href="http://ddnwater.com" target="_blank">亚洲人成艺术</a>| <a href="http://22241com.com" target="_blank">在线日韩欧美视频</a>| <a href="http://173881.com" target="_blank">亚洲男人影院</a>| <a href="http://zhongqingshiye.com" target="_blank">亚洲一区二区三区涩</a>| <a href="http://aass123.com" target="_blank">久久先锋影音</a>| <a href="http://888nei.com" target="_blank">久久国产精品久久精品国产</a>| <a href="http://syruili.com" target="_blank">欧美另类高清视频在线</a>| <a href="http://www-369111.com" target="_blank">久久久综合网站</a>| <a href="http://842332.com" target="_blank">国产精品影院在线观看</a>| <a href="http://www474000c.com" target="_blank">91久久黄色</a>| <a href="http://ewaygou.com" target="_blank">亚洲电影免费</a>| <a href="http://jrtkpx.com" target="_blank">久久精品免费播放</a>| <a href="http://765409.com" target="_blank">欧美制服丝袜</a>| <a href="http://077229.com" target="_blank">国产精品美女久久福利网站</a>| <a href="http://xingba999.com" target="_blank">最新亚洲激情</a>| <a href="http://689558.com" target="_blank">91久久夜色精品国产网站</a>| <a href="http://555134.com" target="_blank">久久国产黑丝</a>| <a href="http://15149cc.com" target="_blank">久久高清福利视频</a>| <a href="http://www33444.com" target="_blank">国产精品日日摸夜夜摸av</a>| <a href="http://jiazhuangma.com" target="_blank">亚洲精品九九</a>| <a href="http://707fx.com" target="_blank">中国女人久久久</a>| <a href="http://bjygp.com" target="_blank">欧美精品自拍偷拍动漫精品</a>| <a href="http://wwwbbb888999.com" target="_blank">欧美国产亚洲视频</a>| <a href="http://1390744.com" target="_blank">在线日韩电影</a>| <a href="http://789469.com" target="_blank">欧美成人a∨高清免费观看</a>| <a href="http://743627.com" target="_blank">老司机aⅴ在线精品导航</a>| <a href="http://jx963.com" target="_blank">国产一区观看</a>| <a href="http://bgflee.com" target="_blank">久久黄色影院</a>| <a href="http://www7495.com" target="_blank">免费试看一区</a>| <a href="http://126film.com" target="_blank">在线成人性视频</a>| <a href="http://iamsleekcn.com" target="_blank">欧美一级成年大片在线观看</a>| <a href="http://by777117.com" target="_blank">欧美在线地址</a>| <a href="http://894322.com" target="_blank">一区二区三区亚洲</a>| <a href="http://com42923.com" target="_blank">久久精品中文</a>| <a href="http://8xv0.com" target="_blank">亚洲国产三级在线</a>| <a href="http://77smsm.com" target="_blank">99精品欧美一区二区三区综合在线 </a>| <a href="http://xuduoshu.com" target="_blank">欧美在线资源</a>| <a href="http://710477.com" target="_blank">国产精品日韩欧美一区二区三区</a>| <a href="http://njhuike.com" target="_blank">国产精品99久久久久久久vr </a>| <a href="http://dehuabz.com" target="_blank">亚洲精品乱码久久久久久蜜桃麻豆 </a>| <a href="http://zzchanke.com" target="_blank">欧美日韩一区二区免费视频</a>| <a href="http://zztto7.com" target="_blank">亚洲激情视频在线</a>| <a href="http://www-57549.com" target="_blank">亚洲人体一区</a>| <a href="http://ncyy4.com" target="_blank">国产精品高潮久久</a>| <a href="http://www-485050.com" target="_blank">亚洲主播在线</a>| <a href="http://127mingdao.com" target="_blank">久久综合久久美利坚合众国</a>| <a href="http://1397979.com" target="_blank">精品动漫3d一区二区三区</a>| <a href="http://041935.com" target="_blank">久久野战av</a>| <a href="http://highfivewe.com" target="_blank">亚洲经典一区</a>| <a href="http://mauhorng.com" target="_blank">亚洲在线视频网站</a>| <a href="http://884v.com" target="_blank">国产亚洲成av人在线观看导航</a>| <a href="http://yw1396.com" target="_blank">欧美一二三区精品</a>| <a href="http://xjhzgy.com" target="_blank">欧美国产日韩一区二区三区</a>| <a href="http://www-65581.com" target="_blank">91久久久亚洲精品</a>| <a href="http://9uu91.com" target="_blank">欧美三级日本三级少妇99</a>| <a href="http://baoxiniao666.com" target="_blank">亚洲天堂av高清</a>| <a href="http://388268.com" target="_blank">久久一区免费</a>| <a href="http://wzsl8.com" target="_blank">一区二区黄色</a>| <a href="http://7357538.com" target="_blank">黄色日韩在线</a>| <a href="http://491342.com" target="_blank">欧美视频第二页</a>| <a href="http://hhh699.com" target="_blank">欧美在线视频二区</a>| <a href="http://baidijs.com" target="_blank">欧美国产第一页</a>| <a href="http://huaihuaihuai.com" target="_blank">在线视频欧美日韩精品</a>| <a href="http://www-772773.com" target="_blank">国产欧美不卡</a>| <a href="http://tongrenyaoye.com" target="_blank">麻豆成人在线播放</a>| <a href="http://23230066.com" target="_blank">99综合精品</a>| <a href="http://aaa798.com" target="_blank">久久久久久久97</a>| <a href="http://66636by.com" target="_blank">亚洲精品久久</a>| <a href="http://5177jy.com" target="_blank">国产欧美激情</a>| <a href="http://caobenfan1891.com" target="_blank">欧美成人一区二区在线 </a>| <a href="http://www559955.com" target="_blank">久久久久久久高潮</a>| <a href="http://www-216678.com" target="_blank">亚洲精品久久久蜜桃</a>| <a href="http://muwendada.com" target="_blank">国产精品丝袜91</a>| <a href="http://cqrehoo.com" target="_blank">欧美精品免费观看二区</a>| <a href="http://www3344uh.com" target="_blank">午夜免费久久久久</a>| <a href="http://5767j.com" target="_blank">亚洲精选一区二区</a>| <a href="http://h7yy.com" target="_blank">噜噜噜噜噜久久久久久91</a>| <a href="http://9511331.com" target="_blank">亚洲男女自偷自拍</a>| <a href="http://saobi6.com" target="_blank">91久久在线播放</a>| <a href="http://www24699.com" target="_blank">国产一区二区三区在线观看网站</a>| <a href="http://6677ch.com" target="_blank">欧美国产在线观看</a>| <a href="http://854277.com" target="_blank">久久这里只精品最新地址</a>| <a href="http://aiqianfang.com" target="_blank">亚洲一区日韩</a>| <a href="http://686852a.com" target="_blank">91久久久久久国产精品</a>| <a href="http://www-777324.com" target="_blank">久久一区免费</a>| <a href="http://fangsling.com" target="_blank">久久国产手机看片</a>| <a href="http://goutoujunshi.com" target="_blank">国产精品99久久久久久www</a>| <a href="http://xxoo668.com" target="_blank">亚洲高清在线观看</a>| <a href="http://chainhuayu.com" target="_blank">国产一区二区三区久久久</a>| <a href="http://www433ad.com" target="_blank">欧美视频一区二区三区在线观看</a>| <a href="http://www123hao.com" target="_blank">久热这里只精品99re8久</a>| <a href="http://www909059.com" target="_blank">性欧美1819sex性高清</a>| <a href="http://22241com.com" target="_blank">亚洲婷婷国产精品电影人久久</a>| <a href="http://www-06654.com" target="_blank">亚洲第一色在线</a>| <a href="http://xhamtube.com" target="_blank">欧美成人精品在线视频</a>| <a href="http://duoying668.com" target="_blank">久久精品日产第一区二区三区</a>| <a href="http://jorhom.com" target="_blank">亚洲一区三区电影在线观看</a>| <a href="http://my736.com" target="_blank">亚洲美女av在线播放</a>| <a href="http://www-800778.com" target="_blank">亚洲人成网站精品片在线观看 </a>| <a href="http://jsgf444.com" target="_blank">国产欧美综合一区二区三区</a>| <a href="http://www-11688.com" target="_blank">欧美午夜女人视频在线</a>| <a href="http://lianjiemenye.com" target="_blank">欧美精品一线</a>| <a href="http://cc1024.com" target="_blank">欧美精品国产精品日韩精品</a>| <a href="http://cswlts.com" target="_blank">狂野欧美一区</a>| <a href="http://66gg6.com" target="_blank">欧美一区深夜视频</a>| <a href="http://tk263.com" target="_blank">国产欧美一区二区三区久久人妖</a>| <a href="http://1390744.com" target="_blank">欧美日韩精品不卡</a>| <a href="http://xianjiacf.com" target="_blank">欧美日本在线</a>| <a href="http://szjyf668.com" target="_blank">欧美激情国产日韩</a>| <a href="http://499305.com" target="_blank">欧美激情一区二区三区成人</a>| <a href="http://lalandapps.com" target="_blank">蜜臀av性久久久久蜜臀aⅴ</a>| <a href="http://d1112.com" target="_blank">老司机午夜精品视频</a>| <a href="http://www-293456.com" target="_blank">久久久久这里只有精品</a>| <a href="http://569688.com" target="_blank">老司机精品视频网站</a>| <a href="http://www22336.com" target="_blank">美女主播精品视频一二三四</a>| <a href="http://www38ccc.com" target="_blank">久热成人在线视频</a>| <a href="http://yeyesaoqi.com" target="_blank">欧美高清在线播放</a>| <a href="http://47b8.com" target="_blank">欧美区亚洲区</a>| <a href="http://av0333.com" target="_blank">国产精品video</a>| <a href="http://xigou666.com" target="_blank">国产精品国产三级欧美二区</a>| <a href="http://bixiuge.com" target="_blank">国产精品美女久久久久av超清</a>| <a href="http://iacapmm.com" target="_blank">国产精品五月天</a>| <a href="http://www559955.com" target="_blank">黄色日韩网站</a>| <a href="http://hjersqc.com" target="_blank">亚洲精品欧美日韩专区</a>| <a href="http://0999555.com" target="_blank">亚洲午夜小视频</a>| <a href="http://www-77537.com" target="_blank">久久成人一区</a>| <a href="http://555888666.com" target="_blank">欧美寡妇偷汉性猛交</a>| <a href="http://49234c.com" target="_blank">99国产精品一区</a>| <a href="http://niceboybao.com" target="_blank">午夜激情综合网</a>| <a href="http://739191g.com" target="_blank">老司机亚洲精品</a>| <a href="http://78gde.com" target="_blank">欧美日韩一二三四五区</a>| <a href="http://dmzjz.com" target="_blank">国产精品亚洲不卡a</a>| <a href="http://dy25777.com" target="_blank">红桃视频一区</a>| <a href="http://lutube666.com" target="_blank">日韩视频在线观看免费</a>| <a href="http://67idid.com" target="_blank">午夜精品偷拍</a>| <a href="http://tom3958.com" target="_blank">欧美.www</a>| <a href="http://6673328.com" target="_blank">亚洲免费在线电影</a>| <a href="http://868482.com" target="_blank">欧美不卡在线</a>| <a href="http://hafenchen.com" target="_blank">国产精品三上</a>| <a href="http://5849595.com" target="_blank">亚洲激情在线播放</a>| <a href="http://9238479.com" target="_blank">欧美一区亚洲一区</a>| <a href="http://y1bbs.com" target="_blank">亚洲电影av在线</a>| <a href="http://hcbr365.com" target="_blank">亚洲在线一区</a>| <a href="http://176sfsf.com" target="_blank">欧美a级片网站</a>| <a href="http://aidou28.com" target="_blank">国产精品一区二区你懂得 </a>| <a href="http://45z6.com" target="_blank">黄色另类av</a>| <a href="http://8eeeccc.com" target="_blank">亚洲一区二区精品在线</a>| <a href="http://ategpu.com" target="_blank">久久综合精品国产一区二区三区</a>| <a href="http://junmatek.com" target="_blank">亚洲国产精品久久</a>| <a href="http://004ttt.com" target="_blank">午夜在线视频一区二区区别</a>| <a href="http://wwwq4yy.com" target="_blank">欧美高清视频在线播放</a>| <a href="http://hhh699.com" target="_blank">国产在线视频欧美</a>| <a href="http://6666785.com" target="_blank">一区二区欧美在线</a>| <a href="http://bjrailtech.com" target="_blank">乱码第一页成人</a>| <a href="http://qq666qq.com" target="_blank">亚洲一区二区三区在线视频</a>| <a href="http://86808a.com" target="_blank">欧美成年人视频网站</a>| <a href="http://567acg.com" target="_blank">国产一区二区三区奇米久涩</a>| <a href="http://7885888.com" target="_blank">99在线|亚洲一区二区</a>| <a href="http://anquye16.com" target="_blank">久热精品视频在线观看一区</a>| <a href="http://www-137999.com" target="_blank">日韩一级免费</a>| <a href="http://2235e.com" target="_blank">免费中文字幕日韩欧美</a>| <a href="http://830085.com" target="_blank">韩国精品在线观看</a>| <a href="http://987kt.com" target="_blank">欧美一区二区三区免费视</a>| <a href="http://3344568.com" target="_blank">亚洲国产综合91精品麻豆</a>| <a href="http://77777de.com" target="_blank">久久电影一区</a>| <a href="http://music444.com" target="_blank">亚洲电影下载</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>