1 00:00:00,000 --> 00:00:05,900 2 00:00:05,900 --> 00:00:07,170 >> SAM GREEN: Kaixo, denek. 3 00:00:07,170 --> 00:00:08,640 Ongi etorri gure mintegi izateko. 4 00:00:08,640 --> 00:00:10,009 Nire izena Sam da. 5 00:00:10,009 --> 00:00:11,050 HUGH Zabriskie: naiz Hugh. 6 00:00:11,050 --> 00:00:17,420 SAM GREEN: Eta ari gara gaur hitz egin dugu Ikusteko Javascript-a eta Web Audio API buruz. 7 00:00:17,420 --> 00:00:21,180 Just hasteko, hau eskema bat da Gure Mintegian agenda. 8 00:00:21,180 --> 00:00:25,350 Buruz hitz egiten hasiko gara zergatik webean interesa behar duzu 9 00:00:25,350 --> 00:00:30,130 Audio API, zergatik da JavaScript Hizkuntzaren lortu behar duzu, 10 00:00:30,130 --> 00:00:32,619 eta orduan JavaScript buruz hitz egin essentials-- orain bezala, 11 00:00:32,619 --> 00:00:34,800 Oinez duzun batzuen bidez hizkuntzaren oinarriak, 12 00:00:34,800 --> 00:00:37,290 eta, ondoren, buruz hitz egin goi-mailan audio API. 13 00:00:37,290 --> 00:00:41,140 Ondoren, Hugh batzuei buruz hitz egingo du audio ekoizpen fase 14 00:00:41,140 --> 00:00:45,509 eta, ondoren, demo awesome sequencer honetan Proiektu eta eraiki zuen erakusten duzun kodea. 15 00:00:45,509 --> 00:00:48,050 Eta gero, eta denborarekin ikusiko dugu for Pertsona bakoitzeko amaieran galderak 16 00:00:48,050 --> 00:00:49,593 bizi diren hemen dira. 17 00:00:49,593 --> 00:00:50,540 >> HUGH Zabriskie: Cool. 18 00:00:50,540 --> 00:00:50,990 >> SAM GREEN: Cool. 19 00:00:50,990 --> 00:00:51,383 >> HUGH Zabriskie: Cool. 20 00:00:51,383 --> 00:00:52,170 Babeskopia egin beharko dut. 21 00:00:52,170 --> 00:00:54,960 >> SAM GREEN: Beraz, lehenengo gauza. 22 00:00:54,960 --> 00:00:57,840 Beraz, gauza handia the Web Audio API buruz 23 00:00:57,840 --> 00:01:00,480 da, ez dagoela set up beharrezkoa. 24 00:01:00,480 --> 00:01:04,230 Eraiki-en dator Nabigatzaile moderno gehienetan, 25 00:01:04,230 --> 00:01:08,630 Chrome, Edge, osotasunean barne others-- direnak guztiak mordo 26 00:01:08,630 --> 00:01:12,650 zatiak handiak Jende gaur erabiliz. 27 00:01:12,650 --> 00:01:14,807 Beraz, ez dago martxan, Alde batera besterik ez lortzean 28 00:01:14,807 --> 00:01:16,890 web zerbitzari bat, joan Hasteko duzu lan 29 00:01:16,890 --> 00:01:18,420 Zure proiektua, eta hori handia orrian. 30 00:01:18,420 --> 00:01:21,500 31 00:01:21,500 --> 00:01:24,190 >> Nahiko gomendatzen dugu hein handi batean, kontuan hartu behar duzu 32 00:01:24,190 --> 00:01:26,530 Chrome erabiliz Ikusteko Javascript-a web garapenerako, 33 00:01:26,530 --> 00:01:30,260 besterik bere sustatzailearen delako Tresna benetan indartsuak dira. 34 00:01:30,260 --> 00:01:33,220 Horixe esan nahi dugu, adibide gisa esanez ireki zure Javascript 35 00:01:33,220 --> 00:01:38,600 console-- joan Chrome sartu bada eta begiratu web orri bat duzu, 36 00:01:38,600 --> 00:01:43,897 eta klikatu ezkerreko duzu Inspect Element, eta, ondoren, 37 00:01:43,897 --> 00:01:46,730 go txiki honetan goitibeherako nahi duzu hementxe eta Kontsola batean klik egiten baduzu, 38 00:01:46,730 --> 00:01:50,660 zer bide berriak irekitzen ditu itxura bat ikusiko duzu komando-gonbit bat bezala asko duzula 39 00:01:50,660 --> 00:01:53,720 baliteke zure Mac on ikusteko, edo NAN edo. 40 00:01:53,720 --> 00:01:59,260 Eta besterik gabe, ahal dugun motako komandoak hemen, Garbitu bezala, 41 00:01:59,260 --> 00:02:01,350 eta beste komando horrelako. 42 00:02:01,350 --> 00:02:04,267 Aldagai sortu ahal izango dugu, bezala Javascript geroago ikusiko dugu. 43 00:02:04,267 --> 00:02:07,100 Eta beraz, ezer egin ahal izango dugu ere Ikusteko Javascript-a, kontsola batera egin ahal izango dugu, 44 00:02:07,100 --> 00:02:11,430 eta hori modu super erabilgarri bat hasteko inguruan jolasten APIak 45 00:02:11,430 --> 00:02:15,760 eta eroso lortzean Javascript eskuinera itzali. 46 00:02:15,760 --> 00:02:18,290 Ez set up beharrezkoa, hau da, benetan polita. 47 00:02:18,290 --> 00:02:18,790 Cool. 48 00:02:18,790 --> 00:02:22,064 49 00:02:22,064 --> 00:02:22,880 Awesome. 50 00:02:22,880 --> 00:02:24,780 >> Beraz, gauza bakar bat gehiago gehitu. 51 00:02:24,780 --> 00:02:27,780 Baduzu edozein questions-- daude Zuetako askok ez dira hemen bizi, 52 00:02:27,780 --> 00:02:31,232 Sentitzen us-- horiek elektronikoetan gehi doan gure helbide elektronikoak dira. 53 00:02:31,232 --> 00:02:33,190 Zalantzarik baduzu Ez duzu nahi digu galdetzeko, 54 00:02:33,190 --> 00:02:36,160 bezala, oh bug bat dut nire kodea, edo zerbait 55 00:02:36,160 --> 00:02:39,270 apur bat gehiago zehatz da, agian, Google da lehenengo. 56 00:02:39,270 --> 00:02:42,340 Badira baliabide interesgarri ugari the Web Audio API han buruz. 57 00:02:42,340 --> 00:02:44,089 Benetan ondo dokumentatu eta nik izatea da 58 00:02:44,089 --> 00:02:47,194 Jende tona bat erabiltzen dute industrian, eta pertsona batek besterik ez dira 59 00:02:47,194 --> 00:02:48,610 fun stuff eraikitzeko beraiek. 60 00:02:48,610 --> 00:02:51,306 Beraz, ez dira asko izan behar du han baliabideen. 61 00:02:51,306 --> 00:02:53,040 Awesome. 62 00:02:53,040 --> 00:02:56,100 >> Cool, beraz, zergatik Web Audio API? 63 00:02:56,100 --> 00:02:59,840 Diagrama honetan pixka bat da bidea, bilakaera bat 64 00:02:59,840 --> 00:03:04,100 soinu webean denboran zehar hazi. 65 00:03:04,100 --> 00:03:13,080 Bgsound jatorrizko HTML etiketa bezalakoa zen Hori onartzen erabili Internet Explorer. 66 00:03:13,080 --> 00:03:16,790 Nahiko oinarrizko soinuak baino ez ditu onartzen, funtzionalitate ez zen oso sendoa, 67 00:03:16,790 --> 00:03:19,380 eta ezin duzu sekuentziazioa konplikatuak, 68 00:03:19,380 --> 00:03:21,890 edo kontrolatzeko soinu abiatzean eta gelditu oso sendo. 69 00:03:21,890 --> 00:03:23,930 Beraz, ez zen bereziki ondo garatu. 70 00:03:23,930 --> 00:03:27,470 Ondoren, horren ondoren, Flash along-- zein izan zen, 71 00:03:27,470 --> 00:03:31,712 Ziur duzula mutil guztiek ezagutzen duten nago Flash-- agian ez nola funtzionatzen duen, 72 00:03:31,712 --> 00:03:32,920 baina, zalantzarik gabe ikusi duzun da. 73 00:03:32,920 --> 00:03:35,586 Lortu duzu zure Flash eguneratzeko Plug-in, gauza mota hori guztia, 74 00:03:35,586 --> 00:03:40,110 eta hori, zalantzarik gabe barrutia luzatu funtzionaltasunari zela eskuragarri. 75 00:03:40,110 --> 00:03:45,370 Baina erabiltzaileak egiteko instalatu plug-in bat da, behin betiko 76 00:03:45,370 --> 00:03:48,480 Flash barne eragozpen bat Zure aplikazioa da, ezta? 77 00:03:48,480 --> 00:03:52,410 Ondoren, zeren Oraindik menpe Erabiltzaile joan eta plug-in hau aurkitzeko, 78 00:03:52,410 --> 00:03:54,660 eta ziurrenik ari aktibatuta aparteko urrats honek egindako off 79 00:03:54,660 --> 00:03:56,640 zure aplikazioa erabiltzeko hartu behar dute. 80 00:03:56,640 --> 00:04:01,270 Eta gero ez dago beste sarrera bat izan daiteke zure aplikazioak osoak hautsi egingo, 81 00:04:01,270 --> 00:04:03,880 eta bukatzen amesgaizto bat izateaz sortu da sustatzailearen, too da. 82 00:04:03,880 --> 00:04:06,230 Beraz, hori barrikada bat izan zen. 83 00:04:06,230 --> 00:04:10,480 >> Eta gero, hori izan zen batera ondoren, HTML audio etiketa, bertan 84 00:04:10,480 --> 00:04:16,579 Gehiago HTML modernoaren ezaugarrietako bat da eta bertan Zalantzarik gabe gauza asko gehiago onartzen, 85 00:04:16,579 --> 00:04:20,050 baina, nahiz eta gauzak egin ahal izango duzu ez ziren bakarrik pixka bat mugatua 86 00:04:20,050 --> 00:04:22,730 Gauzak baten ondorioz HTML duten gai izan zen. 87 00:04:22,730 --> 00:04:26,060 Beraz, noiz Javascript du API, Web Audio API, 88 00:04:26,060 --> 00:04:29,290 estandar bat bihurtu nabigatzaile zehar landu, 89 00:04:29,290 --> 00:04:32,490 benetan zabaldu multzoa sustatzaileei aukerak 90 00:04:32,490 --> 00:04:36,590 Benetan eraikinean sartu Web for cool gauza. 91 00:04:36,590 --> 00:04:39,220 Denbora luzez han izan egon tresnak benetan sendoa 92 00:04:39,220 --> 00:04:44,360 jaiotzez audio aplikazioetan, antzekoak denek daki GarageBand, 93 00:04:44,360 --> 00:04:48,360 eta orduan, jakina, ez dira gehiago audio nahastuz aplikazio profesionala, 94 00:04:48,360 --> 00:04:49,640 eta gauza mota hori. 95 00:04:49,640 --> 00:04:52,690 Baina ez zen bat Cloud-- benetan ona ez 96 00:04:52,690 --> 00:04:55,811 Cloud, bai, asmatu dut Cloud-- web bidezko plataforma 97 00:04:55,811 --> 00:04:58,310 garatzaileei aukera litzateke Jende aplikazioak eraikitzeko 98 00:04:58,310 --> 00:05:00,570 audio nahasketa egiteko. 99 00:05:00,570 --> 00:05:03,960 Eta gisa erakutsiko dizu zuen geroago, Web Audio API 100 00:05:03,960 --> 00:05:07,470 benetan indartsua egiteko aukera ematen du benetan gauza besterik gertatuko den, 101 00:05:07,470 --> 00:05:09,597 hau da, nahiko cool. 102 00:05:09,597 --> 00:05:12,680 Beraz, hori zergatik zuk agindua da Mintegian zehar ikusi behar, 103 00:05:12,680 --> 00:05:14,350 funtsean. 104 00:05:14,350 --> 00:05:17,880 >> Eta orain, ez dut hitz buruz Javascript batzuk besterik oinarrizko elementuak 105 00:05:17,880 --> 00:05:20,240 hizkuntzaren, beraz orri berean, ezin dugu izan 106 00:05:20,240 --> 00:05:22,470 denean buruz hitz egiten dugunean API pixka bat beranduago. 107 00:05:22,470 --> 00:05:23,260 Cool. 108 00:05:23,260 --> 00:05:26,192 >> Beraz, honen laburpen bat da. 109 00:05:26,192 --> 00:05:27,150 Ahaztu egin zait hau izan zen hemen. 110 00:05:27,150 --> 00:05:27,510 Bai. 111 00:05:27,510 --> 00:05:27,870 >> HUGH Zabriskie: Ez da bi diapositibak hemen. 112 00:05:27,870 --> 00:05:30,245 >> SAM GREEN: This laburpena da mugak batzuen 113 00:05:30,245 --> 00:05:35,220 Beste loteslea, metodo zaharrak. 114 00:05:35,220 --> 00:05:37,828 Eta gero, orain, gauza horiek ditugu. 115 00:05:37,828 --> 00:05:40,011 Cool. 116 00:05:40,011 --> 00:05:40,510 Awesome. 117 00:05:40,510 --> 00:05:43,200 >> Beraz, Javascript beharrekoak. 118 00:05:43,200 --> 00:05:47,230 Lehen gauzak lehen, ez da bat aldea nahiko esanguratsua 119 00:05:47,230 --> 00:05:49,940 Ikusteko Javascript-a versus in a C bezalako hizkuntza, bidean 120 00:05:49,940 --> 00:05:52,050 aldagai hori sortzen dira. 121 00:05:52,050 --> 00:05:55,634 Beraz, C, erabiltzen ditugun izatea ditut Gure aldagai idatzi behar da, ezta? 122 00:05:55,634 --> 00:05:57,800 Eta ez dut atsegin mota esan tekleatu, esan nahi mota I 123 00:05:57,800 --> 00:06:01,900 atsegin type-- esanahi bat esleitu bezala, int bat, mugikor bat, char bat. 124 00:06:01,900 --> 00:06:05,210 C, guk benetan erabili ziren aldagai bat sortu beharrik 125 00:06:05,210 --> 00:06:09,690 eta, ondoren, mota hori makila aldagai hori erabiltzen dugun denbora osoan. 126 00:06:09,690 --> 00:06:13,990 Eta hori ez da nahitaez okerrago, baina seguruenik gogorragoa erabili da. 127 00:06:13,990 --> 00:06:16,190 Cool ezaugarri bat ren Javascript da 128 00:06:16,190 --> 00:06:19,740 aldagai hori zer deitzen dira "Dinamikoki idatzi," horrek 129 00:06:19,740 --> 00:06:22,500 esan nahi dut, bat sor dezakezu sintaxia aldagai, 130 00:06:22,500 --> 00:06:25,800 varX berdin 5, adibidez. 131 00:06:25,800 --> 00:06:27,790 Jatorriz sortzen Zenbaki oso bat aldagai 132 00:06:27,790 --> 00:06:29,870 eskubidea azpian kanpaia somewhere-- baina I 133 00:06:29,870 --> 00:06:33,040 aldagai hori aldatu ahal Kate bat erreferentzia 134 00:06:33,040 --> 00:06:35,820 bezalako ezer egin gabe aldagai berri bat sortzeko. 135 00:06:35,820 --> 00:06:37,880 Ez dut kezkatu beharrik mota aldatzen ari buruz. 136 00:06:37,880 --> 00:06:45,440 Javascript daki motaren horren aldatu, eta hori dinamikoki gertatzen. 137 00:06:45,440 --> 00:06:48,510 >> Beraz, ez dira onurak eta hori desabantaila, 138 00:06:48,510 --> 00:06:51,250 nor ere lan egin zuen bezala, edonork Pixka batean Javascript jakin liteke. 139 00:06:51,250 --> 00:06:53,600 Badira aldiz ustekabean agian, 140 00:06:53,600 --> 00:06:57,720 aldagai bat mota aldatu eta Ez kudeatu mota aldatzen ari dela, 141 00:06:57,720 --> 00:07:01,120 eta, ondoren, zure Javascript crash-- daiteke edo salbuespena 142 00:07:01,120 --> 00:07:06,070 bota behar, zuk behar delako izango Oker denean motaren bat espero duzu. 143 00:07:06,070 --> 00:07:07,040 Cool. 144 00:07:07,040 --> 00:07:11,470 >> Beraz, scoping-- bertan bezalakoa da, badugu aste hasieran gogoratu zehar, 145 00:07:11,470 --> 00:07:15,420 nola ikusgai aldagai bat aipatzen da eta zer kodearen inguruan. 146 00:07:15,420 --> 00:07:18,400 Hori guztia oso antzekoa modu itxura C. da 147 00:07:18,400 --> 00:07:24,755 Beraz, aldagai oro har scoped dira Funtzio baten barruan kizkur giltza barruan, 148 00:07:24,755 --> 00:07:27,005 eta orduan ere badaude aldagai global scoped dela 149 00:07:27,005 --> 00:07:29,171 are-- aldagai bat idatzi baduzu Funtzio baten kanpoaldean, 150 00:07:29,171 --> 00:07:31,790 testu osoa ere ikusgai izango da. 151 00:07:31,790 --> 00:07:35,840 >> Arteko aldea One Ikusteko Javascript-a eta C bereziki, 152 00:07:35,840 --> 00:07:40,280 dela deklaratu global baduzu Testu fitxategi bat edozein lekutan aldakorra 153 00:07:40,280 --> 00:07:43,324 edozein funtzio ere ikusgai da Testu fitxategi horren barruan. 154 00:07:43,324 --> 00:07:44,240 Hori da zuzena, ezta? 155 00:07:44,240 --> 00:07:46,330 >> HUGH Zabriskie: Bai. 156 00:07:46,330 --> 00:07:49,120 >> SAM GREEN: Beraz, hori da apur bat ere Pixka C alderatuta funky, 157 00:07:49,120 --> 00:07:52,660 non beti izan dugu behar gure definizioak aldakorra lekuak gainetik 158 00:07:52,660 --> 00:07:53,770 erabiltzen ziren. 159 00:07:53,770 --> 00:07:57,957 Hori ez da hori behartuta arau bat jada, beraz, apur bat desberdinak. 160 00:07:57,957 --> 00:08:00,540 Eta berriro ere, besterik gabe, reemphasize den global tokiko aldagai versus 161 00:08:00,540 --> 00:08:03,457 Oso C. antzekoa izan duzu izen bereko bi aldagai, 162 00:08:03,457 --> 00:08:06,540 eta euren izenak bat egon itzalperatzen Tokiko aldagai batek horietako bat bada 163 00:08:06,540 --> 00:08:07,546 global zen. 164 00:08:07,546 --> 00:08:09,420 Beraz, antzeko mota arazoak izango dituzu batzuk direla 165 00:08:09,420 --> 00:08:11,920 Baliteke sartu exekutatu batzuetan zure arazoa ezartzen orain arte. 166 00:08:11,920 --> 00:08:14,450 Cool, beraz, aldagai da. 167 00:08:14,450 --> 00:08:20,310 >> Kontrol-fluxua, bezalako esanahia, bada-Bestela stuff-- eta loops logikoa. 168 00:08:20,310 --> 00:08:24,510 Beraz, hasteko, hau da, zer bada bestela adierazpenak Javascript itxurarik. 169 00:08:24,510 --> 00:08:29,750 Hainbat gauza jartzea lerroetan, ez da garrantzitsua. 170 00:08:29,750 --> 00:08:34,409 Hau da, besterik gabe konbentzio bat Era dugu egitura kodea da. 171 00:08:34,409 --> 00:08:38,634 Just C bezala, bat dugu ", Bada" parentesi adierazpen bat. 172 00:08:38,634 --> 00:08:40,840 173 00:08:40,840 --> 00:08:42,090 Hori ez da zer egin esan nion. 174 00:08:42,090 --> 00:08:44,860 175 00:08:44,860 --> 00:08:45,550 Da berriro egin nuen. 176 00:08:45,550 --> 00:08:46,841 >> HUGH Zabriskie: Trying irteteko? 177 00:08:46,841 --> 00:08:49,770 SAM GREEN: Ez, ez naiz besterik dezakezu gerturatu nahian. 178 00:08:49,770 --> 00:08:50,660 Ez du axola. 179 00:08:50,660 --> 00:08:54,730 180 00:08:54,730 --> 00:08:59,370 >> Beraz, "bada" adierazpen bat daukagu ​​eta horren barruan, egoera bat dugu 181 00:08:59,370 --> 00:09:03,130 hori egia edo gezurra ebaluatzen, eta hori, ala ez zehazten du 182 00:09:03,130 --> 00:09:04,510 kode-bloke hori sartuko gara. 183 00:09:04,510 --> 00:09:09,860 Eta, era berean, ez dugu bat, bestela-bada, eta beste bat, erabiltzen ari bezala besterik ez dugu nahi C. 184 00:09:09,860 --> 00:09:14,010 >> Ere nahiko erosoa izan behar duzu eskubidea loops bat itzali, 185 00:09:14,010 --> 00:09:16,440 ere begiratzen dutelako C antzekoa dirudi. 186 00:09:16,440 --> 00:09:19,600 Baina nabarituko duzu berriro garela izan beharrean, initializations INT, 187 00:09:19,600 --> 00:09:22,570 var initializations ditugu. 188 00:09:22,570 --> 00:09:24,650 Eta uste dut egin behar duzu kontuz egin izan den 189 00:09:24,650 --> 00:09:28,460 Ziur ez duzula balioa aldatzeko I int bat kate bat, 190 00:09:28,460 --> 00:09:31,780 adibidez, hori delako joan portaera bitxi sor agian ez duzu 191 00:09:31,780 --> 00:09:32,280 Espero. 192 00:09:32,280 --> 00:09:35,750 Baina hau begiratzen nahiko ezaguna da, bai. 193 00:09:35,750 --> 00:09:39,460 >> Beraz, hau da, non gauzak hasteko pixka bat ero JavaScript 194 00:09:39,460 --> 00:09:44,920 Norbait da batetik joan C. atzeko Badira funtzio 195 00:09:44,920 --> 00:09:48,070 Ikusteko Javascript-a ere, eta ez dago modu bat da itxura funtzio bat aldarrikatu 196 00:09:48,070 --> 00:09:50,361 moduko C antzekoa, eta Gero beste bat dela 197 00:09:50,361 --> 00:09:52,450 itxura mota desberdinak. 198 00:09:52,450 --> 00:09:54,930 >> Lehenengo bertsioa, bertan hemen ikusi ahal izango dugu, 199 00:09:54,930 --> 00:09:59,260 da mota C-bezala, non , esaten dugu hau funtzio bat da, 200 00:09:59,260 --> 00:10:01,490 izen bat eman, eman argumentu kopurua, 201 00:10:01,490 --> 00:10:05,150 eta, ondoren, funtzio-aren edukia horiek kizkur giltza barruan joan. 202 00:10:05,150 --> 00:10:08,850 Adibide bat ikusiko dugu bigarren batean argudioak. 203 00:10:08,850 --> 00:10:13,420 >> Hurrengo lerroan Berriz, ikusiko dugu oh, Hemen izeneko aldagai bat da "myFunction," 204 00:10:13,420 --> 00:10:17,546 eta berdina dugu honetarako generic gauza funtzio hori 205 00:10:17,546 --> 00:10:19,170 ez dirudi ezer gertatzen baimena izan behar du. 206 00:10:19,170 --> 00:10:22,780 207 00:10:22,780 --> 00:10:26,080 Arrazoia, hori da desberdina baino C dela Javascript 208 00:10:26,080 --> 00:10:30,040 Zer da hizkuntza funtzional bat deitzen da, edo elementu funtzionalak ditu, eta horrek esan nahi du 209 00:10:30,040 --> 00:10:33,510 funtzioak balioen, egia esan. 210 00:10:33,510 --> 00:10:39,520 Eta horrek esan nahi du ezarri ahal izango ditugu funtzio bat berdinak aldagai bat 211 00:10:39,520 --> 00:10:43,210 eta, ondoren, funtzio hori mugitu Inguruan, pasa ezazu argudio gisa, 212 00:10:43,210 --> 00:10:46,550 gauza mota guztiak egin duten funtzio bezala. 213 00:10:46,550 --> 00:10:49,682 >> Beste gauza bat note-- funtzio idazten dira 214 00:10:49,682 --> 00:10:51,140 argumentuak kopuru jakin batekin. 215 00:10:51,140 --> 00:10:54,056 Funtzio baten adibidea ikusiko dugu hurrengo irudian argumentu batekin. 216 00:10:54,056 --> 00:10:56,720 Baina Javascript borondatea ez duzu Yell saiatu baduzu 217 00:10:56,720 --> 00:10:59,330 funtzioa erabili Oker argumentu kopurua. 218 00:10:59,330 --> 00:11:05,310 Besterik ez da egingo bere onena egin ez, gainditu baduzu, esanahia, 219 00:11:05,310 --> 00:11:09,410 Hori bat espero funtzio bat deitu argumentua ez, guztiak batera, argumentu 220 00:11:09,410 --> 00:11:13,990 gertatuko den da zerbait izango da bere onena saiatu eta kode hori gauzatzeko, 221 00:11:13,990 --> 00:11:16,541 eta azkenerako agortu bada salbuespen bat edo Akats baten sartu, 222 00:11:16,541 --> 00:11:19,790 bota egingo da salbuespena dela eta besterik gabe, gorde va besterik ez da modu bat 223 00:11:19,790 --> 00:11:21,070 Ikusteko Javascript-a egiten du lan hori. 224 00:11:21,070 --> 00:11:21,781 Bai. 225 00:11:21,781 --> 00:11:24,207 >> Ikusleak: Zer gertatzen da argumentuak ez da gehiegi? 226 00:11:24,207 --> 00:11:26,040 SAM Berdea: So Galdera zen, zer gertatzen 227 00:11:26,040 --> 00:11:27,380 argumentu gehiegi badaude? 228 00:11:27,380 --> 00:11:29,171 Eta erantzuna da Ikusteko Javascript-a izango da besterik 229 00:11:29,171 --> 00:11:32,120 direnak direla alde batetara Direnak espero da ondoren. 230 00:11:32,120 --> 00:11:36,420 Saiatuko funtzioa exekutatu deitu balitz bezala besterik ez da lehen bi izan zen. 231 00:11:36,420 --> 00:11:37,075 Eskuin? 232 00:11:37,075 --> 00:11:37,700 >> HUGH Zabriskie: Hori da, bai. 233 00:11:37,700 --> 00:11:39,449 Era berean, ez bada argumentu gutxiegi dira, 234 00:11:39,449 --> 00:11:42,640 Mota besterik ez da ematen guztietara nulua argudioak ez du balio edozein 235 00:11:42,640 --> 00:11:43,660 da. 236 00:11:43,660 --> 00:11:45,810 >> SAM GREEN: ezin diren benetan izan handy, baduzu 237 00:11:45,810 --> 00:11:49,060 funtzio bat idatzi nahi duten a aldakorra zenbakia argumentu hartzen. 238 00:11:49,060 --> 00:11:55,830 Balio lehenetsiak ezarri ahal izango duzu funtzioaren definizioa, 239 00:11:55,830 --> 00:11:59,060 eta hain zuzen, ez ikusi ahal izango da sarrera ez da han. 240 00:11:59,060 --> 00:12:01,584 241 00:12:01,584 --> 00:12:04,000 Beraz, pixka bat hitz egin nahi dut Azken bala honi buruz informazio gehiago 242 00:12:04,000 --> 00:12:05,541 puntuan, funtzio da balioak dira. 243 00:12:05,541 --> 00:12:07,930 244 00:12:07,930 --> 00:12:11,010 Hau adibide bat dela da Pixka Haluzinatzeko bat 245 00:12:11,010 --> 00:12:14,880 zuk besterik irakurri zuen, eta ez dut uste badu zer gertatzen den bigarren bat buruz. 246 00:12:14,880 --> 00:12:17,910 Beraz, dezagun besterik at Lehen lerroan hemen. 247 00:12:17,910 --> 00:12:24,360 Aldagai hau, f1 daukagu, esan dugun hori gauza hau ez funtzio bat da. 248 00:12:24,360 --> 00:12:28,535 Eta funtzioaren edukiak console.log dira ('kaixo'). 249 00:12:28,535 --> 00:12:32,220 You console.log gisa pentsa dezakezu Javascript printf baliokidea. 250 00:12:32,220 --> 00:12:35,510 Beraz, zer gertatuko da, badugu kode hau exekutatzen gure nabigatzailean, 251 00:12:35,510 --> 00:12:37,530 out inprimatu izango da kate bat. 252 00:12:37,530 --> 00:12:39,342 Dut hori frogatu ahal. 253 00:12:39,342 --> 00:12:42,300 Ikusleak: log, ordea, ez du hori esan nahi da nonbait grabatzen ari? 254 00:12:42,300 --> 00:12:42,550 SAM GREEN: Bai. 255 00:12:42,550 --> 00:12:44,216 Beraz, erakutsi dut zer gertatuko. 256 00:12:44,216 --> 00:12:48,085 Beraz, galdera zen, zer esan log esan nahi? 257 00:12:48,085 --> 00:12:51,262 >> HUGH Zabriskie: Beraz console.log C. for printf bezalakoa da 258 00:12:51,262 --> 00:12:52,970 SAM GREEN: Beraz console.log printf bezalakoa da, 259 00:12:52,970 --> 00:12:59,240 beraz console.log hau badut ('kaixo'), eta I deitu duten, kate "kaixo" 260 00:12:59,240 --> 00:13:00,730 lortzen inprimatutako kontsola. 261 00:13:00,730 --> 00:13:03,340 Hau kontsola da. 262 00:13:03,340 --> 00:13:05,930 Besterik ez da printf, non bezalakoa da inprimatzen estandarra da. 263 00:13:05,930 --> 00:13:09,050 264 00:13:09,050 --> 00:13:11,230 Eta minutu bat ikusi dugu, baina hau da, benetan 265 00:13:11,230 --> 00:13:16,529 kontsola objektu aipatuz, eta objektu hori metodo bat deituz. 266 00:13:16,529 --> 00:13:18,320 Hori zentzu gehiago egin beharko Minutu batean dugunean 267 00:13:18,320 --> 00:13:20,660 buruz hitz egitera zaitez Ikusteko Javascript-a objektuak, 268 00:13:20,660 --> 00:13:22,509 baina besterik ez nuke aipatu dela pentsatu dut. 269 00:13:22,509 --> 00:13:24,300 HUGH Zabriskie: Gara erabilitako C, eskuinera 270 00:13:24,300 --> 00:13:27,580 programa handi bat idatzi ohi dugu nagusian ezer egin. 271 00:13:27,580 --> 00:13:30,700 Baina zer da cool Javascript egoeran dagoenean interpreter mota hau izan dela 272 00:13:30,700 --> 00:13:33,620 eskailerak denbora errealean, hain lerro hartzen lerroz, 273 00:13:33,620 --> 00:13:35,320 besterik ez da interpretatu ahal duten lekuan bertan. 274 00:13:35,320 --> 00:13:37,403 Eta pista mantentzen aurretik duten exekutatu gauzak, 275 00:13:37,403 --> 00:13:41,620 beraz, tresna nahiko erabilgarria da console.log, edo kontsola erabili, 276 00:13:41,620 --> 00:13:46,870 oro har, besterik jolasten Inguruan Javascript batera. 277 00:13:46,870 --> 00:13:51,420 >> SAM GREEN: Beraz, atzera joan honetarako Esate kodea bigarren lerroa 278 00:13:51,420 --> 00:13:55,320 Hemen nahiko nire buruan mind-boggling da. 279 00:13:55,320 --> 00:13:59,790 Lehen aldiz, hau irakurri nuen, zen bezala, zer gertatzen da? 280 00:13:59,790 --> 00:14:04,580 Beraz, zer gertatzen da, hau funtzioa adierazpena dio, 281 00:14:04,580 --> 00:14:10,170 Izeneko funtzio f2 bat dut f-en argumentu bat espero da,, 282 00:14:10,170 --> 00:14:12,990 eta gero deitzen dela funtzioa, f, eta horrek 283 00:14:12,990 --> 00:14:17,652 zen argumentu gisa pasa da no argumentuak bera. 284 00:14:17,652 --> 00:14:19,110 Beraz, hori nahasgarria izan liteke. 285 00:14:19,110 --> 00:14:21,890 286 00:14:21,890 --> 00:14:28,400 Hau ulertzen dugun f2 f1 gisa hartzen bada Argumentu bezala, eta, ondoren, f2 barruan, 287 00:14:28,400 --> 00:14:31,190 f lortzen called-- bertan bitartekoak kode-lerro hori, 288 00:14:31,190 --> 00:14:34,192 bi lerro hauek ondoren kodea, "kaixo" emaitzak 289 00:14:34,192 --> 00:14:35,400 ari kontsola inprimatuta. 290 00:14:35,400 --> 00:14:41,660 291 00:14:41,660 --> 00:14:44,910 >> Izan ere, gainditu ahal izango dugu funtzio inguruan balioak gisa 292 00:14:44,910 --> 00:14:47,870 ondorioz sortu gehien bat izateaz Javascript ezaugarri indartsua 293 00:14:47,870 --> 00:14:49,700 programazio hizkuntza gisa. 294 00:14:49,700 --> 00:14:52,782 Guztien kanpoaldean awesome gauza egin daiteke, 295 00:14:52,782 --> 00:14:54,990 Besterik ezaugarrietako bat bezala Bide dagokionez hizkuntza 296 00:14:54,990 --> 00:14:58,400 gauzak erraz egiten dela programatu eta aukera ematen du 297 00:14:58,400 --> 00:15:01,060 ez direla bereziki gauzak egiteko Sarean ondo egokitzen, 298 00:15:01,060 --> 00:15:04,500 programazio funtzionala eta funtzionala programazio Javascript alderdi 299 00:15:04,500 --> 00:15:07,130 da gehien bat kontzeptu indartsu dagoela 300 00:15:07,130 --> 00:15:11,030 galdetu didazu Javascript existitzen. 301 00:15:11,030 --> 00:15:11,960 Cool. 302 00:15:11,960 --> 00:15:13,534 >> Beraz, hurrengo gauza. 303 00:15:13,534 --> 00:15:16,450 Funtzionalak izateaz gain, Javascript elementu ere badaude 304 00:15:16,450 --> 00:15:20,510 objektuetara bideratutako direla, hau da, oso bat 305 00:15:20,510 --> 00:15:23,800 buzz informatikako hitz popular. 306 00:15:23,800 --> 00:15:27,040 Objektuetara bideratutako programazioa benetan popular gauza bat da. 307 00:15:27,040 --> 00:15:34,210 Ikusteko Javascript-a horren bertsio bat du, nik uste dut hor balio bakoitza, halaber, 308 00:15:34,210 --> 00:15:41,475 objektu bat, eta horrek esan nahi objektu bakoitza Balio kopurua batzuk biltzen ditu. 309 00:15:41,475 --> 00:15:44,020 310 00:15:44,020 --> 00:15:49,750 Horrela erraz balioak, antzerako zenbaki oso bat, varX bezalako berdin 5, 311 00:15:49,750 --> 00:15:52,250 Objektu hori besterik biltzen balio bat dela. 312 00:15:52,250 --> 00:15:54,760 313 00:15:54,760 --> 00:15:59,036 >> Baina, era berean, egoera bat irudika dezakegu where-- C egoerak pentsatu ere 314 00:15:59,036 --> 00:16:00,910 non egin nahi dugu structs zerbait, 315 00:16:00,910 --> 00:16:03,285 adibidez, zenbait biltzen balioak elkarrekin eta egiten 316 00:16:03,285 --> 00:16:05,870 Oso erraza gauzak inguruan pasatzeko. 317 00:16:05,870 --> 00:16:09,270 Orduan objektu bat Javascript dago. 318 00:16:09,270 --> 00:16:12,340 >> Garrantzitsua da gogoratzea objektuak bilduta esaten dut 319 00:16:12,340 --> 00:16:15,330 Balio kopurua batzuk elkarrekin, funtzio dira, halaber, 320 00:16:15,330 --> 00:16:21,506 balioak, eta horrek esan nahi du funtzio hori halaber Javascript objektu baten barruan egon. 321 00:16:21,506 --> 00:16:26,910 Eta horregatik da garrantzitsua da hau, guk berriz sarritan 322 00:16:26,910 --> 00:16:30,290 metodo bat deituz pentsatzea Objektu bat hori da on 323 00:16:30,290 --> 00:16:35,200 beste termino ezagun baten objektuetara bideratutako popular hizkuntzetan, 324 00:16:35,200 --> 00:16:39,330 ezberdintasun bat hemen da, metodo bat hori guztia Javascript da 325 00:16:39,330 --> 00:16:47,270 balio bat da objektu baten barruan gordeta Hori action-- batzuk seguru burutzen 326 00:16:47,270 --> 00:16:51,850 direla barruan beste balioak erabiliz objektu horren, baina ez du zertan. 327 00:16:51,850 --> 00:16:56,930 Beraz, egoera bat imajinatu dezakezu, I zoro bat pixka bat asmatzen, 328 00:16:56,930 --> 00:17:02,990 non inork metodo bat izeneko duzu objektu beste on oposiziorako, adibidez. 329 00:17:02,990 --> 00:17:06,010 Beraz, pixka bat horrela funky da. 330 00:17:06,010 --> 00:17:09,369 >> Eta metodoak ere alda dezakezu diren objektu batekin lotuta 331 00:17:09,369 --> 00:17:13,740 Metodo hori esleitu Funtzio berria, eta hori ere 332 00:17:13,740 --> 00:17:18,250 Nahiko ezberdinak objektuetara bideratutako hizkuntzetan, non 333 00:17:18,250 --> 00:17:21,410 behin objektu bat aldarrikatzen dugu eta instantziatu da, 334 00:17:21,410 --> 00:17:25,839 ezin dugula dira metodoak aldatu objektu horrekin lotutako jada. 335 00:17:25,839 --> 00:17:28,680 Beraz, nahiko desberdina da. 336 00:17:28,680 --> 00:17:29,570 Cool. 337 00:17:29,570 --> 00:17:34,010 >> Beraz, hona hemen adibide bat, lehenik eta behin, ekintzan objektu baten. 338 00:17:34,010 --> 00:17:36,390 Hau da, zer deitzen objektu soil bat izango da, eta horrek 339 00:17:36,390 --> 00:17:39,460 esan nahi du ez duela inolako izen jakin, ez du klase bat izan, 340 00:17:39,460 --> 00:17:42,190 besterik balioen egokitzerik batzuk da. 341 00:17:42,190 --> 00:17:49,790 Eta hori itxura modu da, daukagun kanpoaldeko kizkur pare honi giltza hemen 342 00:17:49,790 --> 00:17:57,950 JavaScript den adierazteko eta esan, hau objektu bat da. 343 00:17:57,950 --> 00:18:02,130 Haren barruan balioak Barruan balioak bakoitzeko dira 344 00:18:02,130 --> 00:18:04,590 objektu duten egin beharko lukete bilduta elkarrekin egon. 345 00:18:04,590 --> 00:18:09,180 Eta objektu horren barruan, orduan dugun gako bikote, 346 00:18:09,180 --> 00:18:13,880 non gakoa izenari dagokionean objektuaren barruan balio du, 347 00:18:13,880 --> 00:18:16,790 eta beste side-- colon hemen kontrako 348 00:18:16,790 --> 00:18:19,850 benetako balioa da Hori gorde behar. 349 00:18:19,850 --> 00:18:26,210 >> Beraz, hemen ikusten duzu bat dugula balio Sam FN izeneko gakoa, 350 00:18:26,210 --> 00:18:29,430 Koma bat, eta jarraian, hurrengo sarrera kalera esanez. 351 00:18:29,430 --> 00:18:33,560 Ondoren ln izeneko gako bat, berdea balioa duten, 352 00:18:33,560 --> 00:18:35,840 Koma bat, eta jarraian, jarraian "inprimatu" 353 00:18:35,840 --> 00:18:43,209 hau da, funtzio balio bat izan da joan hori kode lerro hau egin behar zuen. 354 00:18:43,209 --> 00:18:45,500 Dezagun urrats bat atzera eta deskonprima zer gertatzen da hemen. 355 00:18:45,500 --> 00:18:47,280 Beraz, hau da, pixka bat zaila, eta zerbait berria ikusten ari gara 356 00:18:47,280 --> 00:18:48,071 lehen aldiz. 357 00:18:48,071 --> 00:18:51,190 358 00:18:51,190 --> 00:18:55,065 The keyword "hau" gauza berria da Hemen ikusten ari gara, eta zer honek 359 00:18:55,065 --> 00:19:00,540 da, gaur egungo aipatzen du esparrua oposiziorako, ezta? 360 00:19:00,540 --> 00:19:03,990 Beraz, esan, hau dugu modu guztiak atzera seinalatzen 361 00:19:03,990 --> 00:19:08,140 object-- osoan honetarako denean this.fn egiten dugu, 362 00:19:08,140 --> 00:19:11,990 modu guztiak joan atzera goaz Objektu hau, joan fn balioa emateko 363 00:19:11,990 --> 00:19:16,471 eta Sam, tira modu guztiak Atzera, makila hemen, eta ondoren, aurrera egiteko. 364 00:19:16,471 --> 00:19:19,838 >> IKUSLEEN: Recuperación batera, da hori delako parametroa egin 365 00:19:19,838 --> 00:19:20,621 definizio? 366 00:19:20,621 --> 00:19:23,870 SAM GREEN: Beraz, galdera zen, da berreskuratze delako parametroa egin 367 00:19:23,870 --> 00:19:24,727 definizio? 368 00:19:24,727 --> 00:19:25,435 Bai, erabat. 369 00:19:25,435 --> 00:19:29,660 370 00:19:29,660 --> 00:19:32,470 Zer gertatuko da joan, dot honek JavaScript behar dio, 371 00:19:32,470 --> 00:19:39,990 Ados, naiz balio batzuk lortzen dut Neure burua objektu honetatik. 372 00:19:39,990 --> 00:19:46,375 Eta gero, begiratu egingo da, sarrera bat egiteko fn deitzen, eta bertan aurkitzen badio, 373 00:19:46,375 --> 00:19:48,470 Gaur bertan itzuliko da egingo balioa beraz, ez da Sam. 374 00:19:48,470 --> 00:19:51,540 Baina, gainera, ezin idatzi dut Hori ez zen, hemen zehaztutako zerbait, 375 00:19:51,540 --> 00:19:54,090 eta, ondoren, besterik ez litzateke itzultzeko undefined-- bertan 376 00:19:54,090 --> 00:19:58,250 Gauza bat da JavaScript dezake egiten da, eta horrek abantaila izan ditzake, 377 00:19:58,250 --> 00:20:03,190 baina also-- da typo bat izanez gero, errore bitxi eragin dezake. 378 00:20:03,190 --> 00:20:05,617 Beraz, besterik ez da saiatu aurkitu edozein dela ere esan nahi duzun aurkitzeko 379 00:20:05,617 --> 00:20:07,700 eta nik ez joan kexatu izango ez balitz aurkitu. 380 00:20:07,700 --> 00:20:11,390 Besterik ez dugu esan, ez nuen aurkitu da, eta ondoren, aurrera egiteko. 381 00:20:11,390 --> 00:20:17,581 Beraz, zehaztugabea izango litzateke, plus hutsik, plus abizena. 382 00:20:17,581 --> 00:20:18,080 Bai. 383 00:20:18,080 --> 00:20:21,070 Eta gero, ikus dezakegu hori badugu zitekeen gero, behera eta access-- 384 00:20:21,070 --> 00:20:25,450 eta tf.print () parentesiekin deitzen duguna. 385 00:20:25,450 --> 00:20:30,000 Honez inprimatu deitzen dugu argumenturik funtzioa, ezta? 386 00:20:30,000 --> 00:20:34,490 Baina esan dugu, besterik ez bada tf.print () puntu eta koma, parentesi gabe, 387 00:20:34,490 --> 00:20:37,480 Hori egingo zukeen guztia tira balioa funtzioa, 388 00:20:37,480 --> 00:20:40,609 baina ez benetan deitu zion. 389 00:20:40,609 --> 00:20:41,162 Cool. 390 00:20:41,162 --> 00:20:42,870 HUGH Zabriskie: Beharrezkoa objektu bat egin dugu? 391 00:20:42,870 --> 00:20:44,161 SAM GREEN: Noski, utzi egin dutela. 392 00:20:44,161 --> 00:20:48,750 Beraz, hau mugitu ahal izango dut kontsolara adibide. 393 00:20:48,750 --> 00:20:51,380 394 00:20:51,380 --> 00:20:55,466 Objektu bat izan dudala hura. 395 00:20:55,466 --> 00:21:03,026 396 00:21:03,026 --> 00:21:04,150 Beraz, hau objektu sinple bat da. 397 00:21:04,150 --> 00:21:06,910 398 00:21:06,910 --> 00:21:11,050 Hau bi dituen objektu bat da Bi gakoei balioak, bi gako balioa 399 00:21:11,050 --> 00:21:12,710 bikote. 400 00:21:12,710 --> 00:21:21,850 Beraz, ondoren I gordetako balioa sartzeko x.x1 eginez objektu honen barruan, 401 00:21:21,850 --> 00:21:23,400 adibidez, eta 1 itzuli dut. 402 00:21:23,400 --> 00:21:29,590 Halaber, x.x2, eskuratu balio bat atzera. 403 00:21:29,590 --> 00:21:33,330 >> Eta orain benetan cool gauza da, ahal dudan benetan zerbait gehitu objektu honi 404 00:21:33,330 --> 00:21:34,316 I sortu ondoren Nik da. 405 00:21:34,316 --> 00:21:36,315 Beraz, imajina dezakezu, dezagun esan funtzio bat daukat. 406 00:21:36,315 --> 00:21:44,430 407 00:21:44,430 --> 00:21:46,352 >> HUGH Zabriskie: You egiten filmea idatzi dute. 408 00:21:46,352 --> 00:21:47,643 >> SAM GREEN: Oh, hori da gogaikarriak. 409 00:21:47,643 --> 00:22:02,460 410 00:22:02,460 --> 00:22:04,324 Zer dut gogoko zuen? 411 00:22:04,324 --> 00:22:04,824 Oh. 412 00:22:04,824 --> 00:22:07,532 413 00:22:07,532 --> 00:22:08,691 Hemen gara. 414 00:22:08,691 --> 00:22:09,190 Cool. 415 00:22:09,190 --> 00:22:12,840 >> Beraz, besterik ez oraindik honen funtzioa, f, hori 416 00:22:12,840 --> 00:22:17,590 hau da, gaur egungo joango Objektu eta inprimatu this.x1. 417 00:22:17,590 --> 00:22:20,330 Beraz, nik deitu f besterik ez balitz moduan berez, ez da ezer gertatzen 418 00:22:20,330 --> 00:22:26,970 , gertatuko den eskubidea, ez dago x1 ez dagoelako objektuaren nik aipatuz eremuan. 419 00:22:26,970 --> 00:22:39,710 Baina, x.f = f, eta, ondoren, esan nahi nizuke dut deitu x.f (), naiz atzera 1 lortu nahi dut. 420 00:22:39,710 --> 00:22:42,990 421 00:22:42,990 --> 00:22:46,530 F funtzioa dela orain Objektu x lotutako, 422 00:22:46,530 --> 00:22:51,800 izeneko gakoa x1 ditu balioa 1 lotutako, 423 00:22:51,800 --> 00:22:54,570 beraz, this.x1 deitzen duguna, da zer da bilatzen aurkituko joan 424 00:22:54,570 --> 00:22:56,450 eta izan balio bat inprimatzeko gai. 425 00:22:56,450 --> 00:22:58,700 Beraz, adibide bat besterik ez da ero gauza motatako 426 00:22:58,700 --> 00:23:01,190 Ikusteko Javascript-a objektuekin egin dezakezu. 427 00:23:01,190 --> 00:23:03,870 428 00:23:03,870 --> 00:23:07,560 >> Beraz bertsioa izan zela Bertsio orokorra, esanahia 429 00:23:07,560 --> 00:23:13,780 objektu bat hau erabiliz sortu dugu parentesi notation-- giltza idazkera, 430 00:23:13,780 --> 00:23:16,880 rather-- eta hori da erabilgarri badago besterik ez dugu 431 00:23:16,880 --> 00:23:21,440 Objektu jakin baten adibide bat, baina zer bat baino gehiago izatea nahi badugu 432 00:23:21,440 --> 00:23:22,210 Mota berekoak? 433 00:23:22,210 --> 00:23:24,440 Eta horri erantzuna Galdera da, ez dira gauza 434 00:23:24,440 --> 00:23:26,760 Klase baita izeneko JavaScript. 435 00:23:26,760 --> 00:23:31,470 436 00:23:31,470 --> 00:23:36,420 Funtzio bat sortu ahal izango dugu, initialization nolabaiteko egiten 437 00:23:36,420 --> 00:23:41,690 atzerriko objektu bat, eta esango dugu, bezala, 438 00:23:41,690 --> 00:23:44,550 Nire klase beraz izenean berrerabilgarriak object-- of 439 00:23:44,550 --> 00:23:47,100 berdinen funtzio hori ezartzen duen gora. 440 00:23:47,100 --> 00:23:52,280 Beraz, zer parekoa izango litzateke objektu bat sortzen ari da hori 441 00:23:52,280 --> 00:23:55,930 Besterik ez litzateke, kizkur giltza, str, bi puntu, 442 00:23:55,930 --> 00:23:59,630 Hau kate bat, puntu eta koma, kizkur. 443 00:23:59,630 --> 00:24:01,880 Hori generikoa izango litzateke Objektu abiarazi dugu, 444 00:24:01,880 --> 00:24:06,380 Bat aldea on izanik hurrengo lerroak prototipoa bat sortzen dugu, eta horrek 445 00:24:06,380 --> 00:24:11,190 esan gako lehenetsi bat da, gehitzeko gure objektu dugula 446 00:24:11,190 --> 00:24:13,970 Hemen azaltzen diren balio ditu. 447 00:24:13,970 --> 00:24:20,570 Zentzua, hori denean berri bat sortu dut MyClass objektu honen instantzia, 448 00:24:20,570 --> 00:24:27,440 nik nahi izan du barruan aurrez eraikitako joan Balio bat str izeneko eta balio bestera 449 00:24:27,440 --> 00:24:32,418 myPrint deitzen zaio, hau da, joan funtzio bat izan. 450 00:24:32,418 --> 00:24:32,918 Awesome. 451 00:24:32,918 --> 00:24:37,410 452 00:24:37,410 --> 00:24:37,990 >> Great. 453 00:24:37,990 --> 00:24:40,710 Beraz, azken gauza Javascript buruz esan 454 00:24:40,710 --> 00:24:46,430 benetan zer baliagarria dela eragiketak asynchronous deitzen dira. 455 00:24:46,430 --> 00:24:52,500 Asynchronous bitartekoak da dugun eragiketa batzuk itxaron 456 00:24:52,500 --> 00:24:57,870 mugitzen dugu aurretik osatzeko an, baina, aurrera egiteko zain gauden bitartean 457 00:24:57,870 --> 00:24:59,690 eta, ondoren, zerbait gertatuko geroago. 458 00:24:59,690 --> 00:25:03,480 Eta zer esan nahi dudana da, zuk egoera bat non irudika dezake 459 00:25:03,480 --> 00:25:06,850 eskaera bat bidali behar dituzu Web zerbitzari batzuk nonbait, 460 00:25:06,850 --> 00:25:09,670 eta nik itzuli nahi baduzu bidali joan Datu zati handi batzuk, ezta? 461 00:25:09,670 --> 00:25:13,320 Eta zure erabiltzaile ezin itxaron Bitartean hori dela-eta, 462 00:25:13,320 --> 00:25:15,200 eta ez da ezer izan zitekeen garai hartan joan. 463 00:25:15,200 --> 00:25:18,110 Baina hori ez da diseinu handia, ezta? 464 00:25:18,110 --> 00:25:20,214 Ez duzu nahi web orriaren izoztu. 465 00:25:20,214 --> 00:25:22,380 Erabiltzaileak zer nahi baldin bada klik goitibeherako menu bat? 466 00:25:22,380 --> 00:25:24,870 Ez da diseinu patroi handi bat. 467 00:25:24,870 --> 00:25:29,290 Horren ordez, funtsean, zer Ikusteko Javascript-a duela dio, 468 00:25:29,290 --> 00:25:31,870 Ados, egin eragiketa hau asinkronikoki. 469 00:25:31,870 --> 00:25:36,520 Beraz bezala, atzealdean itxaron, eta orduan, eragiketa egiten da, 470 00:25:36,520 --> 00:25:39,420 callback deitu funtzio funtzio batzuk deitu, 471 00:25:39,420 --> 00:25:43,800 ez den seinalerik action-- batzuk Eragiketa dugu amaituko zain ziren 472 00:25:43,800 --> 00:25:45,520 egingo da. 473 00:25:45,520 --> 00:25:51,240 Eta arrazoia hori da super indartsua da, Zerbait egin dezakegu, argudio bat pasatzeko, 474 00:25:51,240 --> 00:25:54,440 Zerbait egin, eta ondoren itxaron zerbait gertatuko. 475 00:25:54,440 --> 00:25:58,970 Ondoren, zerbait hori behin osatzen du, callback bat deitu ahal izango dugu. 476 00:25:58,970 --> 00:26:03,300 Hori da benetan erabilgarri uzten duelako Web Audio API dituzten gauzak egiten digu, 477 00:26:03,300 --> 00:26:07,490 adibidez, bezalako karga batekin urruneko zerbitzari batetik audio fitxategia 478 00:26:07,490 --> 00:26:11,660 to itxaron beharrik gabe audio fitxategi osoa kargatzen den, 479 00:26:11,660 --> 00:26:14,440 horrek benetan izango litzateke erabiltzaile esperientzia txarra. 480 00:26:14,440 --> 00:26:17,080 Cool. 481 00:26:17,080 --> 00:26:19,460 >> Azken pare buruzko oharrak arazketa, hau geroztik 482 00:26:19,460 --> 00:26:23,682 Gauza bat egin behar joan zaren da Zure proiektuaren baitan, bermatuta. 483 00:26:23,682 --> 00:26:25,140 JavaScript kontsola aipatu dut. 484 00:26:25,140 --> 00:26:27,550 Ezaugarri super erabilgarria da Nabigatzaile moderno guztien, 485 00:26:27,550 --> 00:26:30,300 Eta benetan lortu animatzen dugu erosoa kontsola erabiliz, 486 00:26:30,300 --> 00:26:33,660 ona lortzeko Javascript nahi baduzu. 487 00:26:33,660 --> 00:26:36,320 Da super erabilgarri arazketa, baina, aldi berean da 488 00:26:36,320 --> 00:26:39,440 benetan kalkulatzen baliagarriak out nola API bat erabili da. 489 00:26:39,440 --> 00:26:41,950 Benetan aukera ematen du esperimentazioa erraza 490 00:26:41,950 --> 00:26:45,910 batzuk idatzi behar izan gabe kodea, eta, ondoren, konpilatu. 491 00:26:45,910 --> 00:26:47,500 Ez duzu urrats horiek guztiak egiteko. 492 00:26:47,500 --> 00:26:49,619 Zuk besterik idatzi daiteke kode batzuk lerro bat sartu, 493 00:26:49,619 --> 00:26:52,410 eta, ondoren, berehalako feedback lortu kode lerro bat ala ez 494 00:26:52,410 --> 00:26:55,230 worked-- oso praktikoa. 495 00:26:55,230 --> 00:26:59,760 >> Eta, gainera, note-- tekniko bat besterik ez JavaScript kontsola adibidea da 496 00:26:59,760 --> 00:27:05,680 REPL-- bat beraz, R-E-P-L da, REPL of, irakurri dago, ebaluatu, 497 00:27:05,680 --> 00:27:06,180 inprimatu amaitzen da. 498 00:27:06,180 --> 00:27:09,100 499 00:27:09,100 --> 00:27:12,120 Gauza batzuk idatzi behar duzu irakurri beharko da zer idatzi duzula, 500 00:27:12,120 --> 00:27:17,280 ebaluatu egingo da, eta inprimatu izango da etorri irteera, eta, ondoren, berriro hasi beharko da. 501 00:27:17,280 --> 00:27:22,056 Hori aukera ematen dizu azkar joan zirkuluak errepikatzean, hau da, benetan cool. 502 00:27:22,056 --> 00:27:25,150 503 00:27:25,150 --> 00:27:28,930 >> Azken benetako honetan note-- asmatu dut benetako azken nota da, bai. 504 00:27:28,930 --> 00:27:30,780 Nola erabiltzen dugu Javascript? 505 00:27:30,780 --> 00:27:34,040 Beraz, lehenik eta behin, inportatu ahal izango dugu Script etiketa bat erabiliz 506 00:27:34,040 --> 00:27:39,500 goiko edo beheko HTML baten at fitxategia edonon HTML fitxategi baten barruan, 507 00:27:39,500 --> 00:27:40,440 benetan. 508 00:27:40,440 --> 00:27:47,390 Eta gidoi etiketa bat barruan daude bi azpi-modu Javascript inporta. 509 00:27:47,390 --> 00:27:51,370 Izatea Lehenengoa da Aparteko Javascript fitxategia 510 00:27:51,370 --> 00:27:58,010 inportatu dugu bere osotasunean dela, edo gidoi bezala kodea azalera dauka edukitzea 511 00:27:58,010 --> 00:28:00,290 , hasteko, eta ondoren backslash gidoi amaierara. 512 00:28:00,290 --> 00:28:02,620 Eta gero, idatzi besterik ez dugu HTML fitxategia barruan Javascript. 513 00:28:02,620 --> 00:28:03,790 Horiek bi modu daude. 514 00:28:03,790 --> 00:28:05,165 Ezin duzu hura HTML barruan. 515 00:28:05,165 --> 00:28:06,502 516 00:28:06,502 --> 00:28:08,126 Ikusleak: bestea baino hobea al da? 517 00:28:08,126 --> 00:28:10,542 SAM GREEN: Galdera izan zen, da bestea baino hobea. 518 00:28:10,542 --> 00:28:18,306 Beraz, bai, Kodetze praktika gisa, eta, gainera, diseinu praktika bat bezalakoa da. 519 00:28:18,306 --> 00:28:20,180 Bi arrazoi daude Horregatik, hobe izango da agian. 520 00:28:20,180 --> 00:28:23,934 Lehenengoa da, zure kodea bat egiten du asko gehiago irakurgarria zure HTML guztiak galtzen 521 00:28:23,934 --> 00:28:27,100 da leku batean, zure CSS guztietan da beste leku, zure Javascript guztia 522 00:28:27,100 --> 00:28:28,420 hirugarren tokian dago. 523 00:28:28,420 --> 00:28:28,920 Eskuin? 524 00:28:28,920 --> 00:28:32,370 Uste dut dagoeneko hitz egin behar dugu Horri buruz sections-- bezalako CSS zer 525 00:28:32,370 --> 00:28:35,220 Hori is-- eta doa beste fitxategi batean askotan. 526 00:28:35,220 --> 00:28:37,090 Beraz, antzeko kontzeptu-mota hemen. 527 00:28:37,090 --> 00:28:42,410 Zuk ere, pentsa dezakegu Javascript baino gehiagotan berrerabili beharko litzateke 528 00:28:42,410 --> 00:28:47,350 HTML orria, edo agian bat HTML orrien franko, 529 00:28:47,350 --> 00:28:49,340 eta Javascript izatea bat sartu refactored 530 00:28:49,340 --> 00:28:51,950 fitxategia inportatu dezakezu leku bat baino gehiago sartu 531 00:28:51,950 --> 00:28:54,570 ahalbideratzen kodearen izan Modu mantengarriak. 532 00:28:54,570 --> 00:28:57,930 Bat egiteko imajinatu dezakezu Ikusteko Javascript-a aldatu 533 00:28:57,930 --> 00:29:00,070 eta hori aldatzeko beharrik 100 fitxategi desberdinetan. 534 00:29:00,070 --> 00:29:04,070 Eta horren ordez, besterik ezin dugu aldatu da bat, hau da, modu ahaltsuagoa ere. 535 00:29:04,070 --> 00:29:05,420 Ba zure galdera erantzun dut? 536 00:29:05,420 --> 00:29:07,950 Cool. 537 00:29:07,950 --> 00:29:10,830 >> Era berean, ezin dugu kontsola batean idazten, Aurretik aipatu dugun bezala. 538 00:29:10,830 --> 00:29:15,070 Eta berriro ere, azken note-- bat Web Audio eraikita dago, 539 00:29:15,070 --> 00:29:16,978 ez duzu ezer kargatu. 540 00:29:16,978 --> 00:29:17,478 Cool. 541 00:29:17,478 --> 00:29:20,519 Ba al dago edozein galdera, egin behar duzun Javascript buruzko edozein galdera gehiago, 542 00:29:20,519 --> 00:29:21,930 Aurretik mugitzen? 543 00:29:21,930 --> 00:29:24,286 >> Ikusleak: [INAUDIBLE] 544 00:29:24,286 --> 00:29:25,410 SAM GREEN: Ondo da, cool. 545 00:29:25,410 --> 00:29:27,200 Beraz, gaur egun, baina behar API buruz hitz egingo da. 546 00:29:27,200 --> 00:29:28,490 >> HUGH Zabriskie: Cool. 547 00:29:28,490 --> 00:29:28,990 Mila esker, Sam. 548 00:29:28,990 --> 00:29:30,184 >> SAM GREEN: Dudarik gabe. 549 00:29:30,184 --> 00:29:32,600 HUGH Zabriskie: Awesome, beraz, mugitu on dugu Javascript from. 550 00:29:32,600 --> 00:29:35,350 Beraz batzuk buruz hitz egin dugu Ikusteko Javascript-a funtsezko elementua, 551 00:29:35,350 --> 00:29:41,105 eta horiek aldagaiak funtzioak dira, objektuak, aldagai gisa funtzioak, 552 00:29:41,105 --> 00:29:41,980 loading asinkronoak. 553 00:29:41,980 --> 00:29:46,100 Hauek dira gauza guztiak egingo duzun ikusi Audio Web erabili ahala. 554 00:29:46,100 --> 00:29:49,230 Beraz, ari gara hitz egin da lehen buruzko goi-mailan. 555 00:29:49,230 --> 00:29:52,120 >> API bat da, beraz, zerbait eraikitzen ari den, Sam esan bezala, 556 00:29:52,120 --> 00:29:57,010 eskubidea Javascript sartu kontsolan erabili duzula. 557 00:29:57,010 --> 00:30:01,020 Eta, egia esan, besterik C bezala ++ kodea hori benetan Chrome txertatua 558 00:30:01,020 --> 00:30:04,470 eta Firefox, eta nabigatzaile hauek guztiak. 559 00:30:04,470 --> 00:30:07,060 Beraz Web ideia nagusiak Audio da behar duzula 560 00:30:07,060 --> 00:30:09,440 audio gasbide-mota hau, ezta? 561 00:30:09,440 --> 00:30:13,670 Beraz, zure audio datuak datorren inprimaki batzuk. 562 00:30:13,670 --> 00:30:16,690 >> Badira hiru forms-- nagusiak mota osziladore, duzu bertan 563 00:30:16,690 --> 00:30:21,340 sine olatu bat sortzen du, kosinua olatu, nola funtzionatzen duten ikusteko goaz. 564 00:30:21,340 --> 00:30:23,890 Beste bat oso ohikoa, noski, MP3 bat da. 565 00:30:23,890 --> 00:30:25,810 Beraz, agian hasten zara Abesti bat, eta, ondoren, 566 00:30:25,810 --> 00:30:28,320 iragazle batzuk egin nahi Hori eta irteera 567 00:30:28,320 --> 00:30:30,605 hori -bere iturri posible bat izan daiteke. 568 00:30:30,605 --> 00:30:32,480 Eta gero, benetan cool bat Bat mikrofonoa da. 569 00:30:32,480 --> 00:30:37,230 Beraz, batzuk oso erabili ahal izango duzu Javascript oinarrizko deiak 570 00:30:37,230 --> 00:30:39,440 sarbidea izateko mikrofonoa, eta beraz baduzu 571 00:30:39,440 --> 00:30:42,870 Aplikazio bat egin nahi zelaia detektagailu bat bezala, 572 00:30:42,870 --> 00:30:45,290 adibidez, hori ere hartzen du Zure ahotsa eta zifrak egindako 573 00:30:45,290 --> 00:30:47,740 the pitch-- duten bidea oso erraza. 574 00:30:47,740 --> 00:30:50,730 Mota besterik ez duzu irakurri da ere, irudikatu maiztasuna, 575 00:30:50,730 --> 00:30:52,250 eta, ondoren, zenbaki bat irteera. 576 00:30:52,250 --> 00:30:56,080 Beraz, nola lan egiten duten ikusi dugu, baita. 577 00:30:56,080 --> 00:30:59,430 >> Helmuga izango da gehien bat non audio datuen irteera da. 578 00:30:59,430 --> 00:31:02,890 Beraz, oro har, honelakoxea Zure ordenagailu eramangarria hiztun. 579 00:31:02,890 --> 00:31:05,610 Beste aukera bezalakoak dira ScriptProcessorNode-- bat 580 00:31:05,610 --> 00:31:07,990 batean nodo lortu dugu segundo baina funtsean, 581 00:31:07,990 --> 00:31:11,939 bai soinu ari zara jartzen egindako Zure ordenagailuaren bidez hiztun bidez, 582 00:31:11,939 --> 00:31:14,730 edo ari da mota grabatzen duzu, beraz, hura gordetzeko zaren audio datu gisa. 583 00:31:14,730 --> 00:31:18,980 Beraz, agian norbaitek sortzen bada musika zure aplikazioa eta gero 584 00:31:18,980 --> 00:31:22,410 Hori grabatu eta agian like nahi duzun esportatu SoundCloud den, adibide erabiliz 585 00:31:22,410 --> 00:31:25,281 Hori dela egiteko modu bat izango litzateke. 586 00:31:25,281 --> 00:31:27,030 Fun stuff guztiak, bertan buruz hitz egingo dugu, 587 00:31:27,030 --> 00:31:29,950 bi puntu horien arteko gertatzen, non kargatu dugu musika 588 00:31:29,950 --> 00:31:31,410 eta, ondoren, irteera da. 589 00:31:31,410 --> 00:31:36,660 >> Beraz, ez dut bost buruz hitz egingo Bigarren batean audio ekoizpen fase. 590 00:31:36,660 --> 00:31:38,950 Izeneko gauza daukagu AudioContext bat, eta horrek 591 00:31:38,950 --> 00:31:41,580 Wrapper txiki honetan hemen ikusten dugu. 592 00:31:41,580 --> 00:31:49,980 Funtsean zer AudioContext is-- bagenu JavaScript kontsola joan oraintxe, 593 00:31:49,980 --> 00:31:52,740 bat sortu ahal izango dugu oraintxe. 594 00:31:52,740 --> 00:31:54,040 Just REPL adibide bat, ezta? 595 00:31:54,040 --> 00:31:57,880 Irakurtzen ari gara, , ebaluatzeko eta bistaratzen. 596 00:31:57,880 --> 00:32:00,260 >> AudioContext egoera global bat da. 597 00:32:00,260 --> 00:32:05,500 Honez egitura bat, objektu bat da Hemen, informazio mantentzen eta hura 598 00:32:05,500 --> 00:32:09,960 Gauzak buruz ari da audio lotutako pantailan. 599 00:32:09,960 --> 00:32:15,220 Adibide bat uneko ordua da. 600 00:32:15,220 --> 00:32:18,910 Hau da zenbakia kontatzen segundo, oso, hain zuzen, 601 00:32:18,910 --> 00:32:20,890 Web orrialde geroztik kargatu. 602 00:32:20,890 --> 00:32:24,110 Beraz, hau da, benetan erabilgarria erabili ditzakezun jabetza gutxi. 603 00:32:24,110 --> 00:32:27,898 Honez irakurri sor baitezakete benetan uste dut Balio ezartzen saiatuko dezakezu. 604 00:32:27,898 --> 00:32:29,856 Ezarri esango du, eta, ondoren, inprimatu baduzu 605 00:32:29,856 --> 00:32:31,439 , berriro ez egin benetan da nahiko lan. 606 00:32:31,439 --> 00:32:34,472 Beraz, ez da irakurri-bakarrik modukoak dira Ikusteko Javascript-a lortzeko zailtasuna. 607 00:32:34,472 --> 00:32:36,430 Hau da, benetan erabilgarria bada motatako sinkronizatzen ari zarela 608 00:32:36,430 --> 00:32:38,610 desberdinak asko Informazio, zaudenean 609 00:32:38,610 --> 00:32:41,280 nolako musika desberdinak jolasten. 610 00:32:41,280 --> 00:32:43,630 >> Inork benetan erabilgarria Another Testuinguru helmuga. 611 00:32:43,630 --> 00:32:46,587 612 00:32:46,587 --> 00:32:49,670 Zalantzarik gabe, nahi izanez gero, izan hau zeure kontsola eskuineko ari da 613 00:32:49,670 --> 00:32:50,980 orain. 614 00:32:50,980 --> 00:32:53,150 Beraz, hau AudioDestinationNode da. 615 00:32:53,150 --> 00:32:56,480 Funtsean, zer dio honen da, Irteerako joan da? 616 00:32:56,480 --> 00:32:59,590 Beraz, ez da benetako bi aukera daude hemen. 617 00:32:59,590 --> 00:33:01,940 Normalean, lehenetsiak, besterik zure hiztun da, 618 00:33:01,940 --> 00:33:05,150 beraz AudioDestinationNode funtsean, dio 619 00:33:05,150 --> 00:33:09,240 daude zero soinua irteerak datozen, bidaliko hizlari. 620 00:33:09,240 --> 00:33:12,050 Beraz, oro har, ez duzu horrekin jolasteko aukera. 621 00:33:12,050 --> 00:33:15,720 Oraindik benetan erabiliz interesa baduzu ScriptProcessorNode grabatzeko, 622 00:33:15,720 --> 00:33:16,990 betiko tiro me an email geroago delako hori 623 00:33:16,990 --> 00:33:18,330 apur bat zailagoa da. 624 00:33:18,330 --> 00:33:21,590 Baina, oro har, Oraindik besterik mota Soinu-irteera inprimaki batzuk ere. 625 00:33:21,590 --> 00:33:24,347 Beraz, cool, hemen salto egingo dugu atzera. 626 00:33:24,347 --> 00:33:25,180 Ikusleak: sentitzen dut. 627 00:33:25,180 --> 00:33:26,054 HUGH Zabriskie: Bai. 628 00:33:26,054 --> 00:33:28,770 Ikusleak: hitz egin esan duzu, ez dakit you aurrerago buruz. 629 00:33:28,770 --> 00:33:31,550 Ezin hori komunika duzu Pro Tools-ekin? 630 00:33:31,550 --> 00:33:33,120 >> HUGH Zabriskie: Pro Tools With? 631 00:33:33,120 --> 00:33:35,260 Ikus dezagun. 632 00:33:35,260 --> 00:33:37,220 Ez dut uste. 633 00:33:37,220 --> 00:33:41,670 Beraz, bezeroak artean gertatzen da, Ikusteko Javascript-a da 634 00:33:41,670 --> 00:33:44,310 kontsola, eta zure benetako ordenagailua, da, oro har, 635 00:33:44,310 --> 00:33:46,490 hori da mota zerbait mugen gainetik, baduzu 636 00:33:46,490 --> 00:33:52,320 Izango da, mota the-- izaeraren arabera diseinu gauza baten antzeko zerbait da, 637 00:33:52,320 --> 00:33:57,770 baina nabigatzailea bereizi mantentzeko saiatzen zara erabiltzailearen benetako ordenagailutik. 638 00:33:57,770 --> 00:34:02,310 Oro har, gauza bakarra Oraindik ahal izateko sarbide mikrofonoa edo kamera da. 639 00:34:02,310 --> 00:34:04,730 To Oraindik ez duzu gai, I ez dut uste, erabili Pro tresnak. 640 00:34:04,730 --> 00:34:07,480 Hala eta guztiz ere, sortu baduzu Pro Tools pista batean, 641 00:34:07,480 --> 00:34:12,710 esportatutako, hori kargatu ahal duzu Hemen ere, iragazi, adibidez, 642 00:34:12,710 --> 00:34:16,820 Prozesu hori, eta erregistro bat sartu dela Audio helmuga edo, no-- esfera bat 643 00:34:16,820 --> 00:34:17,870 Processor Nodoa. 644 00:34:17,870 --> 00:34:20,730 Eta gero, hortik aurrera, ezin duzu esportatzen dituzten SoundCloud den, zuk 645 00:34:20,730 --> 00:34:25,320 bidal zezakeen email bat, edo zuk nahi ez duzun. 646 00:34:25,320 --> 00:34:31,159 >> Baina ez oztopo arin baten antzeko zerbait da Zure ordenagailuan musika egiten arteko 647 00:34:31,159 --> 00:34:33,050 eta musika-line egiteko. 648 00:34:33,050 --> 00:34:37,940 >> SAM GREEN: Eta hori da Ez API hau berezia. 649 00:34:37,940 --> 00:34:44,060 Segurtasun Chrome ezaugarrietako bat da, eta Beste nabigatzaile moderno guztietan uste dut. 650 00:34:44,060 --> 00:34:45,860 Nabigatzaileak burujabe bizi den. 651 00:34:45,860 --> 00:34:50,980 Beraz, adibidez, web orri bat ezin Ikusteko Javascript-a erabili soinua piztu 652 00:34:50,980 --> 00:34:54,190 Zure hiztunek, adibidez gainean. 653 00:34:54,190 --> 00:34:58,120 Edo, ezin da itzali ordenagailua. 654 00:34:58,120 --> 00:35:01,530 Eta ez dago tarteko puntua da Bi gauza horiek artean, eskuinetik, 655 00:35:01,530 --> 00:35:05,960 beraz, bai bat behar duzu abstrakzioaren, 656 00:35:05,960 --> 00:35:10,050 edo ireki zabaltzean segurtasun uzteko akats 657 00:35:10,050 --> 00:35:14,440 asmo txarra programatzailea egin edozein dela ere nahi zure ordenagailu eramangarria dute. 658 00:35:14,440 --> 00:35:18,104 Eta horregatik Chrome burujabe bizi den. 659 00:35:18,104 --> 00:35:19,310 >> HUGH Zabriskie: Bai. 660 00:35:19,310 --> 00:35:20,840 Ez duela zentzurik? 661 00:35:20,840 --> 00:35:21,369 Cool, cool. 662 00:35:21,369 --> 00:35:23,160 Besterik ez nintzen joan adibide bat erakutsi. 663 00:35:23,160 --> 00:35:25,118 Hau da, nahiko askoz gisa urrun, lortu duzun bezala terminoetan 664 00:35:25,118 --> 00:35:26,950 ren erabiltzailearen ordenagailuan sartzen ari da. 665 00:35:26,950 --> 00:35:30,180 Baduzu USB teklatu bat konektatzean, zerbait erabili ahal izango dituzu webean izeneko 666 00:35:30,180 --> 00:35:32,180 MIDI API, ez dugu benetan hemen mintzagai, 667 00:35:32,180 --> 00:35:36,330 baina hori da beste API da gutxienez Chrome-- sartu berriro eraiki, 668 00:35:36,330 --> 00:35:41,570 hau da, zergatik maite dugun Chrome-- Uste dut Firefox edo Safari, 669 00:35:41,570 --> 00:35:44,300 hau gauza erraza da google-- nabigatzaile ezberdinak dituzte 670 00:35:44,300 --> 00:35:46,917 bertan euskarri ezberdinak APIak ezarri dituzte dute. 671 00:35:46,917 --> 00:35:49,875 Baina teklatu bat konektatu nahi baduzu eta informazio horrekin lan egiteko, 672 00:35:49,875 --> 00:35:52,850 motatako teklatuak bidaltzen Ordenagailua den informazioa 673 00:35:52,850 --> 00:35:57,620 eta gero online hori erabili, API hau Hor duzula litzaidake lanean. 674 00:35:57,620 --> 00:35:58,150 >> Cool. 675 00:35:58,150 --> 00:35:58,710 ONDO DA. 676 00:35:58,710 --> 00:36:01,320 Beraz, azkar mugitzea hemen. 677 00:36:01,320 --> 00:36:03,310 Nola ari gara denbora? 678 00:36:03,310 --> 00:36:04,210 >> HIZLARIA 1: 15 buruz. 679 00:36:04,210 --> 00:36:05,543 >> HUGH Zabriskie: 15 minutu geratzen? 680 00:36:05,543 --> 00:36:06,160 Ados, cool. 681 00:36:06,160 --> 00:36:08,170 Beraz, hemen lasterketa egingo dugu aurrerago. 682 00:36:08,170 --> 00:36:13,500 >> Beraz, funtsean, puntu nagusiak gasbide gisa honetako pentsatzen 683 00:36:13,500 --> 00:36:16,430 dela gasbide-urrats bakoitza audio nodo multzo bat da. 684 00:36:16,430 --> 00:36:19,284 685 00:36:19,284 --> 00:36:20,950 Gure iturburu, demagun, oszilatzaile bat da. 686 00:36:20,950 --> 00:36:23,380 Osziladore nodo bat sortu behar dugu. 687 00:36:23,380 --> 00:36:25,690 Eta besterik ez da mota du funtzio txikiaren 688 00:36:25,690 --> 00:36:30,460 eta guztiak ari dira oinarritutako egindako Audioaren testuinguruan hemen. 689 00:36:30,460 --> 00:36:32,885 >> Ikusleak: When, esan du osziladore, esan nahi du horrek 690 00:36:32,885 --> 00:36:37,250 egia esan, literalki joan bi polo desberdinak atzera eta aurrera? 691 00:36:37,250 --> 00:36:41,170 >> HUGH Zabriskie: Ez, dirudienez irudikapen digital bat. 692 00:36:41,170 --> 00:36:42,740 Benetan C ++ ezarri. 693 00:36:42,740 --> 00:36:46,460 I benetan ez specs ezagutu benetan nola ezarri, 694 00:36:46,460 --> 00:36:48,500 baina hori guztia, datu bitarrak bezala lanean. 695 00:36:48,500 --> 00:36:51,260 696 00:36:51,260 --> 00:36:52,370 Egia esan, bai. 697 00:36:52,370 --> 00:36:53,950 Hori esanez egingo litzateke, eta ahal nuen benetan, nahi izanez gero, 698 00:36:53,950 --> 00:36:56,533 You more apur bat bidali izan dut nola uhin buruzko informaziorik 699 00:36:56,533 --> 00:37:00,181 formatu digitalean izatea mantentzen dira. 700 00:37:00,181 --> 00:37:00,680 Ados, cool. 701 00:37:00,680 --> 00:37:03,120 >> Beraz sine bat bezala tonu bat sortzen ari garen olatuen edo horrelako zerbait, agian, 702 00:37:03,120 --> 00:37:04,190 440 Hertz. 703 00:37:04,190 --> 00:37:05,830 Oszilatzaile bat sortu dugu. 704 00:37:05,830 --> 00:37:09,180 Bolumena ezarri nahi badugu, ezer konektatu GainNode batera, 705 00:37:09,180 --> 00:37:12,500 bertan .creategain egin ahal izan genuen. 706 00:37:12,500 --> 00:37:14,250 Hori da zure bolumena ezartzen du. 707 00:37:14,250 --> 00:37:17,820 Edozein kalera pasatu ahal izango duzu options-- bai bestearen, 708 00:37:17,820 --> 00:37:20,300 beraz, audio buffer-iturria nodo da non agian, 709 00:37:20,300 --> 00:37:23,660 hasi zaren kargatuta MP3 bat gordetzeko. 710 00:37:23,660 --> 00:37:27,670 >> Biquad iragazkia iragazpenaren da Oinarrian guztiak hartu nahi duzu 711 00:37:27,670 --> 00:37:29,630 Abesti bat, edo horrelako zerbait. 712 00:37:29,630 --> 00:37:32,450 Jainkoa debekatzeko hartu nahi duzun oinarrian abesti bat. 713 00:37:32,450 --> 00:37:36,980 Eta AudioDestination nodoa da, berriz ere, atsegin non gure amaitu da. 714 00:37:36,980 --> 00:37:39,980 Oraindik ikusten inoiz interesa baduzu ahalik eta hainbat aukera guztiak, 715 00:37:39,980 --> 00:37:45,190 besterik fitxan joan eta utzi auto-osoa etorri. 716 00:37:45,190 --> 00:37:48,690 Eta zuk sortu ez bada, ikusiko duzu etorri Hori sor dezakezu gauza desberdinak. 717 00:37:48,690 --> 00:37:50,398 Dinamikoak sor ditzakezu gidoi prozesadoreak, 718 00:37:50,398 --> 00:37:52,940 I ez dakite zer dela da, kanal fusioak nahasteko 719 00:37:52,940 --> 00:37:55,930 eta kanal splitters eta hori guztia. 720 00:37:55,930 --> 00:37:56,430 Cool. 721 00:37:56,430 --> 00:37:59,560 722 00:37:59,560 --> 00:38:01,390 >> Beraz, hau da, besterik gabe, gasbide baten adibidea. 723 00:38:01,390 --> 00:38:03,580 Beraz, hiru iturri buruturiko ditugu. 724 00:38:03,580 --> 00:38:06,830 Agian hauek uhin dira, Agian hauek MP3s dira. 725 00:38:06,830 --> 00:38:08,740 Norberaren igaro iragazkia, horrek beste bat 726 00:38:08,740 --> 00:38:12,404 ohitu desitxuratu beste Norberaren panoramikoaren ezker eta eskuin. 727 00:38:12,404 --> 00:38:15,320 Gauza mota guztiak egin ahal izango duzu, eta ezagutu dute mistoak inguru elkarrekin, 728 00:38:15,320 --> 00:38:18,880 eta, ondoren, egindako audio datorrenean Amaieran, helmuga gisa. 729 00:38:18,880 --> 00:38:22,720 Hau zer gehiago adibidea da konplikatua Web Audio kodea itxura. 730 00:38:22,720 --> 00:38:26,720 Horiek guztiak sortzen ari zara hainbat objektu hementxe 731 00:38:26,720 --> 00:38:27,706 Ez nago horren ziur. 732 00:38:27,706 --> 00:38:29,120 Ez, ez du handitzeko. 733 00:38:29,120 --> 00:38:29,620 ONDO DA. 734 00:38:29,620 --> 00:38:31,257 >> SAM GREEN: ez duzu Control, Scroll-Up. 735 00:38:31,257 --> 00:38:32,590 HUGH Zabriskie: Kontrol Scroll-- 736 00:38:32,590 --> 00:38:33,000 SAM GREEN: Ez, ez. 737 00:38:33,000 --> 00:38:33,500 Control-- 738 00:38:33,500 --> 00:38:36,540 739 00:38:36,540 --> 00:38:38,140 >> HUGH Zabriskie: Oh, Control, Zoaz? 740 00:38:38,140 --> 00:38:38,780 Oh, gotcha. 741 00:38:38,780 --> 00:38:41,480 Bai. 742 00:38:41,480 --> 00:38:42,240 Wow, Laguia, Laguia. 743 00:38:42,240 --> 00:38:42,740 ONDO DA. 744 00:38:42,740 --> 00:38:46,090 Ez dut egin dela. 745 00:38:46,090 --> 00:38:48,300 >> Beraz, bai, hau ere lehen Hemen atalean, ikusiko duzu 746 00:38:48,300 --> 00:38:52,720 horiek guztiak sortzen ari gara Testuinguru kanpo nodoak. 747 00:38:52,720 --> 00:38:54,980 Besterik ari gara piecing elkarrekin, bigarren zati batean 748 00:38:54,980 --> 00:38:56,980 Connect izeneko funtzio honen bidez. 749 00:38:56,980 --> 00:38:58,830 Hori da benetan gako bat Web Audio funtzioa. 750 00:38:58,830 --> 00:39:01,930 Besterik ez du esan Behin hori egin Nodo bat soinuarekin batera zerbait, 751 00:39:01,930 --> 00:39:03,705 pasa ezazu hurrengo nodo. 752 00:39:03,705 --> 00:39:05,830 Beraz iturri izan dugu, Analizatzaile konektatuko da, 753 00:39:05,830 --> 00:39:09,140 analizatzailearen zerbait egiten, doa distortsio da, eta, beraz, 754 00:39:09,140 --> 00:39:12,725 eta helmuga hementxe behealdean. 755 00:39:12,725 --> 00:39:13,225 Cool. 756 00:39:13,225 --> 00:39:14,640 Ados, beraz, jarraituko dugu, aurrera jarraituz. 757 00:39:14,640 --> 00:39:17,180 >> Pipeline-- du berriro ere, horiek the oliobideak ohikoena dira, 758 00:39:17,180 --> 00:39:21,300 beraz, atsegin gauza horiek guztiak buruz hitz egiten dugu distortsio, okertu, guzti hau. 759 00:39:21,300 --> 00:39:24,280 Oraindik benetan interesa baduzu Gauzak Pro tresnak erabiliz, 760 00:39:24,280 --> 00:39:25,820 horiek ziurrenik interesatzen. 761 00:39:25,820 --> 00:39:27,740 Hala ez bada, agian, besterik ez duzu soinua jolastu nahi, 762 00:39:27,740 --> 00:39:29,990 edo, agian, besterik nahi ez soinua bolumena ezartzeko. 763 00:39:29,990 --> 00:39:35,270 Horiek bi moduko ohikoenak dira audio produkzioan hodiak. 764 00:39:35,270 --> 00:39:38,640 >> Berriz ere, modu hori hartu ahal izango duzu bezala oscillator-- bat beraz, dezagun 765 00:39:38,640 --> 00:39:42,460 egiten duten demo hementxe. 766 00:39:42,460 --> 00:39:47,090 767 00:39:47,090 --> 00:39:52,225 Beraz, goazen bat sortu nahi du simple audio testuinguru hemen, 768 00:39:52,225 --> 00:39:54,350 eta goazen horren Gure osziladore sortzeko. 769 00:39:54,350 --> 00:39:58,620 Beraz, hori da, berriro ere, besterik ez gara deitzeko Sortu osziladore joan. 770 00:39:58,620 --> 00:40:07,030 Frekuentzia bat ezarri goaz , hori 440 Hertz, guztion gogoko. 771 00:40:07,030 --> 00:40:13,290 Gero lotzen dugu Helmugara point-- bertan hiztuna da, eta beraz, 772 00:40:13,290 --> 00:40:15,750 Testuinguru helmuga. 773 00:40:15,750 --> 00:40:21,400 Azkenik, esan besterik ez dugu, hasteko zero Hemendik aurrera segundo, eta ez du soinua izan dugu? 774 00:40:21,400 --> 00:40:22,400 >> [Dei-] 775 00:40:22,400 --> 00:40:24,980 >> HUGH Zabriskie: Hemen gara. 776 00:40:24,980 --> 00:40:25,940 Sine olatu bat besterik ez da. 777 00:40:25,940 --> 00:40:26,440 Ados, cool. 778 00:40:26,440 --> 00:40:28,274 Eta gero, hori uzteko dugu. 779 00:40:28,274 --> 00:40:30,520 >> Ikusleak: Non egin iritziei datoz? 780 00:40:30,520 --> 00:40:31,250 >> HUGH Zabriskie: Atzeraelikadura? 781 00:40:31,250 --> 00:40:32,458 Oh, seguruenik gure mikrofonoak. 782 00:40:32,458 --> 00:40:34,221 783 00:40:34,221 --> 00:40:35,470 Beraz, bai, hori nola egin behar duzun da. 784 00:40:35,470 --> 00:40:37,261 Eta egia esan, izan badut mantendu martxan da, zuk 785 00:40:37,261 --> 00:40:39,540 maiztasuna izan dezake exekutatzen ari den bezala balio, 786 00:40:39,540 --> 00:40:43,320 beraz, gauza dibertigarria inguruan play da. 787 00:40:43,320 --> 00:40:44,930 Cool. 788 00:40:44,930 --> 00:40:46,600 Hori da beti eder bat aurkeztu. 789 00:40:46,600 --> 00:40:48,792 >> SAM GREEN: Ez dugu hori pentsatzen, ba al dugu? 790 00:40:48,792 --> 00:40:50,500 HUGH Zabriskie: Bai, gaizto bat da hori. 791 00:40:50,500 --> 00:40:53,249 Beraz, buffer loading-- bat erakutsi dut oso amaieran horren adibide. 792 00:40:53,249 --> 00:40:55,090 Hori da, MP3 batekin kargatzen. 793 00:40:55,090 --> 00:40:58,880 Eta mikrofonoa, funtzio bat besterik ez duzu erabili Navigator.getUserMedia izeneko () 794 00:40:58,880 --> 00:41:03,240 Erabiltzaile sarbidea eskatzeko Informazio hori egiteko mikrofonoa. 795 00:41:03,240 --> 00:41:05,610 >> Hemen iragazteko Nik besterik mantentzeko honetan mugitzen. 796 00:41:05,610 --> 00:41:08,600 Hau maila nahiko altua da, baina iragazkiak besterik uzten dizu 797 00:41:08,600 --> 00:41:16,154 >> [Beeping] 798 00:41:16,154 --> 00:41:18,320 Iragazketa ere ahalbidetzen duzu arrosa bezalako gauzak sortzeko 799 00:41:18,320 --> 00:41:20,050 zarata, zarata marroia, zarata zuri. 800 00:41:20,050 --> 00:41:24,330 Zarata hutsa, sortu nahi baduzu bertan pertsona batzuk nahastea maite dituzten inguruan, 801 00:41:24,330 --> 00:41:27,490 Web Audio erabili ahal izango duzu iragazketa ez da egin behar. 802 00:41:27,490 --> 00:41:30,039 >> Audio Panning-- beraz imajinatu duzu joko bat idazten ari bada 803 00:41:30,039 --> 00:41:32,330 eta soinua nahi duzu soinua bezalakoa da da, datozen bezala, 804 00:41:32,330 --> 00:41:36,090 pantailan zehar tiro, zuk Audioaren panoramikoa erabil daiteke 805 00:41:36,090 --> 00:41:39,770 Kono mota hau sortzeko, bertan antzekoak nahiko mathy da, 806 00:41:39,770 --> 00:41:41,850 baina, egia esan, oso cool da lanera baduzu, 807 00:41:41,850 --> 00:41:44,500 eta ez da ona batzuk tutoretzak Gainean bidali nahi dut bat. 808 00:41:44,500 --> 00:41:46,400 Funtsean, mota egin ahal izango dituzu soinua sortu 809 00:41:46,400 --> 00:41:50,480 zerbaitek joan 3D modu batean. 810 00:41:50,480 --> 00:41:57,350 Eta DJ interes badaukazu, ahal duzun hasteko nahastuz eta abestiak lausotzen zeharkatzeko. 811 00:41:57,350 --> 00:42:01,260 >> Hau besterik ez da batzuk oso oinarrizko kodea, aurretik, funtsean, zer egin nuen. 812 00:42:01,260 --> 00:42:06,140 Hau bolumena ezartzen osziladore, beraz, gure osziladore sortzen dugu 813 00:42:06,140 --> 00:42:07,380 bertan uhin sortzen. 814 00:42:07,380 --> 00:42:09,940 Gure GainNode sortu dugu Gure maiztasuna ezarri, 815 00:42:09,940 --> 00:42:14,170 eta ondoren etorri den osziladore konektatu GainNode, eta gero, funtsean aldatzen 816 00:42:14,170 --> 00:42:16,760 zenbat seinale da onartzen bidez. 817 00:42:16,760 --> 00:42:20,467 Baina benetan, digital bat da gauza, beraz, gehiago just da bai. 818 00:42:20,467 --> 00:42:23,550 Hori ez da zer benetan gertatzen ari dena, baina hori da bizitza errealean zer gertatzen den 819 00:42:23,550 --> 00:42:24,393 irabazia batekin. 820 00:42:24,393 --> 00:42:27,258 >> Ikusleak: --quantization bolumen parametro baten? 821 00:42:27,258 --> 00:42:28,174 HUGH Zabriskie: Barkatu? 822 00:42:28,174 --> 00:42:30,360 Ikusleak: Da bat kuantizaturikoa bolumena parametroa? 823 00:42:30,360 --> 00:42:31,840 HUGH Zabriskie: Bai. 824 00:42:31,840 --> 00:42:34,620 Eta hau da gauza bat benetan naiz da zaien nire ezagutza ere, 825 00:42:34,620 --> 00:42:38,010 nola irabazia Maila digital batean egiten du lan. 826 00:42:38,010 --> 00:42:40,140 Badakizu benetako dut seinaleak, da, funtsean, 827 00:42:40,140 --> 00:42:45,120 kontrolatzea, zenbat Oraindik seinalea zabalduz. 828 00:42:45,120 --> 00:42:47,017 Beraz, bai. 829 00:42:47,017 --> 00:42:50,100 Bidali dizut buruz informazio gehiago nahi dut, bitxia izan delako litzaidake benetan 830 00:42:50,100 --> 00:42:51,099 Horri buruz gehiago jakin nahi. 831 00:42:51,099 --> 00:42:54,090 Baina funtsean parametroak dira, bata fold-- da 832 00:42:54,090 --> 00:42:59,690 ozenago signal-- eta zero da ez seinalea, edo ez duzu edozein soinu entzuteko. 833 00:42:59,690 --> 00:43:03,150 Albo batera egingo dugu demo denbora delako horretarako aurretik, funtsean, zer egin nuen. 834 00:43:03,150 --> 00:43:07,630 Eta berriro ere, Context.Destination du Audioaren helmuga nodo da. 835 00:43:07,630 --> 00:43:08,360 Awesome, OK. 836 00:43:08,360 --> 00:43:10,470 >> Beraz, ez dut azkar bat bi demoak egin. 837 00:43:10,470 --> 00:43:11,760 Nola ari gara denbora? 838 00:43:11,760 --> 00:43:12,640 >> HIZLARIA 1: 10 minutu. 839 00:43:12,640 --> 00:43:13,130 >> HUGH Zabriskie: 10 minutu? 840 00:43:13,130 --> 00:43:13,630 Great! 841 00:43:13,630 --> 00:43:14,320 Awesome. 842 00:43:14,320 --> 00:43:19,010 >> Beraz lehenengoa noa ez, nik nire gogokoenak Song deitzen. 843 00:43:19,010 --> 00:43:22,410 Beraz, ez da gutxi HTML Javascript. 844 00:43:22,410 --> 00:43:25,510 Bi botoiak goaz orrialdean nire abesti gogokoena erreproduzitu 845 00:43:25,510 --> 00:43:29,192 eta gelditu nire abesti gogokoena. 846 00:43:29,192 --> 00:43:30,180 Aldatu dut hau. 847 00:43:30,180 --> 00:43:32,110 >> Ikusleak: Estali mikrofonoa. 848 00:43:32,110 --> 00:43:33,430 >> HUGH Zabriskie: Bai. 849 00:43:33,430 --> 00:43:36,300 Eta hemen ere ez dut kargaturik funtsean hori gidoi bat 850 00:43:36,300 --> 00:43:38,520 eta hau erabilgarria MP3 bat kargatzeko 851 00:43:38,520 --> 00:43:41,820 beraz, hau bakarrik egiten MP3s bide azkarrago kargatzen. 852 00:43:41,820 --> 00:43:44,180 Funtsean da wrapper bat besterik ez. 853 00:43:44,180 --> 00:43:48,737 Besterik prozesua Egiten MP3s askoz azkarrago kargatzen, 854 00:43:48,737 --> 00:43:51,570 Besterik HTTP eskaera erabiltzen ari zarela, motatako zer egiten genuen bezala 855 00:43:51,570 --> 00:43:53,950 Zerbitzariarekin ezarri uneko pieza on. 856 00:43:53,950 --> 00:43:55,950 Benetan itsusia, zuk ez nahi da egin behar. 857 00:43:55,950 --> 00:44:04,110 >> Beraz, tipo hau, Boris Smus, idatzi zuen benetan bat BufferLoader izeneko tresna erabilgarria gutxi. 858 00:44:04,110 --> 00:44:08,780 Egiten den guztia igaro besterik egiten du testuingurua, hura list-- bat pasatzen duzu 859 00:44:08,780 --> 00:44:11,327 edo, bai, ez da Javascript-a zerrendan egiteko? 860 00:44:11,327 --> 00:44:12,160 SAM GREEN: Array bat. 861 00:44:12,160 --> 00:44:14,201 HUGH Zabriskie: Oh, it da sorta bat, hori da. 862 00:44:14,201 --> 00:44:18,660 Bideak array bat da fitxategiak ezberdinetara. 863 00:44:18,660 --> 00:44:21,990 Eta, ondoren, funtzio bat pasatzen duzu. 864 00:44:21,990 --> 00:44:25,530 Hau atzeradei hitz egin genuen dago loading asynchronous buruz. 865 00:44:25,530 --> 00:44:28,720 Hori deitu egingo kargatutako fitxategiak behin. 866 00:44:28,720 --> 00:44:33,780 Eta funtzio hori deitzen duzunean du fitxategia kargatu perimetro bat bezala hartzen du 867 00:44:33,780 --> 00:44:35,840 kargatutako bufferrak array bat. 868 00:44:35,840 --> 00:44:37,990 Beraz, hori gertatzen da hemen. 869 00:44:37,990 --> 00:44:41,180 Funtsean, BufferList da balioa bat izango da 870 00:44:41,180 --> 00:44:46,380 edo nik array bat izango da luzera bata, bertan ditu indizea 871 00:44:46,380 --> 00:44:51,320 kargatutako MP3 fitxategi osoa zero. 872 00:44:51,320 --> 00:44:53,320 Beraz, zer egin dut amaitzeko da kargatzeko, besterik ez dut 873 00:44:53,320 --> 00:44:57,430 buffer iturri bat sortzea, eta horrek audio buffer source nodo bat da. 874 00:44:57,430 --> 00:45:03,410 Hurrengo pausoa da kargatu dut batean source.buffer kargatutako buffer osoa bezala 875 00:45:03,410 --> 00:45:06,740 BufferList-- batetik buffers-- asko da 876 00:45:06,740 --> 00:45:10,255 eta, ondoren, audio konektatu duzu Helmugara buffer. 877 00:45:10,255 --> 00:45:12,380 Beraz, zer da egin egingo besterik ez da, besterik gabe, jarri MP3 du 878 00:45:12,380 --> 00:45:15,260 zuzen irteera bidez, eta hasi da berehala 879 00:45:15,260 --> 00:45:18,010 dei hau lortzeko gainean. 880 00:45:18,010 --> 00:45:21,660 >> Cool, beraz, ikus dezagun hau gerta ekintzan. 881 00:45:21,660 --> 00:45:24,490 My [INAUDIBLE] hemen, ikus dezagun. 882 00:45:24,490 --> 00:45:26,430 Beraz, ez dut besterik joan Oinarrizko zerbitzari bat hasteko. 883 00:45:26,430 --> 00:45:28,660 Hori da, zerbait Oraindik baduzu, egin behar duzun 884 00:45:28,660 --> 00:45:32,490 fitxategiak kargatzeko eskaerak egiteko. 885 00:45:32,490 --> 00:45:34,140 Oinarrizko zerbitzari bat hasteko noa. 886 00:45:34,140 --> 00:45:38,200 Hau da, funtsean, zure osoa Pset oraintxe lerro bat, 887 00:45:38,200 --> 00:45:43,930 baina besterik hasita 80/80 atakan zerbitzari bat. 888 00:45:43,930 --> 00:45:47,300 Beraz errepasatuko ditugu hemen, dugun 80/80 kargatu joan, 889 00:45:47,300 --> 00:45:49,110 My Favorite Song joan goaz. 890 00:45:49,110 --> 00:45:51,660 Beraz, I hit bada "Play my abesti gogokoena "oraintxe, 891 00:45:51,660 --> 00:45:53,964 nik kargatu joan nire gogoko abestia eta play it 892 00:45:53,964 --> 00:45:55,880 [MUSIKA - Eagles, "LIFE azkar IN  LANE "] 893 00:45:55,880 --> 00:46:00,490 --which gertatzen "Life izateko Fast Lane "Eagles arabera. 894 00:46:00,490 --> 00:46:06,346 Orain, hit izan dut "Gelditu nire abesti gogokoena "eta errepikatzea da. 895 00:46:06,346 --> 00:46:09,160 >> [MUSIKA - Eagles, "LIFE azkar IN  LANE "] 896 00:46:09,160 --> 00:46:18,340 >> Eta gehiago joan nintzen, zeren kontsolara bada Aldagai global bat erabili hemen baino gehiago I 897 00:46:18,340 --> 00:46:23,390 Pista benetan mantentzeko balio du hori, hura egingo kontsola izango orain aitortzen. 898 00:46:23,390 --> 00:46:25,160 Beraz, niretzat auto-sortzen. 899 00:46:25,160 --> 00:46:29,991 Beraz, zer oraintxe jolasten, eta besterik ez dut deitu ahal source.stop () 900 00:46:29,991 --> 00:46:30,490 horretan. 901 00:46:30,490 --> 00:46:34,930 902 00:46:34,930 --> 00:46:35,860 Beno, zer ezagutzen duzu? 903 00:46:35,860 --> 00:46:39,760 Just beraz, you guys entzun dute hau song-- abesti hau ezagutzen duzu agian. 904 00:46:39,760 --> 00:46:41,801 >> [MUSIKA - Rick Astley, "Inoiz ez asmorik GIVE  YOU arriba "] 905 00:46:41,801 --> 00:46:42,299 906 00:46:42,299 --> 00:46:44,215 [MUSIKA - Eagles, "LIFE azkar IN  LANE "] 907 00:46:44,215 --> 00:46:46,195 Nik jada Rickrolled Denok. 908 00:46:46,195 --> 00:46:50,155 Ados, handia, mugitzea. 909 00:46:50,155 --> 00:46:51,160 Cool. 910 00:46:51,160 --> 00:46:54,554 Beraz, hau da, funtsean, adibide bat besterik nola MP3 bat kargatu ahal duzu fitxategi 911 00:46:54,554 --> 00:46:56,470 [MUSIKA - Eagles, "LIFE azkar IN  LANE "] 912 00:46:56,470 --> 00:46:59,590 --and jokatuko da, eta gelditzeko eta hasi da. 913 00:46:59,590 --> 00:47:03,008 Dut asko egin izan gehiago [INAUDIBLE] 914 00:47:03,008 --> 00:47:07,570 >> Bat egin dut azken da, Erakutsi dut bat [INAUDIBLE]. 915 00:47:07,570 --> 00:47:18,070 >> [Musika jotzen] 916 00:47:18,070 --> 00:47:21,800 >> Da bezala, ogg.wave.mp3. 917 00:47:21,800 --> 00:47:26,450 , Uste dut ondo gogoratzen dut, Gai batzuk sartu dut exekutatu .m4a batera, 918 00:47:26,450 --> 00:47:27,721 baina ez nago ziur. 919 00:47:27,721 --> 00:47:28,470 Uste dut mp3.wave-- 920 00:47:28,470 --> 00:47:28,930 921 00:47:28,930 --> 00:47:30,971 >> [MUSIKA - Rick Astley, "Inoiz ez asmorik GIVE  YOU arriba "] 922 00:47:30,971 --> 00:47:35,930 923 00:47:35,930 --> 00:47:36,500 >> Ados, handia. 924 00:47:36,500 --> 00:47:37,625 Ez nian esan duenez. 925 00:47:37,625 --> 00:47:40,570 Dena den, kaixo. 926 00:47:40,570 --> 00:47:43,430 927 00:47:43,430 --> 00:47:45,490 Beraz open hau dugu. 928 00:47:45,490 --> 00:47:52,320 Beraz, orain ez dut da, sortu funtsean I musika sortzeko oinarrizko sintaxia. 929 00:47:52,320 --> 00:47:57,610 Beraz, zerbait egin nuen bezala bada, gehitu G4 1 2an, zer esan nahi duen, 930 00:47:57,610 --> 00:48:00,950 gehitu piano ohar, G4, den laugarren G da 931 00:48:00,950 --> 00:48:02,680 behetik pianoan eman. 932 00:48:02,680 --> 00:48:05,930 Beraz, hau MIDI mota da hitz egin, beraz direnek musika oinarri, 933 00:48:05,930 --> 00:48:07,860 hau besterik MIDI notak da. 934 00:48:07,860 --> 00:48:10,090 >> Ikusleak: Hori da, G Erdi C, ezta? 935 00:48:10,090 --> 00:48:11,840 >> HUGH Zabriskie: Hau da G Erdi C gainetik, hori da. 936 00:48:11,840 --> 00:48:12,470 >> Ikusleak: Above Erdi C. 937 00:48:12,470 --> 00:48:13,345 >> HUGH Zabriskie: Bai. 938 00:48:13,345 --> 00:48:14,340 Bai, egia esan. 939 00:48:14,340 --> 00:48:16,131 Nik uste dut benetan egin nuen bat [INAUDIBLE] da, 940 00:48:16,131 --> 00:48:18,860 beraz, hori gainetik zortzidun bat izan liteke. 941 00:48:18,860 --> 00:48:20,070 Beraz, ikus dezagun. 942 00:48:20,070 --> 00:48:21,152 Play-- hit I bada 943 00:48:21,152 --> 00:48:22,110 [Errepikakorra PIANO OHARRA] 944 00:48:22,110 --> 00:48:23,200 --we're hori entzungo. 945 00:48:23,200 --> 00:48:25,700 Ideia da funtzionatzen duten besterik komando-lerro bat litzateke, 946 00:48:25,700 --> 00:48:27,510 beraz, gora eta behera joaten naizen nire teklatuan, zuk 947 00:48:27,510 --> 00:48:31,550 itzuli ahal izateko aurreko komandoak, hau da, nahiko erabilgarria. 948 00:48:31,550 --> 00:48:35,136 Eta beherago nire ibilbideak zerrenda da, diren guztiak begizta exekutatzen. 949 00:48:35,136 --> 00:48:38,260 >> Ikusleak: suposatuz zinen du 88-giltza teklatua horretan, ezta? 950 00:48:38,260 --> 00:48:41,051 >> HUGH Zabriskie: Galdera izan zen, Nago 88-tekla bat suposatuz, 951 00:48:41,051 --> 00:48:41,990 eta bai, ni naiz. 952 00:48:41,990 --> 00:48:45,030 Zer egin nuen da I funtsean hartu zuten 88 laginak 953 00:48:45,030 --> 00:48:46,970 pianoa, ohar bakoitzeko bana. 954 00:48:46,970 --> 00:48:49,180 Eta beraz, aldi bakoitzean hemendik aurrera ohar bat entzuteko, 955 00:48:49,180 --> 00:48:57,550 Hori da benetan itxura begizta batean antzekoak hau ohitu da begizta batean jokatzen da, 956 00:48:57,550 --> 00:49:00,120 beraz Ohar bakoitzean, martxan da hau. 957 00:49:00,120 --> 00:49:02,860 Zer gertatzen da, I buffer bat sortuko da berriro, 958 00:49:02,860 --> 00:49:06,010 Gain nodo baten bolumena ezartzeko sortu dut. 959 00:49:06,010 --> 00:49:08,240 Benetan hau besterik ez da I esateko modu korapilatsu 960 00:49:08,240 --> 00:49:10,550 source.buffer batean buffer gordetzeko. 961 00:49:10,550 --> 00:49:13,160 Irabazia ematen dut, nik konektatu irabazia den, 962 00:49:13,160 --> 00:49:15,576 irabazia da konektatutako irteera, eta gero jolastu dut. 963 00:49:15,576 --> 00:49:20,735 Beraz, hori prozesua antzeko zerbait da buffer iturri bat ere hartzeko. 964 00:49:20,735 --> 00:49:24,820 >> Publikoa: Ezin duzu benetan hartu duten soinu lehor eta gustora hezea [INAUDIBLE]? 965 00:49:24,820 --> 00:49:26,260 >> HUGH Zabriskie: You can, bai. 966 00:49:26,260 --> 00:49:29,260 Ez da, ber-aditza, ez da atzerapena, distortsio. 967 00:49:29,260 --> 00:49:33,260 Funtsean, jarri ahal izango duzu ezer ere ogitarteko horretan of-- ondo artean, 968 00:49:33,260 --> 00:49:37,660 gasbide metafora bat hobea da, baina hori ere ezer gehitu ditzakezu. 969 00:49:37,660 --> 00:49:38,200 Cool. 970 00:49:38,200 --> 00:49:40,280 >> Beraz demo amaitu dut Hemen duzu zentzu bat emateko 971 00:49:40,280 --> 00:49:46,390 ren besterik sheer zenbat aldiz dituzu Funtzio hori guztia aldi berean exekutatu daiteke. 972 00:49:46,390 --> 00:49:49,280 Beraz, ez dut hori kendu egingo da. 973 00:49:49,280 --> 00:49:59,110 Sorgailu bat sortzeko noa -bere funtsean, zer honek hau benetan 974 00:49:59,110 --> 00:50:04,220 sintaxia korapilatsu baten antzeko zerbait baina da unean ohar sortzen joan, 975 00:50:04,220 --> 00:50:06,601 eta bakarrik hasi jolasten haiek ebaluatzen da. 976 00:50:06,601 --> 00:50:07,392 [INTERPOSING PIANO] 977 00:50:07,392 --> 00:50:10,990 978 00:50:10,990 --> 00:50:12,817 >> Beraz, ezin dugu egin musika apur bat hemen. 979 00:50:12,817 --> 00:50:13,608 [INTERPOSING PIANO] 980 00:50:13,608 --> 00:50:39,570 981 00:50:39,570 --> 00:50:41,470 >> Beraz, zer komando hau du, adibidez, ez da 982 00:50:41,470 --> 00:50:46,910 hiru ohar horiek hartzen du piano eta gero jartzen B3 gunean. 983 00:50:46,910 --> 00:50:48,660 Sintaxia hau egin liteke a little more zentzu 984 00:50:48,660 --> 00:50:50,590 dutenek bati musika hondo hemen. 985 00:50:50,590 --> 00:50:55,180 986 00:50:55,180 --> 00:50:56,551 >> Falta danbor bat gehitu ahal izango dut. 987 00:50:56,551 --> 00:50:57,050 I can-- 988 00:50:57,050 --> 00:50:58,048 >> [INTERPOSING INSTRUMENTUAK] 989 00:50:58,048 --> 00:50:59,256 >> --just play inguruan horrekin. 990 00:50:59,256 --> 00:51:12,519 991 00:51:12,519 --> 00:51:13,474 >> Beraz make-- ditzakezu 992 00:51:13,474 --> 00:51:14,515 [INTERPOSING INSTRUMENTUAK] 993 00:51:14,515 --> 00:51:15,513 Bat hori da apur bat gehiago gogaikarriak. 994 00:51:15,513 --> 00:51:16,554 [INTERPOSING INSTRUMENTUAK] 995 00:51:16,554 --> 00:51:26,491 996 00:51:26,491 --> 00:51:30,981 >> Beraz, hori ausaz cymbal lehor bat gehitzen 16an ohar guztietan,% 16 batekin 997 00:51:30,981 --> 00:51:31,481 [INAUDIBLE]. 998 00:51:31,481 --> 00:51:32,522 >> [INTERPOSING INSTRUMENTUAK] 999 00:51:32,522 --> 00:51:40,962 1000 00:51:40,962 --> 00:51:50,400 >> Bai, beraz, modu honetan works-- da beti 4: 4. 1001 00:51:50,400 --> 00:51:51,441 [INTERPOSING INSTRUMENTUAK] 1002 00:51:51,441 --> 00:52:06,910 1003 00:52:06,910 --> 00:52:10,902 >> Bai, beraz, lau hiruhilekoetan, eta 16/8. 1004 00:52:10,902 --> 00:52:14,851 1005 00:52:14,851 --> 00:52:15,892 [INTERPOSING INSTRUMENTUAK] 1006 00:52:15,892 --> 00:52:27,970 1007 00:52:27,970 --> 00:52:33,780 >> Beraz, batez beste,% 60 lortuko duzu ren 16an ohar hits. 1008 00:52:33,780 --> 00:52:35,990 >> Anyways, hau besterik ez zen motatako off erakusteko 1009 00:52:35,990 --> 00:52:39,780 gauzak Could batzuk the Web Audio API batera eraikitzeko. 1010 00:52:39,780 --> 00:52:43,840 Benetan indartsua da, benetan azkarra da, eta cool gauza asko egin dezakezu 1011 00:52:43,840 --> 00:52:44,340 berarekin. 1012 00:52:44,340 --> 00:52:51,260 Beraz, berriro ere, edozein galdera, email myself-- Hugh-- edo Sam, 1013 00:52:51,260 --> 00:52:55,869 eta zintzotasunez, Google ditu baliabide ona tona bat. 1014 00:52:55,869 --> 00:52:56,660 Edozein azken galdera? 1015 00:52:56,660 --> 00:52:57,970 Bai. 1016 00:52:57,970 --> 00:53:00,790 >> IKUSLEEN: dezakezu sarbidea du mikrofonoa. 1017 00:53:00,790 --> 00:53:03,089 Zer nahi izanez gero erabili mikrofono hobea? 1018 00:53:03,089 --> 00:53:05,380 HUGH Zabriskie: nahi baduzu Mikrofono hobeto erabili ahal izateko? 1019 00:53:05,380 --> 00:53:11,320 Beraz, berriro ere, hau parte da Chrome arteko abstrakzioa 1020 00:53:11,320 --> 00:53:12,950 eta zure ordenagailuaren gainerako. 1021 00:53:12,950 --> 00:53:18,950 Bitartez eskuragarri ezean API bat, Web MIDI API bezala, 1022 00:53:18,950 --> 00:53:22,030 Ziurrenik ezin duzu hack batzuk aurkitu, baina, oro har, ez baita bideragarria. 1023 00:53:22,030 --> 00:53:25,300 >> SAM GREEN: also-- dezakezu Chrome daki guztiak 1024 00:53:25,300 --> 00:53:28,820 zer da zure mikrofonoa lehenetsia da, eta sartzen da. 1025 00:53:28,820 --> 00:53:33,410 Beraz, mikrofono bat izan baduzu, ezin duzu ordenagailuaren lehenetsia mikrofono gisa ezartzeko, 1026 00:53:33,410 --> 00:53:35,990 Bera eskuratzeko ezin duzu horrela pentsatzen eta ziurrenik lan litzateke. 1027 00:53:35,990 --> 00:53:37,490 HUGH Zabriskie: That puntu ona da. 1028 00:53:37,490 --> 00:53:39,656 Ez naiz inoiz saiatu dela, baina nolako gauza egin ditzakezu 1029 00:53:39,656 --> 00:53:45,700 of-- sarrerako hiztunaren redirect baduzu, hori egin ahal izatea, bai. 1030 00:53:45,700 --> 00:53:48,360 >> Edozein azken galdera? 1031 00:53:48,360 --> 00:53:49,340 Cool. 1032 00:53:49,340 --> 00:53:51,680 Beno, eskerrik asko guys beraz, behaketa askoz. 1033 00:53:51,680 --> 00:53:52,199 Hugh naiz. 1034 00:53:52,199 --> 00:53:52,990 SAM GREEN: naiz Sam. 1035 00:53:52,990 --> 00:53:55,410 HUGH Zabriskie: Eta hau CS50 da. 1036 00:53:55,410 --> 00:53:56,767