1 00:00:00,000 --> 00:00:05,900 2 00:00:05,900 --> 00:00:07,170 >> SAM GREEN: Hi, bawb. 3 00:00:07,170 --> 00:00:08,640 Croeso i'n seminar. 4 00:00:08,640 --> 00:00:10,009 Fy enw i yw Sam. 5 00:00:10,009 --> 00:00:11,050 HUGH Zabriskie: Rwy'n Hugh. 6 00:00:11,050 --> 00:00:17,420 SAM GWYRDD: Ac rydym yn mynd i siarad heddiw am JavaScript a'r API We Sain. 7 00:00:17,420 --> 00:00:21,180 Dim ond i ddechrau, mae hyn yn amlinelliad o'n hagenda ar gyfer y seminar. 8 00:00:21,180 --> 00:00:25,350 Rydym yn mynd i ddechrau drwy siarad am pam y dylech chi fod â diddordeb yn y We 9 00:00:25,350 --> 00:00:30,130 API sain, pam mae JavaScript yr iaith yr ydych ei angen ar ei gyfer, 10 00:00:30,130 --> 00:00:32,619 ac yna siarad am JavaScript essentials-- felly fel, 11 00:00:32,619 --> 00:00:34,800 chi gerdded drwy rai hanfodion yr iaith, 12 00:00:34,800 --> 00:00:37,290 ac yna siarad am y API sain ar lefel uchel. 13 00:00:37,290 --> 00:00:41,140 Yna, bydd Hugh sôn am rai o'r cam o'r broses gynhyrchu sain 14 00:00:41,140 --> 00:00:45,509 ac yna demo hwn dilyniannwr anhygoel prosiect adeiladodd ac yn dangos i chi y cod. 15 00:00:45,509 --> 00:00:48,050 Ac yna, bydd gennym amser ar gyfer cwestiynau ar y diwedd i bobl 16 00:00:48,050 --> 00:00:49,593 sydd yma yn byw. 17 00:00:49,593 --> 00:00:50,540 >> HUGH Zabriskie: Cool. 18 00:00:50,540 --> 00:00:50,990 >> SAM GWYRDD: Cool. 19 00:00:50,990 --> 00:00:51,383 >> HUGH Zabriskie: Cool. 20 00:00:51,383 --> 00:00:52,170 Byddaf yn ôl i fyny. 21 00:00:52,170 --> 00:00:54,960 >> SAM GREEN: Felly, pethau cyntaf yn gyntaf. 22 00:00:54,960 --> 00:00:57,840 Felly, un o'r pethau gwych am y We API Sain 23 00:00:57,840 --> 00:01:00,480 yw nad oes unrhyw set i fyny ei angen. 24 00:01:00,480 --> 00:01:04,230 Mae'n dod adeiledig mewn i rhan fwyaf o borwyr modern, 25 00:01:04,230 --> 00:01:08,630 gan gynnwys Chrome, Edge, yn ei gyfanrwydd criw o others-- y holl rai 26 00:01:08,630 --> 00:01:12,650 dogn hynny fawr o bobl yn defnyddio heddiw. 27 00:01:12,650 --> 00:01:14,807 Felly nid oes ei sefydlu, ar wahân i jyst mynd yn 28 00:01:14,807 --> 00:01:16,890 weinydd y we yn mynd, am chi i ddechrau arni yn gweithio 29 00:01:16,890 --> 00:01:18,420 ar eich prosiect, sy'n wych. 30 00:01:18,420 --> 00:01:21,500 31 00:01:21,500 --> 00:01:24,190 >> Rydym yn argymell 'n bert drwm eich bod yn ystyried 32 00:01:24,190 --> 00:01:26,530 gan ddefnyddio Chrome ar gyfer Datblygu gwefan JavaScript, 33 00:01:26,530 --> 00:01:30,260 dim ond oherwydd ei datblygwr offer yn wirioneddol gryf. 34 00:01:30,260 --> 00:01:33,220 Fel enghraifft o union beth ydym yn ei olygu drwy ddweud agor eich JavaScript 35 00:01:33,220 --> 00:01:38,600 console-- os byddwch yn mynd i mewn i Chrome ac edrychwch ar unrhyw dudalen ar y we, 36 00:01:38,600 --> 00:01:43,897 ac rydych yn gadael cliciwch Archwiliwch Elfen, ac yna 37 00:01:43,897 --> 00:01:46,730 byddwch yn mynd i'r hyn ychydig galw-i-lawr i'r dde yma ac rydych yn clicio ar Chysura, 38 00:01:46,730 --> 00:01:50,660 byddwch yn gweld yr hyn yn agor i fyny yn edrych yn lot fel gorchymyn 'n barod eich bod 39 00:01:50,660 --> 00:01:53,720 Efallai y gwelwch ar eich Mac, neu ar y adnabod. 40 00:01:53,720 --> 00:01:59,260 Ac yn union fel 'na, allwn math gorchmynion yma, fel Clear, 41 00:01:59,260 --> 00:02:01,350 a gorchmynion eraill fel 'na. 42 00:02:01,350 --> 00:02:04,267 Gallwn greu newidynnau, fel y byddwn yn gweld yn nes ymlaen yn JavaScript. 43 00:02:04,267 --> 00:02:07,100 Ac felly unrhyw beth y gallwn ei wneud yn JavaScript, gallwn wneud gyda'r consol, 44 00:02:07,100 --> 00:02:11,430 ac mae hynny'n ffordd super 'n hylaw i ddechrau chwarae o gwmpas gyda APIs 45 00:02:11,430 --> 00:02:15,760 a chael gyfforddus gyda JavaScript dde oddi ar y ystlumod. 46 00:02:15,760 --> 00:02:18,290 Nid oes set i fyny ei angen, sydd yn neis iawn. 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 >> Felly, dim ond un peth arall i'w ychwanegu. 51 00:02:24,780 --> 00:02:27,780 Os oes gennych unrhyw questions-- mae llawer ohonoch nad ydynt yma yn byw, 52 00:02:27,780 --> 00:02:31,232 mae croeso i chi anfon e-bost us-- hyn yw ein cyfeiriadau e-bost. 53 00:02:31,232 --> 00:02:33,190 Os oes gennych gwestiynau nad ydych am i ofyn i ni, 54 00:02:33,190 --> 00:02:36,160 fel, oh gen i nam yn fy cod, neu rywbeth 55 00:02:36,160 --> 00:02:39,270 dyna ychydig yn fwy penodol, efallai Google yn gyntaf. 56 00:02:39,270 --> 00:02:42,340 Mae llawer o adnoddau gwych am y We Sain API i maes 'na. 57 00:02:42,340 --> 00:02:44,089 Mae'n wirioneddol dda dogfennu ac mae'n cael ei 58 00:02:44,089 --> 00:02:47,194 a ddefnyddir gan tunnell o bobl yn diwydiant, a phobl sy'n unig 59 00:02:47,194 --> 00:02:48,610 adeiladu pethau hwyliog ar gyfer eu hunain. 60 00:02:48,610 --> 00:02:51,306 Felly dylai fod yn llawer o adnoddau i maes 'na. 61 00:02:51,306 --> 00:02:53,040 Awesome. 62 00:02:53,040 --> 00:02:56,100 >> Cool, felly pam y We API Audio? 63 00:02:56,100 --> 00:02:59,840 Mae'r diagram hwn yn ychydig o esblygiad y ffordd 64 00:02:59,840 --> 00:03:04,100 gadarn ar y we wedi tyfu dros gyfnod o amser. 65 00:03:04,100 --> 00:03:13,080 Roedd Bgsound fel y tag HTML gwreiddiol a oedd yn arfer Internet Explorer i gefnogi. 66 00:03:13,080 --> 00:03:16,790 Dim ond yn caniatáu i seiniau 'n bert sylfaenol, nid oedd y functionality yn gadarn iawn, 67 00:03:16,790 --> 00:03:19,380 ac ni allai chi ei wneud dilyniannu cymhleth, 68 00:03:19,380 --> 00:03:21,890 neu reoli pan ddechreuodd gadarn a rhoi'r gorau gadarn iawn. 69 00:03:21,890 --> 00:03:23,930 Felly, nid oedd yn arbennig o datblygu'n dda. 70 00:03:23,930 --> 00:03:27,470 Yna ar ôl hynny, Flash Daeth along-- sydd, 71 00:03:27,470 --> 00:03:31,712 Rwy'n siŵr eich bod guys i gyd yn gyfarwydd gyda Flash-- efallai nad sut mae'n gweithio, 72 00:03:31,712 --> 00:03:32,920 ond yn sicr eich bod wedi ei weld. 73 00:03:32,920 --> 00:03:35,586 Mae'n rhaid i chi ddiweddaru eich Flash Plug-in, pob math hwnnw o bethau, 74 00:03:35,586 --> 00:03:40,110 ac mae hynny'n sicr yn ymestyn yr ystod o swyddogaethau a oedd ar gael. 75 00:03:40,110 --> 00:03:45,370 Ond gan wneud y defnyddiwr osod plug-in yn bendant 76 00:03:45,370 --> 00:03:48,480 yn anfantais i gynnwys Flash yn eich cais, dde? 77 00:03:48,480 --> 00:03:52,410 Gan fod yna rydych chi'n ddibynnol ar y defnyddiwr yn mynd a dod o hyd plug-in hon, 78 00:03:52,410 --> 00:03:54,660 ac yn ôl pob tebyg yn cael eu troi i ffwrdd gan y cam ychwanegol 79 00:03:54,660 --> 00:03:56,640 mae'n rhaid iddynt gymryd i ddefnyddio eich app. 80 00:03:56,640 --> 00:04:01,270 Ac yna gallai fod diweddariad bydd hynny'n torri eich cais cyfan, 81 00:04:01,270 --> 00:04:03,880 ac mae'n dod i ben i fyny fod yn hunllef i'r datblygwr, hefyd. 82 00:04:03,880 --> 00:04:06,230 Felly yr oedd yn barricade. 83 00:04:06,230 --> 00:04:10,480 >> Ac yna ar ôl a ddaeth ynghyd, y tag HTML sain, a oedd yn 84 00:04:10,480 --> 00:04:16,579 yn nodwedd o fwy HTML-- modern sy'n yn sicr yn caniatáu i lawer mwy o bethau, 85 00:04:16,579 --> 00:04:20,050 ond hyd yn oed y pethau y gallech eu gwneud nid oedd ychydig bach cyfyngedig yn unig 86 00:04:20,050 --> 00:04:22,730 o ganlyniad i'r pethau bod HTML yn gallu. 87 00:04:22,730 --> 00:04:26,060 Felly, pan fydd yr JavaScript API, y We API Sain, 88 00:04:26,060 --> 00:04:29,290 Daeth safon ymarfer ar draws porwyr, 89 00:04:29,290 --> 00:04:32,490 sydd wir yn ehangu y set o gyfleoedd i ddatblygwyr 90 00:04:32,490 --> 00:04:36,590 i wir yn mynd i mewn i'r adeilad pethau oeri am y we. 91 00:04:36,590 --> 00:04:39,220 Am gyfnod hir bu bod offer yn wirioneddol gadarn 92 00:04:39,220 --> 00:04:44,360 ar gyfer ceisiadau sain brodorol, like-- pawb yn gwybod GarageBand, 93 00:04:44,360 --> 00:04:48,360 ac yna yn amlwg mae mwy ceisiadau sain cymysgu proffesiynol, 94 00:04:48,360 --> 00:04:49,640 a bod y math o bethau. 95 00:04:49,640 --> 00:04:52,690 Ond nid oedd Cloud-- da iawn nid 96 00:04:52,690 --> 00:04:55,811 Cloud, ie, yr wyf yn dyfalu Llwyfan ar y we Cloud-- 97 00:04:55,811 --> 00:04:58,310 a fyddai'n caniatáu i ddatblygwyr adeiladu ceisiadau ar gyfer pobl 98 00:04:58,310 --> 00:05:00,570 i wneud cymysgu sain. 99 00:05:00,570 --> 00:05:03,960 Ac fel y bydd yn dangos i chi yn ddiweddarach, y We API Sain 100 00:05:03,960 --> 00:05:07,470 caniatáu ar gyfer 'n sylweddol pwerus pethau i ddigwydd mewn gwirionedd yn syml, 101 00:05:07,470 --> 00:05:09,597 sydd yn eithaf oer. 102 00:05:09,597 --> 00:05:12,680 Felly dyna y cyfarwyddyd i pam eich Dylai wylio gweddill y seminar, 103 00:05:12,680 --> 00:05:14,350 yn y bôn. 104 00:05:14,350 --> 00:05:17,880 >> Ac yn awr, yr wyf i'n mynd i siarad am rhai JavaScript-- elfennau sylfaenol yn unig 105 00:05:17,880 --> 00:05:20,240 yr iaith, fel bod gallwn fod ar yr un dudalen 106 00:05:20,240 --> 00:05:22,470 pan fyddwn yn sôn am y API ychydig yn ddiweddarach. 107 00:05:22,470 --> 00:05:23,260 Cool. 108 00:05:23,260 --> 00:05:26,192 >> Felly, mae hyn yn grynodeb. 109 00:05:26,192 --> 00:05:27,150 Wedi anghofio hyn yn fan hyn. 110 00:05:27,150 --> 00:05:27,510 Yeah. 111 00:05:27,510 --> 00:05:27,870 >> HUGH Zabriskie: Mae dwy sleid yma. 112 00:05:27,870 --> 00:05:30,245 >> SAM GWYRDD: yw hwn y crynodeb o rai o'r cyfyngiadau 113 00:05:30,245 --> 00:05:35,220 o'r hen ddulliau rhwymo eraill,. 114 00:05:35,220 --> 00:05:37,828 Ac yna yn awr, mae gennym y pethau hyn. 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 >> Felly, hanfodion JavaScript. 118 00:05:43,200 --> 00:05:47,230 Pethau cyntaf yn gyntaf, mae 'na gwahaniaeth eithaf sylweddol 119 00:05:47,230 --> 00:05:49,940 yn JavaScript erbyn mewn iaith fel C, yn y ffordd 120 00:05:49,940 --> 00:05:52,050 bod newidynnau yn cael eu creu. 121 00:05:52,050 --> 00:05:55,634 Felly, yn C, rydym yn arfer cael teipio ein newidynnau, dde? 122 00:05:55,634 --> 00:05:57,800 Ac nid wyf yn golygu y math tebyg teipio nhw i mewn, yr wyf yn golygu math 123 00:05:57,800 --> 00:06:01,900 fel aseinio ystyr type-- iddynt fel, yn int, fflôt, mae torgoch. 124 00:06:01,900 --> 00:06:05,210 Yn C, rydym yn cael eu defnyddio mewn gwirionedd i gorfod greu newidyn 125 00:06:05,210 --> 00:06:09,690 ac yna cadw at y math hwnnw ar gyfer y amser cyfan ein bod yn defnyddio y newidyn. 126 00:06:09,690 --> 00:06:13,990 Ac nid yw hynny o reidrwydd yn waeth, ond mae'n debyg anoddach i'w defnyddio. 127 00:06:13,990 --> 00:06:16,190 Un o nodweddion oer o JavaScript yw 128 00:06:16,190 --> 00:06:19,740 bod newidynnau yn yr hyn a elwir "Teipio yn ddeinamig," sy'n 129 00:06:19,740 --> 00:06:22,500 yn golygu fy mod yn gallu creu amrywiol gyda'r cystrawen, 130 00:06:22,500 --> 00:06:25,800 varX hafal 5, er enghraifft. 131 00:06:25,800 --> 00:06:27,790 Mae hynny'n creu yn wreiddiol yn gyfanrif variable-- 132 00:06:27,790 --> 00:06:29,870 i'r dde o dan y cwfl somewhere-- ond yr wyf yn 133 00:06:29,870 --> 00:06:33,040 yn gallu newid y newidyn i gyfeirio at llinyn 134 00:06:33,040 --> 00:06:35,820 heb wneud unrhyw beth fel gan greu newidyn newydd. 135 00:06:35,820 --> 00:06:37,880 Nid oes angen i mi boeni am y math newidiol. 136 00:06:37,880 --> 00:06:45,440 JavaScript yn gwybod bod y math o newid, ac mae hynny'n digwydd yn ddeinamig. 137 00:06:45,440 --> 00:06:48,510 >> Felly, mae manteision ac anfanteision i hynny, 138 00:06:48,510 --> 00:06:51,250 ag unrhyw un sydd wedi gweithio yn Gallai JavaScript am gyfnod gwybod. 139 00:06:51,250 --> 00:06:53,600 Mae yna adegau pan efallai y byddwch yn ddamweiniol 140 00:06:53,600 --> 00:06:57,720 newid y math o newidyn a Nid yw trin y math hwnnw sy'n newid, 141 00:06:57,720 --> 00:07:01,120 ac yna eich JavaScript Gall crash-- neu eithriad 142 00:07:01,120 --> 00:07:06,070 eu taflu, oherwydd bydd gennych y math anghywir pryd y disgwyliwch un math. 143 00:07:06,070 --> 00:07:07,040 Cool. 144 00:07:07,040 --> 00:07:11,470 >> Felly, scoping-- sydd fel, os ydym cofio'r wythnosau cynnar yn y cwrs, 145 00:07:11,470 --> 00:07:15,420 cyfeirio at ba mor weladwy newidyn yw ac ym mha ardal o'r cod. 146 00:07:15,420 --> 00:07:18,400 Mae hynny i gyd yn edrych yn debyg iawn i'r ffordd y mae'n edrych yn C. 147 00:07:18,400 --> 00:07:24,755 Felly newidynnau yn cael eu cwmpasu yn gyffredinol o fewn braces cyrliog fewn swyddogaeth, 148 00:07:24,755 --> 00:07:27,005 ac yna mae yna hefyd newidynnau yn fyd-eang-cwmpasu sy'n 149 00:07:27,005 --> 00:07:29,171 yw-- os byddwch yn ysgrifennu newidyn y tu allan i swyddogaeth, 150 00:07:29,171 --> 00:07:31,790 bydd yn weladwy yn y testun cyfan. 151 00:07:31,790 --> 00:07:35,840 >> Un gwahaniaeth rhwng JavaScript a C yn benodol, 152 00:07:35,840 --> 00:07:40,280 yw os byddwch yn datgan byd-eang yn unrhyw le amrywiol mewn ffeil testun 153 00:07:40,280 --> 00:07:43,324 mae'n weladwy mewn unrhyw swyddogaeth o fewn y ffeil testun. 154 00:07:43,324 --> 00:07:44,240 Mae hynny'n gywir, dde? 155 00:07:44,240 --> 00:07:46,330 >> HUGH Zabriskie: Yep. 156 00:07:46,330 --> 00:07:49,120 >> SAM GWYRDD: Felly dyna hefyd ychydig bit ffynci o'i gymharu â C, 157 00:07:49,120 --> 00:07:52,660 lle yr ydym bob amser wedi cael ein diffiniadau amrywiol uwchben y lleoedd 158 00:07:52,660 --> 00:07:53,770 cawsant eu defnyddio. 159 00:07:53,770 --> 00:07:57,957 Nid yw hyn yn rheol sy'n ei orfodi anymore, felly, ychydig yn wahanol. 160 00:07:57,957 --> 00:08:00,540 Ac eto dim ond i reemphasize, byd-eang yn erbyn variables-- lleol 161 00:08:00,540 --> 00:08:03,457 debyg iawn i C. Gallech gael dau newidyn gyda'r un enw, 162 00:08:03,457 --> 00:08:06,540 ac mae ganddynt un o'u henwau yn cael eu cysgodi gan newidyn lleol os yw un ohonynt 163 00:08:06,540 --> 00:08:07,546 Roedd byd-eang. 164 00:08:07,546 --> 00:08:09,420 Math Felly, yn debyg o problemau y rhai ohonoch 165 00:08:09,420 --> 00:08:11,920 Efallai fod wedi rhedeg i mewn i mewn rhai eich problem yn gosod hyd yn hyn. 166 00:08:11,920 --> 00:08:14,450 Cool, felly dyna newidynnau. 167 00:08:14,450 --> 00:08:20,310 >> Llif Rheoli, sy'n golygu fel, os-else-- stuff-- a dolenni rhesymegol. 168 00:08:20,310 --> 00:08:24,510 Felly, i ddechrau, mae hyn yn beth os-arall datganiadau yn edrych yn JavaScript. 169 00:08:24,510 --> 00:08:29,750 Mae'r lleoliad yr amrywiol bethau ar y llinellau nid yn bwysig. 170 00:08:29,750 --> 00:08:34,409 Mae hyn yn un yn unig o'r confensiynau am y ffordd yr ydym yn strwythur y cod. 171 00:08:34,409 --> 00:08:38,634 Yn union fel yn C, mae gennym Datganiad cromfachau "os,". 172 00:08:38,634 --> 00:08:40,840 173 00:08:40,840 --> 00:08:42,090 Nid Dyna beth yr wyf yn fod i'w wneud. 174 00:08:42,090 --> 00:08:44,860 175 00:08:44,860 --> 00:08:45,550 Gwnawn 'eto. 176 00:08:45,550 --> 00:08:46,841 >> HUGH Zabriskie: Ceisio ymadael? 177 00:08:46,841 --> 00:08:49,770 SAM GREEN: Na, rwy'n dim ond ceisio chwyddo i mewn. 178 00:08:49,770 --> 00:08:50,660 Nid yw o bwys. 179 00:08:50,660 --> 00:08:54,730 180 00:08:54,730 --> 00:08:59,370 >> Felly, mae gennym "os" datganiad a mae gennym gyflwr tu mewn iddo 181 00:08:59,370 --> 00:09:03,130 sy'n gwerthuso i wir neu'n anwir, ac sy'n penderfynu a yw 182 00:09:03,130 --> 00:09:04,510 i ni gychwyn y bloc o god. 183 00:09:04,510 --> 00:09:09,860 Ac yn yr un modd, mae gennym arall-os, ac mae arall, yn union fel rydym yn ei defnyddio i mewn C. 184 00:09:09,860 --> 00:09:14,010 >> Dylech hefyd fod yn eithaf cyfforddus dde oddi ar y ystlumod gyda dolenni, 185 00:09:14,010 --> 00:09:16,440 oherwydd eu bod hefyd yn edrych llawer yn hoffi C yn edrych. 186 00:09:16,440 --> 00:09:19,600 Ond byddwch yn sylwi eto ein bod yn cael, yn lle int initializations, 187 00:09:19,600 --> 00:09:22,570 mae gennym initializations var. 188 00:09:22,570 --> 00:09:24,650 Ac yr wyf yn dyfalu bod gennych i fod yn ofalus i wneud 189 00:09:24,650 --> 00:09:28,460 siwr nad ydych yn newid y gwerth o I o int i'r llinyn, 190 00:09:28,460 --> 00:09:31,780 er enghraifft, oherwydd mae hynny'n mynd i achosi ymddygiad rhyfedd nad ydych efallai 191 00:09:31,780 --> 00:09:32,280 ei ddisgwyl. 192 00:09:32,280 --> 00:09:35,750 Ond dylai hyn edrych 'n bert cyfarwydd, yn ogystal. 193 00:09:35,750 --> 00:09:39,460 >> Felly dyma lle pethau'n dechrau cael ychydig yn wallgof yn JavaScript 194 00:09:39,460 --> 00:09:44,920 i rywun sy'n mynd o cefndir o C. Mae swyddogaethau 195 00:09:44,920 --> 00:09:48,070 yn JavaScript, a does un ffordd i ddatgan swyddogaeth sy'n edrych 196 00:09:48,070 --> 00:09:50,361 fath o debyg i C, a yna mae un arall sy'n 197 00:09:50,361 --> 00:09:52,450 yn edrych yn fath o yn wahanol. 198 00:09:52,450 --> 00:09:54,930 >> Mae'r fersiwn cyntaf, y gallwn weld yma, 199 00:09:54,930 --> 00:09:59,260 yn fath o C-fel, lle ydym yn ei ddweud, mae hyn yn un o swyddogaethau, 200 00:09:59,260 --> 00:10:01,490 rhoi enw, rhowch mae nifer o ddadleuon, 201 00:10:01,490 --> 00:10:05,150 ac yna cynnwys y swyddogaeth fynd y tu mewn bresys cyrliog hynny. 202 00:10:05,150 --> 00:10:08,850 Byddwn yn gweld enghraifft o dadleuon mewn dim ond eiliad. 203 00:10:08,850 --> 00:10:13,420 >> Tra ar y llinell nesaf, rydym yn gweld, o, dyma newidyn enw "myFunction," 204 00:10:13,420 --> 00:10:17,546 ac yr ydym yn gyfartal i'r hyn function-- thing-- generig sy'n 205 00:10:17,546 --> 00:10:19,170 nid yw'n ymddangos i gael unrhyw beth yn digwydd. 206 00:10:19,170 --> 00:10:22,780 207 00:10:22,780 --> 00:10:26,080 Y rheswm mae hynny'n wahanol na C yw bod Javascript 208 00:10:26,080 --> 00:10:30,040 yn hyn a elwir yn iaith swyddogaethol, neu os oes ganddo elfennau swyddogaethol, sy'n golygu 209 00:10:30,040 --> 00:10:33,510 bod swyddogaethau'n gwerthoedd mewn gwirionedd. 210 00:10:33,510 --> 00:10:39,520 Ac mae hynny'n golygu y gallwn osod newidyn i cyfartal swyddogaeth 211 00:10:39,520 --> 00:10:43,210 ac yna symud y swyddogaeth honno o gwmpas, ei drosglwyddo fel dadl, 212 00:10:43,210 --> 00:10:46,550 wneud pob math o bethau fel 'na gyda swyddogaethau. 213 00:10:46,550 --> 00:10:49,682 >> Un peth arall i note-- swyddogaethau yn cael eu hysgrifennu 214 00:10:49,682 --> 00:10:51,140 gyda nifer penodol o ddadleuon. 215 00:10:51,140 --> 00:10:54,056 Byddwn yn gweld enghraifft o swyddogaeth gyda dadl ar y sleid nesaf. 216 00:10:54,056 --> 00:10:56,720 Ond ni fydd JavaScript gweiddi ar chi os ydych yn ceisio 217 00:10:56,720 --> 00:10:59,330 i ddefnyddio swyddogaeth gyda'r Nifer anghywir o ddadleuon. 218 00:10:59,330 --> 00:11:05,310 Fe 'i jyst yn gwneud ei orau i wneud gwneud, sy'n golygu os byddwch yn pasio, 219 00:11:05,310 --> 00:11:09,410 byddwch yn ffonio swyddogaeth sy'n disgwyl i ddadl heb unrhyw ddadl, y cyfan y 220 00:11:09,410 --> 00:11:13,990 a fydd yn digwydd yw y bydd yn gwneud ei orau i geisio gweithredu y cod, 221 00:11:13,990 --> 00:11:16,541 ac os bydd yn y pen draw yn rhedeg i mewn i eithriad neu gamgymeriad, 222 00:11:16,541 --> 00:11:19,790 bydd yn taflu bod eithriad a dim ond cadw going-- sydd yn un o'r ffyrdd 223 00:11:19,790 --> 00:11:21,070 bod JavaScript yn gweithio. 224 00:11:21,070 --> 00:11:21,781 Yeah. 225 00:11:21,781 --> 00:11:24,207 >> GYNULLEIDFA: Beth sy'n digwydd os mae gormod o ddadleuon? 226 00:11:24,207 --> 00:11:26,040 SAM GWYRDD: Felly y cwestiwn oedd, beth sy'n digwydd 227 00:11:26,040 --> 00:11:27,380 os mae gormod o ddadleuon? 228 00:11:27,380 --> 00:11:29,171 A'r ateb yw bod Bydd JavaScript unig 229 00:11:29,171 --> 00:11:32,120 anwybyddwch y rhai sy'n cael eu ar ôl y rhai mae'n eu disgwyl. 230 00:11:32,120 --> 00:11:36,420 Bydd yn ceisio gyflawni'r swyddogaeth alw fel pe ei fod yn unig y ddau gyntaf. 231 00:11:36,420 --> 00:11:37,075 Iawn? 232 00:11:37,075 --> 00:11:37,700 >> HUGH Zabriskie: Mae hynny'n iawn, yeah. 233 00:11:37,700 --> 00:11:39,449 Yn yr un modd, os oes oes digon o ddadleuon, 234 00:11:39,449 --> 00:11:42,640 'i jyst fath o yn rhoi null i'r holl dadleuon nid oes ganddo unrhyw werthoedd 235 00:11:42,640 --> 00:11:43,660 am. 236 00:11:43,660 --> 00:11:45,810 >> SAM GWYRDD: Pa all mewn gwirionedd fod yn ddefnyddiol, os ydych yn 237 00:11:45,810 --> 00:11:49,060 am ysgrifennu swyddogaeth sy'n yn cymryd dadleuon nifer amrywiol. 238 00:11:49,060 --> 00:11:55,830 Gallwch osod gwerthoedd diofyn yn y diffiniad o swyddogaeth, 239 00:11:55,830 --> 00:11:59,060 a gall anwybyddu'r ffaith nad oedd y mewnbwn yno. 240 00:11:59,060 --> 00:12:01,584 241 00:12:01,584 --> 00:12:04,000 Felly, yr wyf am siarad ychydig bach mwy am hyn bwled olaf 242 00:12:04,000 --> 00:12:05,541 bwynt, sef swyddogaethau yn werthoedd. 243 00:12:05,541 --> 00:12:07,930 244 00:12:07,930 --> 00:12:11,010 Mae hyn yn enghraifft sy'n ychydig bach meddwl chwiban 245 00:12:11,010 --> 00:12:14,880 os ydych yn unig yn ei ddarllen, ac nid ydynt yn meddwl am yr hyn sy'n mynd ymlaen am eiliad. 246 00:12:14,880 --> 00:12:17,910 Felly, gadewch i ni edrych yn unig ar y llinell gyntaf yma. 247 00:12:17,910 --> 00:12:24,360 Rydym wedi newidyn hwn, f1, ein bod yn ei ddweud yn swyddogaeth sy'n gwneud y peth hyn. 248 00:12:24,360 --> 00:12:28,535 A chynnwys y swyddogaeth yn console.log ('helo'). 249 00:12:28,535 --> 00:12:32,220 Gallwch chi feddwl am console.log fel y JavaScript cyfateb i printf. 250 00:12:32,220 --> 00:12:35,510 Felly, beth fydd yn digwydd yw, os ydym rhedeg y cod hwn yn ein porwr, 251 00:12:35,510 --> 00:12:37,530 bydd yn argraffu llinyn. 252 00:12:37,530 --> 00:12:39,342 Gallaf ddangos fod. 253 00:12:39,342 --> 00:12:42,300 GYNULLEIDFA: Drwy log, fodd bynnag, yn gwneud hynny yn golygu ei fod yn cael ei gofnodi yn rhywle? 254 00:12:42,300 --> 00:12:42,550 SAM GWYRDD: Yeah. 255 00:12:42,550 --> 00:12:44,216 Felly, byddaf yn dangos i chi beth sy'n mynd i ddigwydd. 256 00:12:44,216 --> 00:12:48,085 Felly, y cwestiwn oedd, beth mae log yn ei olygu? 257 00:12:48,085 --> 00:12:51,262 >> HUGH Zabriskie: Felly console.log Mae fel printf i C. 258 00:12:51,262 --> 00:12:52,970 SAM GWYRDD: Felly console.log Mae fel printf, 259 00:12:52,970 --> 00:12:59,240 felly os oes gen i console.log hwn ('helo'), a galwaf bod, y llinyn "helo" 260 00:12:59,240 --> 00:13:00,730 yn cael ei hargraffu allan at y consol. 261 00:13:00,730 --> 00:13:03,340 Mae hyn yn y consol. 262 00:13:03,340 --> 00:13:05,930 Mae'n union fel printf, lle mae'n argraffu i allan safonol. 263 00:13:05,930 --> 00:13:09,050 264 00:13:09,050 --> 00:13:11,230 A byddwn yn gweld mewn munud, ond mae hyn yn mewn gwirionedd 265 00:13:11,230 --> 00:13:16,529 gan gyfeirio at y gwrthrych consol, ac yn galw dull ar y gwrthrych. 266 00:13:16,529 --> 00:13:18,320 Bydd hynny'n gwneud mwy o synnwyr mewn munud pan fyddwn 267 00:13:18,320 --> 00:13:20,660 cyrraedd siarad am gwrthrychau yn JavaScript, 268 00:13:20,660 --> 00:13:22,509 ond yr wyf yn meddwl y byddwn i'n jyst yn sôn am hynny. 269 00:13:22,509 --> 00:13:24,300 HUGH Zabriskie: Rydym yn arfer yn C, right-- 270 00:13:24,300 --> 00:13:27,580 Fel arfer, byddwn yn ysgrifennu rhaglen fawr yn y prif i wneud unrhyw beth. 271 00:13:27,580 --> 00:13:30,700 Ond yr hyn sy'n oer yn JavaScript yw eich cael y math hwn o cyfieithydd y 272 00:13:30,700 --> 00:13:33,620 yn rhedeg mewn amser real, felly mae'n cymryd ychydig fesul llinell, 273 00:13:33,620 --> 00:13:35,320 Gall 'i jyst yn dehongli bod y fan a'r lle. 274 00:13:35,320 --> 00:13:37,403 Ac mae'n cadw golwg ar pethau sydd wedi rhedeg o'r blaen, 275 00:13:37,403 --> 00:13:41,620 felly mae'n arf eithaf defnyddiol i defnyddio console.log, neu y consol, 276 00:13:41,620 --> 00:13:46,870 yn gyffredinol, am ddim ond chwarae o gwmpas gyda JavaScript. 277 00:13:46,870 --> 00:13:51,420 >> SAM GWYRDD: Felly mynd yn ôl at hyn example-- yr ail linell o god 278 00:13:51,420 --> 00:13:55,320 dyma ydy 'n bert meddwl-boggling yn fy mhen. 279 00:13:55,320 --> 00:13:59,790 Y tro cyntaf i mi ddarllen hwn, yr oedd yn hoffi, beth sy'n mynd ymlaen? 280 00:13:59,790 --> 00:14:04,580 Felly, yr hyn sy'n digwydd yw, mae hyn yn Datganiad swyddogaeth yn dweud, 281 00:14:04,580 --> 00:14:10,170 Mae gen i swyddogaeth o'r enw f2 sy'n disgwyl un ddadl, f, 282 00:14:10,170 --> 00:14:12,990 ac yna mae'n galw bod swyddogaeth, f, a oedd yn 283 00:14:12,990 --> 00:14:17,652 pasiwyd iddo fel dadl heb unrhyw ddadleuon ei hun. 284 00:14:17,652 --> 00:14:19,110 Felly, a allai fod wedi bod yn ddryslyd. 285 00:14:19,110 --> 00:14:21,890 286 00:14:21,890 --> 00:14:28,400 Os ydym yn deall hyn fel f2 yn cymryd f1 fel dadl, ac yna y tu mewn o F2, 287 00:14:28,400 --> 00:14:31,190 f yn cael called-- pa fodd bod y llinell hon o god, 288 00:14:31,190 --> 00:14:34,192 ar ôl y ddwy linell o cod, yn arwain at "helo" 289 00:14:34,192 --> 00:14:35,400 cael eu hargraffu ar y consol. 290 00:14:35,400 --> 00:14:41,660 291 00:14:41,660 --> 00:14:44,910 >> Mae'r ffaith ein bod yn gallu pasio swyddogaethau o gwmpas fel gwerthoedd 292 00:14:44,910 --> 00:14:47,870 yn dod i ben i fyny yn un o'r rhai mwyaf nodweddion pwerus o JavaScript 293 00:14:47,870 --> 00:14:49,700 fel iaith raglennu. 294 00:14:49,700 --> 00:14:52,782 Y tu allan bob un o'r pethau anhygoel y gall ei wneud, 295 00:14:52,782 --> 00:14:54,990 yn union fel nodwedd o iaith o ran y ffordd 296 00:14:54,990 --> 00:14:58,400 ei fod yn gwneud pethau'n hawdd i raglennu ac yn caniatáu 297 00:14:58,400 --> 00:15:01,060 am bethau nad ydynt yn arbennig o addas at y we, 298 00:15:01,060 --> 00:15:04,500 rhaglennu swyddogaethol a swyddogaethol agweddau rhaglennu ar JavaScript 299 00:15:04,500 --> 00:15:07,130 yn un o'r rhai mwyaf cysyniadau pwerus sy'n 300 00:15:07,130 --> 00:15:11,030 yn bodoli yn JavaScript-- os byddwch yn gofyn i mi. 301 00:15:11,030 --> 00:15:11,960 Cool. 302 00:15:11,960 --> 00:15:13,534 >> Felly, beth nesaf. 303 00:15:13,534 --> 00:15:16,450 Yn ogystal â bod yn ymarferol, mae yna hefyd elfennau o JavaScript 304 00:15:16,450 --> 00:15:20,510 sy'n cael eu gwrthrych-oriented, sydd yn un o'r iawn 305 00:15:20,510 --> 00:15:23,800 wefr geiriau poblogaidd mewn gwyddoniaeth gyfrifiadurol. 306 00:15:23,800 --> 00:15:27,040 Rhaglennu gwrthrych-oriented yn beth wirioneddol boblogaidd. 307 00:15:27,040 --> 00:15:34,210 Mae JavaScript fersiwn o hynny, lle yr wyf yn credu pob gwerth yn hefyd 308 00:15:34,210 --> 00:15:41,475 gwrthrych, sy'n golygu bod pob gwrthrych lapio ynghyd rai nifer o werthoedd. 309 00:15:41,475 --> 00:15:44,020 310 00:15:44,020 --> 00:15:49,750 Felly, ar gyfer gwerthoedd sy'n syml, fel yn gyfanrif, fel varX hafal 5, 311 00:15:49,750 --> 00:15:52,250 y gwrthrych yn unig lapio bod un gwerth. 312 00:15:52,250 --> 00:15:54,760 313 00:15:54,760 --> 00:15:59,036 >> Ond gallwn hefyd ddychmygu sefyllfa where-- gallwn feddwl am sefyllfaoedd yn C 314 00:15:59,036 --> 00:16:00,910 lle rydym am ei wneud rhywbeth gyda structs, 315 00:16:00,910 --> 00:16:03,285 er enghraifft, y nifer o wraps Gwerthoedd at ei gilydd ac yn gwneud 316 00:16:03,285 --> 00:16:05,870 mae'n hawdd iawn i basio pethau o gwmpas. 317 00:16:05,870 --> 00:16:09,270 Dyna pryd gwrthrych yn JavaScript. 318 00:16:09,270 --> 00:16:12,340 >> Mae'n bwysig cofio wrth ddweud bod gwrthrychau lapio 319 00:16:12,340 --> 00:16:15,330 rhyw nifer o werthoedd gyda'i gilydd, bod swyddogaethau hefyd 320 00:16:15,330 --> 00:16:21,506 gwerthoedd, sy'n golygu y gall swyddogaethau hefyd fod tu mewn gwrthrych JavaScript. 321 00:16:21,506 --> 00:16:26,910 A'r rheswm sy'n bwysig yw bod, ond yr ydym ni yn aml 322 00:16:26,910 --> 00:16:30,290 meddwl am alw dull ar wrthrych sy'n 323 00:16:30,290 --> 00:16:35,200 o derm poblogaidd o eraill ieithoedd gwrthrych-oriented boblogaidd, 324 00:16:35,200 --> 00:16:39,330 un o'r gwahaniaethau yma yw bod i gyd bod dull yn JavaScript 325 00:16:39,330 --> 00:16:47,270 mae gwerth storio y tu mewn gwrthrych sy'n perfformio rhywfaint action-- o bosib 326 00:16:47,270 --> 00:16:51,850 gan ddefnyddio'r gwerthoedd eraill sydd y tu mewn o hynny gwrthrych, ond nid o reidrwydd. 327 00:16:51,850 --> 00:16:56,930 Felly, gallwch ddychmygu sefyllfa, yr wyf yn dyfalu mewn ychydig o ffordd crazy, 328 00:16:56,930 --> 00:17:02,990 lle rydych yn a elwir yn ddull o un gwrthwynebu ar wrthrych arall, er enghraifft. 329 00:17:02,990 --> 00:17:06,010 Felly, mae'n ychydig yn ffynci yn y modd hwnnw. 330 00:17:06,010 --> 00:17:09,369 >> A gallwch hefyd newid y dulliau sy'n gysylltiedig â gwrthrych 331 00:17:09,369 --> 00:17:13,740 drwy neilltuo dull y byddai swyddogaeth newydd, sydd hefyd 332 00:17:13,740 --> 00:17:18,250 'n bert wahanol i eraill ieithoedd gwrthrych-oriented, lle 333 00:17:18,250 --> 00:17:21,410 ar ôl i ni yn datgan gwrthrych ac enghreifftio ef, 334 00:17:21,410 --> 00:17:25,839 Ni allwn newid y dulliau sy'n gysylltiedig â'r gwrthrych anymore. 335 00:17:25,839 --> 00:17:28,680 Felly dyna 'n bert wahanol. 336 00:17:28,680 --> 00:17:29,570 Cool. 337 00:17:29,570 --> 00:17:34,010 >> Felly dyma enghraifft, yn gyntaf, o wrthrych ar waith. 338 00:17:34,010 --> 00:17:36,390 Mae hyn yn yr hyn a elwir gwrthrych generig, a oedd yn 339 00:17:36,390 --> 00:17:39,460 yn golygu nad oes ganddo unrhyw enw penodol, nid oes gan y dosbarth, 340 00:17:39,460 --> 00:17:42,190 'i' dim ond rhai lapio o werthoedd. 341 00:17:42,190 --> 00:17:49,790 A'r ffordd sy'n edrych yn, mae gennym y pâr allanol cyrliog bresys yma 342 00:17:49,790 --> 00:17:57,950 sy'n dangos i JavaScript a dweud, mae hyn yn wrthrych. 343 00:17:57,950 --> 00:18:02,130 Mae'r gwerthoedd tu mewn iddo yn mhob gwerthoedd y tu mewn 344 00:18:02,130 --> 00:18:04,590 y gwrthrych y dylai ei lapio gyda'i gilydd. 345 00:18:04,590 --> 00:18:09,180 Ac tu mewn y gwrthrych, yna mae gennym barau gwerth allweddol, 346 00:18:09,180 --> 00:18:13,880 lle yr allwedd yn cyfeirio at yr enw o werth y tu mewn y gwrthrych, 347 00:18:13,880 --> 00:18:16,790 ac mae'r side-- arall gyferbyn â'r Yma-- colon 348 00:18:16,790 --> 00:18:19,850 yw gwerth gwirioneddol y dylid eu cadw. 349 00:18:19,850 --> 00:18:26,210 >> Felly, byddwch yn gweld yma bod gennym allweddol a elwir yn fn â gwerth sam, 350 00:18:26,210 --> 00:18:29,430 ddilyn gan atalnod, gan ddweud ar y cofnod nesaf. 351 00:18:29,430 --> 00:18:33,560 Yna allwedd o'r enw ln, gyda gwerth o wyrdd, 352 00:18:33,560 --> 00:18:35,840 ddilyn gan atalnod, wedi'i ddilyn gan "print," 353 00:18:35,840 --> 00:18:43,209 sydd yn mynd i gael gwerth swyddogaeth sy'n mynd i wneud y llinell hon o god. 354 00:18:43,209 --> 00:18:45,500 Gadewch i ni gymryd cam yn ôl a ddadbacio beth sy'n digwydd fan hyn. 355 00:18:45,500 --> 00:18:47,280 Felly mae hyn yn ychydig yn gymhleth, ac rydym yn gweld rhywbeth newydd 356 00:18:47,280 --> 00:18:48,071 am y tro cyntaf. 357 00:18:48,071 --> 00:18:51,190 358 00:18:51,190 --> 00:18:55,065 Mae'r "hyn yn" gair allweddol yw'r peth newydd rydym yn gweld yma, a beth mae hyn yn ei wneud 359 00:18:55,065 --> 00:19:00,540 yw, yn cyfeirio at y presennol yn gwrthwynebu o ran cwmpas, dde? 360 00:19:00,540 --> 00:19:03,990 Felly, pan fyddwn yn dweud, mae hyn yn pwyntiau holl ffordd yn ôl 361 00:19:03,990 --> 00:19:08,140 i'r hwn object-- cyfan pan ydym yn ei wneud this.fn, 362 00:19:08,140 --> 00:19:11,990 rydyn ni'n mynd i fynd yr holl ffordd yn ôl i'r amcan hwn, ewch at werth fn 363 00:19:11,990 --> 00:19:16,471 a chael sam, dynnu yr holl ffordd yn ôl, ffon yma, ac yna symud ymlaen. 364 00:19:16,471 --> 00:19:19,838 >> GYNULLEIDFA: Felly, gyda adalw, yn hynny ei wneud oherwydd y paramedr 365 00:19:19,838 --> 00:19:20,621 diffiniad? 366 00:19:20,621 --> 00:19:23,870 SAM GWYRDD: Felly, y cwestiwn oedd, yw'r adfer a wneir oherwydd y paramedr 367 00:19:23,870 --> 00:19:24,727 diffiniad? 368 00:19:24,727 --> 00:19:25,435 Yeah, yn hollol. 369 00:19:25,435 --> 00:19:29,660 370 00:19:29,660 --> 00:19:32,470 Beth sy'n mynd i ddigwydd yma yw, dot hon yn dweud i'r JavaScript, 371 00:19:32,470 --> 00:19:39,990 OK, Im 'yn cael rhywfaint o werth o'r gwrthrych hwn oddi fy hun. 372 00:19:39,990 --> 00:19:46,375 Ac yna bydd yn chwilio am gofnod Gelwir fn, ac os bydd yn ei chael yn, 373 00:19:46,375 --> 00:19:48,470 bydd yn dychwelyd y value-- felly, mae'n sam. 374 00:19:48,470 --> 00:19:51,540 Ond gallai Rwyf hefyd wedi teipio rhywbeth nad oedd ddiffinnir yma, 375 00:19:51,540 --> 00:19:54,090 ac yna fyddai dim ond dychwelyd undefined-- sy'n 376 00:19:54,090 --> 00:19:58,250 yn beth y gall JavaScript yn ei wneud, a all gael budd-daliadau, 377 00:19:58,250 --> 00:20:03,190 ond mae'n also-- os byddwch yn gwneud typo, gall arwain at gamgymeriadau 'n annaearol. 378 00:20:03,190 --> 00:20:05,617 Felly, bydd yn jyst ceisio dod o hyd beth bynnag yr ydych yn dweud iddo i ddod o hyd 379 00:20:05,617 --> 00:20:07,700 ac nid yw'n mynd i gwyno os nad yw'n ei chael yn. 380 00:20:07,700 --> 00:20:11,390 Bydd yn dim ond dweud, doeddwn i ddim yn ei chael yn, ac yna symud ymlaen. 381 00:20:11,390 --> 00:20:17,581 Felly byddai'n cael ei heb eu diffinio, yn ogystal wag, yn ogystal enw olaf. 382 00:20:17,581 --> 00:20:18,080 Yeah. 383 00:20:18,080 --> 00:20:21,070 Ac yna gallwn weld bod os ydym yna gallai fynd i lawr ac access-- 384 00:20:21,070 --> 00:20:25,450 ac rydym yn galw tf.print () gyda cromfachau. 385 00:20:25,450 --> 00:20:30,000 Mae'n mynd i alw y print swyddogaeth heb unrhyw ddadleuon, dde? 386 00:20:30,000 --> 00:20:34,490 Ond os ydym newydd ei ddweud tf.print () hanner colon, heb y cromfachau, 387 00:20:34,490 --> 00:20:37,480 i gyd y byddai wedi'i wneud yw tynnu swyddogaeth o werth, 388 00:20:37,480 --> 00:20:40,609 ond nid ei alw mewn gwirionedd. 389 00:20:40,609 --> 00:20:41,162 Cool. 390 00:20:41,162 --> 00:20:42,870 HUGH Zabriskie: A ddylai rydym yn gwneud gwrthrych? 391 00:20:42,870 --> 00:20:44,161 SAM GREEN: Cadarn, gadewch i ni wneud hynny. 392 00:20:44,161 --> 00:20:48,750 Felly yr wyf yn gallu symud hyn esiampl i'r consol. 393 00:20:48,750 --> 00:20:51,380 394 00:20:51,380 --> 00:20:55,466 Gallwn ddychmygu bod gennyf gwrthrych. 395 00:20:55,466 --> 00:21:03,026 396 00:21:03,026 --> 00:21:04,150 Felly, mae hwn yn wrthrych syml. 397 00:21:04,150 --> 00:21:06,910 398 00:21:06,910 --> 00:21:11,050 Mae hwn yn wrthrych sy'n cynnwys dau Gwerthoedd gyda dau allweddi, dau gwerth allweddol 399 00:21:11,050 --> 00:21:12,710 parau. 400 00:21:12,710 --> 00:21:21,850 Felly, gallaf wedyn gael mynediad at y gwerth ei storio tu mewn gwrthrych hwn drwy wneud x.x1, 401 00:21:21,850 --> 00:21:23,400 er enghraifft, ac yr wyf yn cael 1 yn ôl. 402 00:21:23,400 --> 00:21:29,590 Yn yr un modd, x.x2, cael y gwerth yn ôl. 403 00:21:29,590 --> 00:21:33,330 >> Ac yn awr y peth 'n sylweddol oera yw, gallaf mewn gwirionedd yn ychwanegu rhywbeth at y gwrthrych 404 00:21:33,330 --> 00:21:34,316 ar ôl i mi ei greu. 405 00:21:34,316 --> 00:21:36,315 Felly, gallwch ddychmygu, gadewch i ni dweud gen i swyddogaeth. 406 00:21:36,315 --> 00:21:44,430 407 00:21:44,430 --> 00:21:46,352 >> HUGH Zabriskie: Chi rhaid iddynt ei wneud Shift-Enter. 408 00:21:46,352 --> 00:21:47,643 >> SAM GREEN: O, dyna blino. 409 00:21:47,643 --> 00:22:02,460 410 00:22:02,460 --> 00:22:04,324 Yr hyn nad oedd yn ei hoffi? 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 Yma rydym yn mynd. 414 00:22:08,691 --> 00:22:09,190 Cool. 415 00:22:09,190 --> 00:22:12,840 >> Felly dwi newydd ei greu swyddogaeth hon, f, sy'n 416 00:22:12,840 --> 00:22:17,590 yn mynd i fynd i'r presennol gwrthrych ac argraffu this.x1. 417 00:22:17,590 --> 00:22:20,330 Felly, os Fi jyst yn galw f gan ei hun, nid oes dim sy'n mynd 418 00:22:20,330 --> 00:22:26,970 i ddigwydd, ar y dde, gan nad oes x1 maes yn y gwrthrych mae'n cyfeirio at. 419 00:22:26,970 --> 00:22:39,710 Ond, os wyf yn dweud, x.f = f, ac yna yr wyf yn ffoniwch x.f (), yr wyf i'n mynd i fynd yn ôl 1. 420 00:22:39,710 --> 00:22:42,990 421 00:22:42,990 --> 00:22:46,530 Dyna ffwythiant f yn awr sy'n gysylltiedig â'r gwrthrych x, 422 00:22:46,530 --> 00:22:51,800 sydd â x1 allwedd o'r enw sy'n gysylltiedig â'r gwerth 1, 423 00:22:51,800 --> 00:22:54,570 felly pan fyddwn yn galw this.x1, 'i' yn mynd i ddod o hyd i beth mae'n chwilio amdano 424 00:22:54,570 --> 00:22:56,450 ac yn gallu argraffu gwerth allan. 425 00:22:56,450 --> 00:22:58,700 Felly dyna un enghraifft yn unig o'r math o'r pethau gwallgof 426 00:22:58,700 --> 00:23:01,190 gallwch ei wneud gyda gwrthrychau yn JavaScript. 427 00:23:01,190 --> 00:23:03,870 428 00:23:03,870 --> 00:23:07,560 >> Felly dyna fersiwn oedd y Fersiwn generig, ystyr 429 00:23:07,560 --> 00:23:13,780 ein bod wedi creu gwrthrych yn arfer hon cromfachau nodiant Brace notation--, 430 00:23:13,780 --> 00:23:16,880 rather-- a dyna 'n hylaw os ydym yn unig eisiau 431 00:23:16,880 --> 00:23:21,440 un enghraifft o gwrthrych penodol, ond beth os ydym am gael mwy nag un 432 00:23:21,440 --> 00:23:22,210 o'r un fath? 433 00:23:22,210 --> 00:23:24,440 Ac yr ateb i hynny cwestiwn yw, mae yna bethau 434 00:23:24,440 --> 00:23:26,760 Gelwir dosbarthiadau yn JavaScript hefyd. 435 00:23:26,760 --> 00:23:31,470 436 00:23:31,470 --> 00:23:36,420 Gallwn greu swyddogaeth sy'n yn gwneud rhyw fath o initialization 437 00:23:36,420 --> 00:23:41,690 ar gyfer gwrthrych estron, a byddem yn dweud, fel, 438 00:23:41,690 --> 00:23:44,550 fy class-- felly mae'r enw o'r object-- y gellir eu hailddefnyddio 439 00:23:44,550 --> 00:23:47,100 yn hafal i swyddogaeth sy'n gosod i fyny. 440 00:23:47,100 --> 00:23:52,280 Felly beth byddai hyn yn gyfwerth i yn creu gwrthrych sy'n 441 00:23:52,280 --> 00:23:55,930 fyddai yn union fel, Brace cyrliog, str, colon, 442 00:23:55,930 --> 00:23:59,630 mae hyn yn llinyn, hanner colon, Brace cyrliog. 443 00:23:59,630 --> 00:24:01,880 Dyna fyddai'r generig gwrthrych rydym ymgychwyn, 444 00:24:01,880 --> 00:24:06,380 gyda'r un gwahaniaeth fod ar y llinellau nesaf rydym yn creu prototeip, a oedd yn 445 00:24:06,380 --> 00:24:11,190 yn golygu ei fod yn allwedd diofyn sy'n rydym yn ychwanegu at ein gwrthrych sy'n 446 00:24:11,190 --> 00:24:13,970 Mae gwerth rhestru yma. 447 00:24:13,970 --> 00:24:20,570 Ystyr hynny, pan fyddaf yn creu newydd enghraifft o hyn gwrthrych MyClass, 448 00:24:20,570 --> 00:24:27,440 mae'n mynd i wedi rhag-adeiladu tu mewn ei fod yn werth enw str a gwerth arall 449 00:24:27,440 --> 00:24:32,418 Gelwir myPrint, sef mynd i fod yn swyddogaeth. 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 Felly, y peth olaf i ddweud am JavaScript 454 00:24:40,710 --> 00:24:46,430 yw ei fod yn ddefnyddiol iawn ar gyfer yr hyn yn cael eu galw'n gweithrediadau asynchronous. 455 00:24:46,430 --> 00:24:52,500 Fodd Asynchronous yw ein bod yn Gall aros am rai llawdriniaeth 456 00:24:52,500 --> 00:24:57,870 i'w gwblhau cyn i ni symud ar, ond yn symud ymlaen wrth i ni aros 457 00:24:57,870 --> 00:24:59,690 ac yna rywbeth yn digwydd yn nes ymlaen. 458 00:24:59,690 --> 00:25:03,480 A hyn yr wyf yn ei olygu wrth hynny yw, eich Gall ddychmygu sefyllfa lle 459 00:25:03,480 --> 00:25:06,850 byddwch yn anfon cais i rhywfaint gweinydd gwe yn rhywle, 460 00:25:06,850 --> 00:25:09,670 ac mae'n mynd i anfon yn ôl i chi rhyw darn mawr o ddata, dde? 461 00:25:09,670 --> 00:25:13,320 A gallai eich defnyddiwr yn aros yn y cyfamser er mwyn i hynny ddigwydd, 462 00:25:13,320 --> 00:25:15,200 ac ni allai dim fod yn mynd ymlaen ar y pryd. 463 00:25:15,200 --> 00:25:18,110 Ond nid yw hynny'n dyluniad gwych, dde? 464 00:25:18,110 --> 00:25:20,214 Nid ydych am y dudalen gwefan hon i rewi. 465 00:25:20,214 --> 00:25:22,380 Beth os bydd y defnyddiwr eisiau cliciwch ar cwymplen? 466 00:25:22,380 --> 00:25:24,870 Dyw hi ddim yn batrwm dylunio gwych. 467 00:25:24,870 --> 00:25:29,290 Yn lle hynny, yn y bôn yr hyn JavaScript yn ei ddweud, 468 00:25:29,290 --> 00:25:31,870 OK, yn gwneud y llawdriniaeth hon asynchronously. 469 00:25:31,870 --> 00:25:36,520 Felly debyg, aros yn y cefndir, ac yna pan fydd y llawdriniaeth yn cael ei wneud, 470 00:25:36,520 --> 00:25:39,420 ffoniwch y galw'n ôl function-- ffoniwch rhywfaint o swyddogaeth, 471 00:25:39,420 --> 00:25:43,800 mae rhai action-- i ddangos bod y llawdriniaeth rydym yn aros am i roi diwedd 472 00:25:43,800 --> 00:25:45,520 wedi dod i ben. 473 00:25:45,520 --> 00:25:51,240 A'r rheswm dyna super pwerus yw, y gallwn wneud rhywbeth, pasio dadl, 474 00:25:51,240 --> 00:25:54,440 gwneud rhywbeth, ac yna aros am i rywbeth ddigwydd. 475 00:25:54,440 --> 00:25:58,970 Yna, unwaith bod rhywbeth yn cwblhau, gallwn alw am alwad yn ôl. 476 00:25:58,970 --> 00:26:03,300 Mae hynny'n wir gyfleus oherwydd ei fod yn gadael ohonom yn gwneud pethau gyda Web API Sain, 477 00:26:03,300 --> 00:26:07,490 er enghraifft, fel llwyth ffeil sain o weinydd pell 478 00:26:07,490 --> 00:26:11,660 heb orfod aros am y ffeil sain cyfan i gael eu llwytho, 479 00:26:11,660 --> 00:26:14,440 a fyddai'n fod yn wirioneddol ddrwg i brofiad y defnyddiwr. 480 00:26:14,440 --> 00:26:17,080 Cool. 481 00:26:17,080 --> 00:26:19,460 >> Ddwy ddiwethaf nodiadau am debugging, gan fod hyn 482 00:26:19,460 --> 00:26:23,682 yn beth rydych yn mynd i gael i wneud fel rhan o'ch prosiect, gwarantu. 483 00:26:23,682 --> 00:26:25,140 Soniais am y consol JavaScript. 484 00:26:25,140 --> 00:26:27,550 Mae'n nodwedd ddefnyddiol super yr holl borwyr modern, 485 00:26:27,550 --> 00:26:30,300 Ac rydym yn eich annog i gael gyfforddus gan ddefnyddio eich consol, 486 00:26:30,300 --> 00:26:33,660 os ydych chi am gael dda yn JavaScript. 487 00:26:33,660 --> 00:26:36,320 Mae'n super ddefnyddiol ar gyfer debugging, ond mae hefyd 488 00:26:36,320 --> 00:26:39,440 ddefnyddiol iawn ar gyfer figuring gwybod sut i ddefnyddio API. 489 00:26:39,440 --> 00:26:41,950 Mae'n caniatáu ar gyfer 'n sylweddol arbrofi hawdd 490 00:26:41,950 --> 00:26:45,910 heb orfod teipio rhai cod, ac yna llunio ei. 491 00:26:45,910 --> 00:26:47,500 Nid oes rhaid i chi wneud yr holl gamau hynny. 492 00:26:47,500 --> 00:26:49,619 Alli jyst ysgrifennu rhyw cod mewn llinell, 493 00:26:49,619 --> 00:26:52,410 ac yna yn cael adborth ar unwaith ar a yw'r llinell o god neu beidio 494 00:26:52,410 --> 00:26:55,230 worked-- handi iawn. 495 00:26:55,230 --> 00:26:59,760 >> A hefyd, dim ond un note-- technegol y consol JavaScript yn enghraifft 496 00:26:59,760 --> 00:27:05,680 o REPL-- felly dyna R-E-P-L, REPL, sy'n sefyll am ddarllen, gwerthuso, 497 00:27:05,680 --> 00:27:06,180 dolen print. 498 00:27:06,180 --> 00:27:09,100 499 00:27:09,100 --> 00:27:12,120 Rydych yn mynd i deipio rhai pethau i mewn, bydd yn darllen yr hyn yr ydych ei deipio i mewn, 500 00:27:12,120 --> 00:27:17,280 bydd yn gwerthuso, ac bydd yn argraffu'r allbwn, ac yna bydd yn dechrau eto. 501 00:27:17,280 --> 00:27:22,056 Sy'n eich galluogi i fynd yn gyflym mewn cylchoedd ailadrodd, sydd yn 'n sylweddol oera. 502 00:27:22,056 --> 00:27:25,150 503 00:27:25,150 --> 00:27:28,930 >> Amcana real diwethaf note-- hwn yw'r nodyn olaf gwirioneddol, ie. 504 00:27:28,930 --> 00:27:30,780 Sut rydym yn ei ddefnyddio JavaScript? 505 00:27:30,780 --> 00:27:34,040 Felly gyntaf, gallwn fewnforio gan ddefnyddio tag sgript 506 00:27:34,040 --> 00:27:39,500 ar frig neu waelod o HTML file-- yn unrhyw le y tu mewn o ffeil HTML, 507 00:27:39,500 --> 00:27:40,440 mewn gwirionedd. 508 00:27:40,440 --> 00:27:47,390 Ac o fewn tag sgript, mae yna dau is-ffyrdd o fewnforio JavaScript. 509 00:27:47,390 --> 00:27:51,370 Y cyntaf yw drwy gael ffeil JavaScript ar wahân 510 00:27:51,370 --> 00:27:58,010 ein bod yn mewnforio yn ei chyfanrwydd, neu drwy gael ardal o cod fel sgript 511 00:27:58,010 --> 00:28:00,290 i ddechrau, ac yna sgript slaes i ben. 512 00:28:00,290 --> 00:28:02,620 Ac yna rydym yn unig yn ysgrifennu JavaScript y tu mewn i'r ffeil HTML. 513 00:28:02,620 --> 00:28:03,790 Dyna'r ddwy ffordd. 514 00:28:03,790 --> 00:28:05,165 Ni allwch gael y tu mewn o HTML. 515 00:28:05,165 --> 00:28:06,502 516 00:28:06,502 --> 00:28:08,126 GYNULLEIDFA: A yw un yn well na'r llall? 517 00:28:08,126 --> 00:28:10,542 SAM GWYRDD: Y cwestiwn oedd, yn un well na'r llall. 518 00:28:10,542 --> 00:28:18,306 Felly, ie, fel arfer arddull codio, a hefyd mae fel arfer dylunio. 519 00:28:18,306 --> 00:28:20,180 Mae dau reswm pam y gallai fod yn well. 520 00:28:20,180 --> 00:28:23,934 Y cyntaf yw, mae'n gwneud eich cod yn llawer mwy darllenadwy os yw eich holl HTML 521 00:28:23,934 --> 00:28:27,100 yw mewn un lle, pob un o'ch CSS yw mewn man arall, pob un o'ch JavaScript 522 00:28:27,100 --> 00:28:28,420 mewn trydydd safle. 523 00:28:28,420 --> 00:28:28,920 Iawn? 524 00:28:28,920 --> 00:28:32,370 Rwy'n meddwl y dylen ni eisoes wedi siarad am y peth yn sections-- tebyg CSS-- beth 525 00:28:32,370 --> 00:28:35,220 hynny yw-- ac mae'n mynd yn aml mewn ffeil arall. 526 00:28:35,220 --> 00:28:37,090 Felly, math tebyg o gysyniad yma. 527 00:28:37,090 --> 00:28:42,410 Gallwch hefyd ddychmygu bod Javascript Byddai eu hailddefnyddio ar fwy nag un 528 00:28:42,410 --> 00:28:47,350 Dudalen HTML, neu efallai mae llawer o dudalennau HTML mawr, 529 00:28:47,350 --> 00:28:49,340 a chael bod Javascript refactored i mewn i un 530 00:28:49,340 --> 00:28:51,950 ffeil y gallwch fewnforio i fwy nag un lle 531 00:28:51,950 --> 00:28:54,570 caniatáu i'r cod fod yn ffordd fwy gynhelir. 532 00:28:54,570 --> 00:28:57,930 Gallwch ddychmygu gwneud un newid i'r JavaScript 533 00:28:57,930 --> 00:29:00,070 a gorfod newid mewn 100 ffeil gwahanol. 534 00:29:00,070 --> 00:29:04,070 Ac yn lle y gallwn ni yn unig ei newid mewn un, sydd yn ffordd fwy grymus. 535 00:29:04,070 --> 00:29:05,420 Wnes i ateb eich cwestiwn? 536 00:29:05,420 --> 00:29:07,950 Cool. 537 00:29:07,950 --> 00:29:10,830 >> Gallwn hefyd deipio i mewn i'r consol, fel yr ydym wedi crybwyll o'r blaen. 538 00:29:10,830 --> 00:29:15,070 Ac eto, un note-- diwethaf Gwe Audio ei adeiladu i mewn, 539 00:29:15,070 --> 00:29:16,978 Nid oes angen i chi lwytho unrhyw beth. 540 00:29:16,978 --> 00:29:17,478 Cool. 541 00:29:17,478 --> 00:29:20,519 A oes unrhyw gwestiynau, a oes gennych mwy o gwestiynau am JavaScript, 542 00:29:20,519 --> 00:29:21,930 cyn i ni symud ymlaen? 543 00:29:21,930 --> 00:29:24,286 >> GYNULLEIDFA: [Anghlywadwy] 544 00:29:24,286 --> 00:29:25,410 SAM GWYRDD: pob hawl, oer. 545 00:29:25,410 --> 00:29:27,200 Felly nawr mae'n mynd i siarad am y API. 546 00:29:27,200 --> 00:29:28,490 >> HUGH Zabriskie: Cool. 547 00:29:28,490 --> 00:29:28,990 Diolch, Sam. 548 00:29:28,990 --> 00:29:30,184 >> SAM GWYRDD: Cadarn. 549 00:29:30,184 --> 00:29:32,600 HUGH Zabriskie: Awesome, felly byddwn yn symud ymlaen o JavaScript. 550 00:29:32,600 --> 00:29:35,350 Felly, rydym wedi siarad am rai o hanfodion JavaScript, 551 00:29:35,350 --> 00:29:41,105 a'r rheini yw'r newidynnau, swyddogaethau, gwrthrychau, swyddogaethau fel newidynnau, 552 00:29:41,105 --> 00:29:41,980 llwytho asynchronous. 553 00:29:41,980 --> 00:29:46,100 Mae'r rhain i gyd yn bethau yr ydych yn chi helpu gweld wrth i chi ddefnyddio'r We Sain. 554 00:29:46,100 --> 00:29:49,230 Felly rydym yn jyst yn mynd i siarad am y peth yn gyntaf ar lefel uchel. 555 00:29:49,230 --> 00:29:52,120 >> Mae'n API, felly mae'n rhywbeth sy'n eu hadeiladu, fel y dywedodd Sam, 556 00:29:52,120 --> 00:29:57,010 i'r dde i mewn i'r JavaScript eich bod yn ei ddefnyddio yn y consol. 557 00:29:57,010 --> 00:30:01,020 Ac mae'n mewn gwirionedd yn union fel C ++ cod sy'n cael ei hadeiladu mewn gwirionedd i mewn Chrome 558 00:30:01,020 --> 00:30:04,470 a Firefox, a phob un o'r porwyr hyn. 559 00:30:04,470 --> 00:30:07,060 Felly, y prif syniad gyda Gwe Audio yw bod gennych 560 00:30:07,060 --> 00:30:09,440 y math hwn o bibell o sain, dde? 561 00:30:09,440 --> 00:30:13,670 Felly eich data sain dod i mewn ar ryw ffurf. 562 00:30:13,670 --> 00:30:16,690 >> Mae math o dri phrif forms-- mae gennych yr osgiliadur, a oedd yn 563 00:30:16,690 --> 00:30:21,340 yn creu ton sin, cosin ton, rydym yn mynd i weld sut mae hynny'n gweithio. 564 00:30:21,340 --> 00:30:23,890 Un arall gyffredin iawn, wrth gwrs, yn MP3. 565 00:30:23,890 --> 00:30:25,810 Felly efallai y byddwch yn dechrau gyda cân, ac yna rydych 566 00:30:25,810 --> 00:30:28,320 am wneud rhywfaint o hidlo i hynny ac allbwn 567 00:30:28,320 --> 00:30:30,605 that-- a allai fod yn ffynhonnell bosibl. 568 00:30:30,605 --> 00:30:32,480 Ac yna mae 'n sylweddol oera mae un yn y meicroffon. 569 00:30:32,480 --> 00:30:37,230 Felly, gallwch ddefnyddio rhai iawn galwadau sylfaenol yn JavaScript 570 00:30:37,230 --> 00:30:39,440 i gael mynediad at y meicroffon, ac felly os ydych 571 00:30:39,440 --> 00:30:42,870 yn awyddus i wneud app fel synhwyrydd cae, 572 00:30:42,870 --> 00:30:45,290 er enghraifft, sy'n cymryd yn eich llais a ffigurau allan 573 00:30:45,290 --> 00:30:47,740 y pitch-- ffordd hawdd iawn i hynny. 574 00:30:47,740 --> 00:30:50,730 Alli jyst fath o ddarllen i mewn, ffigwr allan yr amlder, 575 00:30:50,730 --> 00:30:52,250 ac yna allbwn rhif. 576 00:30:52,250 --> 00:30:56,080 Felly, byddwn yn gweld sut mae hynny'n gweithio, yn ogystal. 577 00:30:56,080 --> 00:30:59,430 >> Mae'r cyrchfan yn y bôn lle bo'r data sain yn allbwn. 578 00:30:59,430 --> 00:31:02,890 Felly ar y cyfan, dyna fel eich siaradwyr laptop. 579 00:31:02,890 --> 00:31:05,610 Opsiynau eraill yn debyg a ScriptProcessorNode-- 580 00:31:05,610 --> 00:31:07,990 byddwn yn mynd i nodau mewn second-- ond yn y bôn, 581 00:31:07,990 --> 00:31:11,939 naill ai eich bod yn rhoi sain allan drwy eich cyfrifiadur drwy seinyddion, 582 00:31:11,939 --> 00:31:14,730 neu os ydych yn fath o gofnodi, felly eich bod yn storio fel data sain. 583 00:31:14,730 --> 00:31:18,980 Felly efallai os bydd rhywun yn creu cerddoriaeth yn eich app ac yna 584 00:31:18,980 --> 00:31:22,410 ydych am gofnodi bod ac efallai yn hoffi allforio i Soundcloud, er example-- 585 00:31:22,410 --> 00:31:25,281 byddai hynny'n un ffordd o wneud hynny. 586 00:31:25,281 --> 00:31:27,030 Mae'r holl stwff hwyliog, y byddwn yn siarad am, 587 00:31:27,030 --> 00:31:29,950 sy'n digwydd rhwng y ddau bwynt, lle rydym yn llwytho yn y gerddoriaeth 588 00:31:29,950 --> 00:31:31,410 ac yna allbwn iddo. 589 00:31:31,410 --> 00:31:36,660 >> Felly dw i'n mynd i siarad am y pum cam o'r broses gynhyrchu sain mewn eiliad. 590 00:31:36,660 --> 00:31:38,950 Mae gennym y peth hyn a elwir yn mae AudioContext, a oedd yn 591 00:31:38,950 --> 00:31:41,580 oes fawr hon deunydd lapio a welwn yma. 592 00:31:41,580 --> 00:31:49,980 Yn y bôn yr hyn AudioContext yw-- os ydym mynd i'r JavaScript chysura ar hyn o bryd, 593 00:31:49,980 --> 00:31:52,740 gallwn greu un ar hyn o bryd. 594 00:31:52,740 --> 00:31:54,040 Dim ond enghraifft o REPL, dde? 595 00:31:54,040 --> 00:31:57,880 Rydym yn darllen, gwerthuso, ac mae'n printiau. 596 00:31:57,880 --> 00:32:00,260 >> AudioContext yn gyflwr fyd-eang. 597 00:32:00,260 --> 00:32:05,500 Mae wedi bod yn struct, mae'n gwrthrych yma, ac mae'n cadw gwybodaeth 598 00:32:05,500 --> 00:32:09,960 am bethau sy'n mynd ymlaen ar y sgrin yn ymwneud â sain. 599 00:32:09,960 --> 00:32:15,220 Un enghraifft yw hyn o bryd. 600 00:32:15,220 --> 00:32:18,910 Mae hyn yn dweud wrthych y rhif o eiliadau, fanwl iawn, 601 00:32:18,910 --> 00:32:20,890 ers i'r dudalen gwe llwytho. 602 00:32:20,890 --> 00:32:24,110 Felly, mae hwn yn ddefnyddiol iawn ychydig iawn o eiddo y gallwch eu defnyddio. 603 00:32:24,110 --> 00:32:27,898 Mae wedi darllen only-- wyf yn meddwl mewn gwirionedd gallwch geisio gosod gwerth. 604 00:32:27,898 --> 00:32:29,856 Bydd yn rhoi gwybod i chi osod, ac yna os ydych yn ei hargraffu 605 00:32:29,856 --> 00:32:31,439 again-- nid oedd mewn gwirionedd yn eithaf gwaith. 606 00:32:31,439 --> 00:32:34,472 Felly mae eu darllen yn unig eiddo yn JavaScript. 607 00:32:34,472 --> 00:32:36,430 Mae hyn yn ddefnyddiol iawn os eich bod yn fath o syncing 608 00:32:36,430 --> 00:32:38,610 llawer o wahanol gwybodaeth, pan fyddwch yn 609 00:32:38,610 --> 00:32:41,280 math o chwarae gwahanol synau. 610 00:32:41,280 --> 00:32:43,630 >> Un 'n sylweddol defnyddiol arall yw'r gyrchfan cyd-destun. 611 00:32:43,630 --> 00:32:46,587 612 00:32:46,587 --> 00:32:49,670 Yn bendant, os oes gennych ddiddordeb, yn rhoi cynnig hwn ar eich hawl consol hun 613 00:32:49,670 --> 00:32:50,980 yn awr. 614 00:32:50,980 --> 00:32:53,150 Felly mae hwn yn AudioDestinationNode. 615 00:32:53,150 --> 00:32:56,480 Yn y bôn beth mae hyn yn ei ddweud yw, lle mae allbwn yn mynd? 616 00:32:56,480 --> 00:32:59,590 Felly mae yna ddau ddewis go iawn yma. 617 00:32:59,590 --> 00:33:01,940 Fel arfer 'r ball yn unig yw eich siaradwyr, 618 00:33:01,940 --> 00:33:05,150 felly AudioDestinationNode y bôn yn unig yn dweud 619 00:33:05,150 --> 00:33:09,240 mae sero allbynnau i sŵn yn dod i mewn, a anfonwyd at y siaradwr. 620 00:33:09,240 --> 00:33:12,050 Felly ar y cyfan, nid ydych yn ei wneud rhaid i chwarae gyda hynny. 621 00:33:12,050 --> 00:33:15,720 Os oes gennych ddiddordeb mewn gwirionedd yn defnyddio y ScriptProcessorNode ar gyfer cofnodi, 622 00:33:15,720 --> 00:33:16,990 bendant saethu mi e-bost yn ddiweddarach oherwydd dyna 623 00:33:16,990 --> 00:33:18,330 ychydig yn fwy cymhleth. 624 00:33:18,330 --> 00:33:21,590 Ond yn gyffredinol, rydych yn unig fath o outputting sain ar ryw ffurf. 625 00:33:21,590 --> 00:33:24,347 Felly oer, byddwn yn neidio yn ôl yma. 626 00:33:24,347 --> 00:33:25,180 GYNULLEIDFA: Mae'n ddrwg gen i. 627 00:33:25,180 --> 00:33:26,054 HUGH Zabriskie: Yeah. 628 00:33:26,054 --> 00:33:28,770 GYNULLEIDFA: Yr wyf yn gwybod eich bod dweud i siarad i chi yn nes ymlaen am gofnodi. 629 00:33:28,770 --> 00:33:31,550 A allwch rhyngwyneb hynny gyda Pro Tools? 630 00:33:31,550 --> 00:33:33,120 >> HUGH Zabriskie: Gyda Pro Tools? 631 00:33:33,120 --> 00:33:35,260 Gawn ni weld. 632 00:33:35,260 --> 00:33:37,220 Nid wyf yn credu hynny. 633 00:33:37,220 --> 00:33:41,670 Felly mynd rhwng y cleient, sef y JavaScript 634 00:33:41,670 --> 00:33:44,310 consol, ac yn eich gwirioneddol cyfrifiadur, yn gyffredinol 635 00:33:44,310 --> 00:33:46,490 rhywbeth sy'n garedig o oddi ar derfynau, os ydych yn 636 00:33:46,490 --> 00:33:52,320 fydd, caredig gan natur the-- mae'n fath o beth dylunio, 637 00:33:52,320 --> 00:33:57,770 ond eich bod yn ceisio cadw'r porwr ar wahân o gyfrifiadur gwirioneddol y defnyddiwr. 638 00:33:57,770 --> 00:34:02,310 Yn gyffredinol, yr unig beth rydych chi'n gallu mae mynediad yn y meicroffon neu'r camera. 639 00:34:02,310 --> 00:34:04,730 Nid ydych yn gallu, yr wyf yn peidiwch â meddwl, defnyddiwch Pro Tools. 640 00:34:04,730 --> 00:34:07,480 Fodd bynnag, os ydych yn ei greu trac yn Pro Tools, 641 00:34:07,480 --> 00:34:12,710 hallforio hynny, gallech lwytho hynny mewn yma, hidlo, er enghraifft, 642 00:34:12,710 --> 00:34:16,820 y broses honno, a chofnodi hynny i mewn i Sain Destination-- neu, no-- a Bywyd 643 00:34:16,820 --> 00:34:17,870 Nôd Prosesydd. 644 00:34:17,870 --> 00:34:20,730 Ac yna oddi yno, gallech allforio hynny i Soundcloud, chi 645 00:34:20,730 --> 00:34:25,320 Gallai ei anfon mewn e-bost, neu beth bynnag yr ydych yn hoffi oddi yno. 646 00:34:25,320 --> 00:34:31,159 >> Ond mae yna fath o ychydig o rwystr rhwng creu cerddoriaeth ar eich cyfrifiadur 647 00:34:31,159 --> 00:34:33,050 ac yn gwneud cerddoriaeth ar-lein. 648 00:34:33,050 --> 00:34:37,940 >> SAM GWYRDD: A dyna Nid unigryw i'r API hwn. 649 00:34:37,940 --> 00:34:44,060 Mae'n nodwedd diogelwch Chrome, a Rwy'n credu pob porwr modern eraill. 650 00:34:44,060 --> 00:34:45,860 Mae'r porwr yn hunangynhwysol. 651 00:34:45,860 --> 00:34:50,980 Felly, er enghraifft, ni all tudalen we defnyddio JavaScript i droi'r sain 652 00:34:50,980 --> 00:34:54,190 ar ar eich siaradwyr, er enghraifft. 653 00:34:54,190 --> 00:34:58,120 Neu ni all droi eich cyfrifiadur i ffwrdd. 654 00:34:58,120 --> 00:35:01,530 Ac nid oes pwynt canolradd rhwng y ddau beth, ar y dde, 655 00:35:01,530 --> 00:35:05,960 hynny naill ai gennych chi tynnu gyflawn, 656 00:35:05,960 --> 00:35:10,050 neu os ydych yn agor y nam diogelwch o adael 657 00:35:10,050 --> 00:35:14,440 yn rhaglennydd gyda bwriadau drwg yn ei wneud beth bynnag y maent ei eisiau gyda eich gliniadur. 658 00:35:14,440 --> 00:35:18,104 A dyna pam Chrome yn hunangynhwysol. 659 00:35:18,104 --> 00:35:19,310 >> HUGH Zabriskie: Yeah. 660 00:35:19,310 --> 00:35:20,840 A yw hynny'n gwneud synnwyr? 661 00:35:20,840 --> 00:35:21,369 Cool, oer. 662 00:35:21,369 --> 00:35:23,160 Yr oeddwn yn jyst yn mynd i yn dangos enghraifft o un. 663 00:35:23,160 --> 00:35:25,118 Mae hyn yn 'n bert lawer fel belled ag y byddwch yn ei gael, o ran 664 00:35:25,118 --> 00:35:26,950 o gael gafael ar gyfrifiadur y defnyddiwr. 665 00:35:26,950 --> 00:35:30,180 Os oes gennych bysellfwrdd USB blygio i mewn, gallwch ddefnyddio rhywbeth o'r enw y We 666 00:35:30,180 --> 00:35:32,180 MIDI API, nad ydym fydd wir yn siarad am fan hyn, 667 00:35:32,180 --> 00:35:36,330 ond mae hyn yn API arall sy'n adeiladu i mewn o leiaf Chrome-- eto, 668 00:35:36,330 --> 00:35:41,570 dyma pam ein bod yn caru Chrome-- Yr wyf yn meddwl Firefox neu Safari, 669 00:35:41,570 --> 00:35:44,300 mae hyn yn beth hawdd i'w gwahanol borwyr google-- cael 670 00:35:44,300 --> 00:35:46,917 cefnogaeth gwahanol y mae APIs maent wedi gweithredu. 671 00:35:46,917 --> 00:35:49,875 Ond os ydych yn dymuno i blygio mewn bysellfwrdd a gweithio gyda wybodaeth honno, 672 00:35:49,875 --> 00:35:52,850 math o anfon y bysellfwrdd gwybodaeth draw at y cyfrifiadur 673 00:35:52,850 --> 00:35:57,620 ac yna defnyddio hynny ar-lein, API hwn lle byddech yn gweithio ar hynny. 674 00:35:57,620 --> 00:35:58,150 >> Cool. 675 00:35:58,150 --> 00:35:58,710 IAWN. 676 00:35:58,710 --> 00:36:01,320 Felly, gan symud yn gyflym ar yma. 677 00:36:01,320 --> 00:36:03,310 Sut ydym ni'n gwneud yn brydlon? 678 00:36:03,310 --> 00:36:04,210 >> SIARADWR 1: Amdanom 15. 679 00:36:04,210 --> 00:36:05,543 >> HUGH Zabriskie: 15 munud ar ôl? 680 00:36:05,543 --> 00:36:06,160 OK, oer. 681 00:36:06,160 --> 00:36:08,170 Felly byddwn yn rasio ar y blaen yma. 682 00:36:08,170 --> 00:36:13,500 >> Felly y bôn, y prif bwynt meddwl am hyn fel biblinell 683 00:36:13,500 --> 00:36:16,430 yw bod pob cam ar y gweill yn gyfres o nodau sain. 684 00:36:16,430 --> 00:36:19,284 685 00:36:19,284 --> 00:36:20,950 Mae ein ffynhonnell, gadewch i ni ddweud, yn osgiliadur. 686 00:36:20,950 --> 00:36:23,380 Mae angen i ni greu nod osgiliadur. 687 00:36:23,380 --> 00:36:25,690 A dyna yn unig fath o'r function-- bach 688 00:36:25,690 --> 00:36:30,460 ac maen nhw i gyd yn seiliedig allan o'r cyd-destun sain yma. 689 00:36:30,460 --> 00:36:32,885 >> GYNULLEIDFA: Pan ddywedodd osgiliadur, mae hynny'n ei olygu 690 00:36:32,885 --> 00:36:37,250 'i' mewn gwirionedd yn llythrennol yn mynd o ddau begwn gwahanol yn ôl ac ymlaen? 691 00:36:37,250 --> 00:36:41,170 >> HUGH Zabriskie: Na, mae fel cynrychiolaeth ddigidol. 692 00:36:41,170 --> 00:36:42,740 Mae wedi rhoi ar waith mewn gwirionedd yn C ++. 693 00:36:42,740 --> 00:36:46,460 Fi 'n weithredol ddim yn gwybod y specs o sut y mae'n cael ei roi ar waith mewn gwirionedd, 694 00:36:46,460 --> 00:36:48,500 ond mae hyn i gyd yn gweithio fel data deuaidd. 695 00:36:48,500 --> 00:36:51,260 696 00:36:51,260 --> 00:36:52,370 A dweud y gwir, yeah. 697 00:36:52,370 --> 00:36:53,950 Byddai hynny'n cael ei ddweud, y gallwn mewn gwirionedd, os oes gennych ddiddordeb, 698 00:36:53,950 --> 00:36:56,533 Gallwn anfon ychydig yn fwy i chi gwybodaeth am sut y tonffurfiau 699 00:36:56,533 --> 00:37:00,181 yn cael eu cadw cael fformat digidol. 700 00:37:00,181 --> 00:37:00,680 OK, oer. 701 00:37:00,680 --> 00:37:03,120 >> Felly rydym yn cynhyrchu tôn fel sine tonnau neu rywbeth fel 'na, efallai 702 00:37:03,120 --> 00:37:04,190 440 Hertz. 703 00:37:04,190 --> 00:37:05,830 Rydym yn creu osgiliadur. 704 00:37:05,830 --> 00:37:09,180 Os ydym am osod y gyfrol, rydym yn cysylltu unrhyw beth i GainNode, 705 00:37:09,180 --> 00:37:12,500 y gallem ei wneud gyda .creategain. 706 00:37:12,500 --> 00:37:14,250 Sy'n gosod eich cyfaint. 707 00:37:14,250 --> 00:37:17,820 Gallwch drosglwyddo hynny ar unrhyw y llall options-- dda, 708 00:37:17,820 --> 00:37:20,300 felly ffynhonnell byffer sain nôd yn lle rydych efallai 709 00:37:20,300 --> 00:37:23,660 storio MP3 yr ydych wedi llwytho i mewn. 710 00:37:23,660 --> 00:37:27,670 >> Biquad hidlo ar gyfer hidlo os ydych chi am gymryd yr holl y sylfaen allan 711 00:37:27,670 --> 00:37:29,630 o gân, neu rywbeth fel 'na. 712 00:37:29,630 --> 00:37:32,450 Duw yn gwahardd ydych am gymryd y sylfaen allan o gân. 713 00:37:32,450 --> 00:37:36,980 A nod AudioDestination yw, unwaith eto, fel lle mae ein gwblhau yn. 714 00:37:36,980 --> 00:37:39,980 Os oes gennych ddiddordeb mewn gweld erioed yr holl opsiynau gwahanol posibl, 715 00:37:39,980 --> 00:37:45,190 dim ond yn mynd i'r tab a gadael y auto-gwblhau yn dod i fyny. 716 00:37:45,190 --> 00:37:48,690 Ac os ydych yn creu, byddwch yn gweld yr holl gwahanol bethau y gallwch greu. 717 00:37:48,690 --> 00:37:50,398 Gallwch greu deinamig proseswyr sgript, 718 00:37:50,398 --> 00:37:52,940 Dydw i ddim hyd yn oed yn gwybod beth sy'n yw, ar gyfer cymysgu uno sianel 719 00:37:52,940 --> 00:37:55,930 a holltwyr sianel a hynny i gyd. 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 >> Felly, mae hyn yn unig yw enghraifft o biblinell. 723 00:38:01,390 --> 00:38:03,580 Felly mae gennym dair ffynhonnell yn dod i mewn. 724 00:38:03,580 --> 00:38:06,830 Efallai y rhain yn tonffurfiau, efallai y rhain yn MP3s. 725 00:38:06,830 --> 00:38:08,740 Mae un yn mynd trwy hidlo, y naill a'r llall 726 00:38:08,740 --> 00:38:12,404 cael gwyrgam arall un yn panio chwith ac i'r dde. 727 00:38:12,404 --> 00:38:15,320 Gallwch wneud pob math o bethau a maent i gyd yn cael eu cymysgu gyda'i gilydd o amgylch, 728 00:38:15,320 --> 00:38:18,880 ac yna allan daw'r sain ar y diwedd, fel cyrchfan. 729 00:38:18,880 --> 00:38:22,720 Mae hyn yn enghraifft o'r hyn y mwy Web cod Audio cymhleth edrych fel. 730 00:38:22,720 --> 00:38:26,720 Rydych yn creu rhain i gyd gwahanol wrthrychau iawn Yma-- 731 00:38:26,720 --> 00:38:27,706 Dwi ddim yn siŵr o hyn. 732 00:38:27,706 --> 00:38:29,120 Na, nid yw'n chwyddo i mewn. 733 00:38:29,120 --> 00:38:29,620 IAWN. 734 00:38:29,620 --> 00:38:31,257 >> SAM GWYRDD: Rydych yn gwneud Reoli, Sgroliwch-Up. 735 00:38:31,257 --> 00:38:32,590 HUGH Zabriskie: Rheoli Scroll-- 736 00:38:32,590 --> 00:38:33,000 SAM GREEN: Na, na. 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: O, Rheolaeth, Sgroliwch? 740 00:38:38,140 --> 00:38:38,780 Oh, gotcha. 741 00:38:38,780 --> 00:38:41,480 Yeah. 742 00:38:41,480 --> 00:38:42,240 Wow, Na, Na. 743 00:38:42,240 --> 00:38:42,740 IAWN. 744 00:38:42,740 --> 00:38:46,090 Ni fyddaf yn gwneud hynny. 745 00:38:46,090 --> 00:38:48,300 >> Felly ie, yn hyn yn gyntaf adran yma, byddwch yn gweld 746 00:38:48,300 --> 00:38:52,720 rydym yn creu rhain i gyd yn wahanol nodau allan o'r cyd-destun. 747 00:38:52,720 --> 00:38:54,980 Rydym yn unig yn eu piecing gyda'i gilydd yn yr ail ran 748 00:38:54,980 --> 00:38:56,980 gan y swyddogaeth hon o'r enw Connect. 749 00:38:56,980 --> 00:38:58,830 Mae hynny'n wir yn allweddol swyddogaeth mewn Gwe Sain. 750 00:38:58,830 --> 00:39:01,930 'I jyst yn golygu unwaith y byddwch wedi gwneud rhywbeth gyda'r sain mewn un nod, 751 00:39:01,930 --> 00:39:03,705 basio ymlaen at y nôd nesaf. 752 00:39:03,705 --> 00:39:05,830 Felly mae gennym y ffynhonnell, mae'n cysylltu i'r analyzer, 753 00:39:05,830 --> 00:39:09,140 y dadansoddwr yn gwneud rhywbeth ag ef, mae'n mynd i ystumio, ac yn y blaen, 754 00:39:09,140 --> 00:39:12,725 ac i'r gyrchfan ar y gwaelod ar y dde yma. 755 00:39:12,725 --> 00:39:13,225 Cool. 756 00:39:13,225 --> 00:39:14,640 Iawn, felly byddwn yn dal i symud ymlaen. 757 00:39:14,640 --> 00:39:17,180 >> Mae'r pipeline-- eto, mae'r rhain yn yw'r piblinellau mwyaf cyffredin, 758 00:39:17,180 --> 00:39:21,300 felly byddwn yn sôn am yr holl bethau hyn fel distortion, panio, holl bethau hyn. 759 00:39:21,300 --> 00:39:24,280 Os oes gennych ddiddordeb gwirioneddol wrth ddefnyddio pethau Pro Tools, 760 00:39:24,280 --> 00:39:25,820 Mae'n debyg y rhai o ddiddordeb i chi. 761 00:39:25,820 --> 00:39:27,740 Os na, efallai eich bod yn unig eisiau chwarae y sain, 762 00:39:27,740 --> 00:39:29,990 neu efallai eich bod am gosod y gyfrol ar y sain. 763 00:39:29,990 --> 00:39:35,270 Dyna'r ddau fath mwyaf cyffredin pibellau mewn cynhyrchu sain. 764 00:39:35,270 --> 00:39:38,640 >> Unwaith eto, y ffyrdd y gallwch fynd â hi mewn fel oscillator-- felly, gadewch i ni 765 00:39:38,640 --> 00:39:42,460 yn gwneud y demo o hynny dde yma. 766 00:39:42,460 --> 00:39:47,090 767 00:39:47,090 --> 00:39:52,225 Felly rydym yn mynd i greu cyd-destun sain syml yma, 768 00:39:52,225 --> 00:39:54,350 ac o hynny rydym yn mynd i greu ein osgiliadur. 769 00:39:54,350 --> 00:39:58,620 Felly mae hynny'n, unwaith eto, rydym yn unig mynd i alw Creu Oscillator. 770 00:39:58,620 --> 00:40:07,030 Rydym yn mynd i osod amlder ar hynny, 440 Hertz, hoff pawb. 771 00:40:07,030 --> 00:40:13,290 Yna, rydym yn cysylltu hynny i'r gyrchfan point-- sef y siaradwr, felly 772 00:40:13,290 --> 00:40:15,750 y gyrchfan cyd-destun. 773 00:40:15,750 --> 00:40:21,400 Yn olaf, rydym yn unig yn dweud, yn dechrau sero eiliad o hyn, ac nid ydym wedi swnio? 774 00:40:21,400 --> 00:40:22,400 >> [Modrwyo] 775 00:40:22,400 --> 00:40:24,980 >> HUGH Zabriskie: Yma rydym yn mynd. 776 00:40:24,980 --> 00:40:25,940 'I' jyst ton sin. 777 00:40:25,940 --> 00:40:26,440 OK, oer. 778 00:40:26,440 --> 00:40:28,274 Ac yna byddwn yn rhoi'r gorau i hynny. 779 00:40:28,274 --> 00:40:30,520 >> GYNULLEIDFA: Ble wnaeth bod adborth yn dod? 780 00:40:30,520 --> 00:40:31,250 >> HUGH Zabriskie: Y adborth? 781 00:40:31,250 --> 00:40:32,458 O, yn ôl pob tebyg mae ein meicroffonau. 782 00:40:32,458 --> 00:40:34,221 783 00:40:34,221 --> 00:40:35,470 Felly ie, dyna sut yr ydych yn ei wneud. 784 00:40:35,470 --> 00:40:37,261 Ac mewn gwirionedd, os oedd gen i cadw rhedeg, byddwch yn 785 00:40:37,261 --> 00:40:39,540 Gallai gael pa mor aml werth fel ei fod yn rhedeg, 786 00:40:39,540 --> 00:40:43,320 felly mae hynny'n beth hwyliog i'w chwarae o gwmpas. 787 00:40:43,320 --> 00:40:44,930 Cool. 788 00:40:44,930 --> 00:40:46,600 Mae hynny bob amser yn un hyfryd i gyflwyno. 789 00:40:46,600 --> 00:40:48,792 >> SAM GWYRDD: Nid ydym yn gwneud meddwl am hynny, wnaethom ni? 790 00:40:48,792 --> 00:40:50,500 HUGH Zabriskie: Yeah, mae hynny'n un cas. 791 00:40:50,500 --> 00:40:53,249 Felly, byffer loading-- 'n annhymerus' yn dangos enghraifft o hynny yn y pen iawn. 792 00:40:53,249 --> 00:40:55,090 Dyna llwytho ar MP3. 793 00:40:55,090 --> 00:40:58,880 A meicroffon, byddwch yn defnyddio dim ond swyddogaeth Gelwir Navigator.getUserMedia () 794 00:40:58,880 --> 00:41:03,240 i ofyn am fynediad at y defnyddiwr meicroffon am y wybodaeth honno. 795 00:41:03,240 --> 00:41:05,610 >> Sy'n hidlo Yma, byddaf jyst cadw i symud o hyn. 796 00:41:05,610 --> 00:41:08,600 Mae hyn yn lefel eithaf uchel, ond hidlwyr dim ond byddwch yn caniatáu i 797 00:41:08,600 --> 00:41:16,154 >> [Gwneud sain] 798 00:41:16,154 --> 00:41:18,320 Hidlo hefyd yn caniatáu i chi i greu pethau fel pinc 799 00:41:18,320 --> 00:41:20,050 sŵn, sŵn brown, sŵn gwyn. 800 00:41:20,050 --> 00:41:24,330 Os ydych am greu sŵn pur, a oedd yn mae rhai pobl wrth eu bodd yn chwarae o gwmpas gyda, 801 00:41:24,330 --> 00:41:27,490 gallwch ddefnyddio Gwe Audio hidlo i wneud hynny. 802 00:41:27,490 --> 00:41:30,039 >> Sain Panning-- felly dychmygwch os ydych yn ysgrifennu gêm 803 00:41:30,039 --> 00:41:32,330 ac rydych am i'r sain i swnio fel ei fod yn dod, fel, 804 00:41:32,330 --> 00:41:36,090 saethu ar draws y sgrin, byddwch yn yn gallu defnyddio'r panio y sain 805 00:41:36,090 --> 00:41:39,770 i greu y math hwn o côn, sy'n like-- 'i' 'n bert Mathy, 806 00:41:39,770 --> 00:41:41,850 ond mae'n mewn gwirionedd 'n sylweddol oer os ydych yn cael iddo weithio, 807 00:41:41,850 --> 00:41:44,500 ac mae rhywfaint da sesiynau tiwtorial arno gallaf anfon atoch. 808 00:41:44,500 --> 00:41:46,400 Yn y bôn, gallwch garedig o greu'r sain 809 00:41:46,400 --> 00:41:50,480 o rywbeth sy'n mynd trwy mewn ffordd 3D. 810 00:41:50,480 --> 00:41:57,350 Ac os oes gennych fuddiant DJ, gallwch dechrau cymysgu a croesi caneuon pylu. 811 00:41:57,350 --> 00:42:01,260 >> Mae hyn yn unig rhai sylfaenol iawn cod, yn y bôn yr hyn a wnaeth i mi o'r blaen. 812 00:42:01,260 --> 00:42:06,140 Mae hyn yn gosod y cyfaint y osgiliadur, felly rydym yn creu ein osgiliadur 813 00:42:06,140 --> 00:42:07,380 sy'n creu'r tonffurf. 814 00:42:07,380 --> 00:42:09,940 Rydym yn creu ein GainNode, gosod ein amlder, 815 00:42:09,940 --> 00:42:14,170 ac yna cysylltu y osgiliadur i'r GainNode, sydd wedyn yn y bôn yn newid 816 00:42:14,170 --> 00:42:16,760 faint o signal yn cael ei ganiatáu drwodd. 817 00:42:16,760 --> 00:42:20,467 Ond mewn gwirionedd, mae'n digidol peth, felly mae'n fwy just-- yeah. 818 00:42:20,467 --> 00:42:23,550 Dyw hynny ddim yn beth sy'n digwydd mewn gwirionedd, ond dyna beth sy'n digwydd mewn bywyd go iawn 819 00:42:23,550 --> 00:42:24,393 gyda chynnydd. 820 00:42:24,393 --> 00:42:27,258 >> GYNULLEIDFA: --quantization y paramedr gyfrol? 821 00:42:27,258 --> 00:42:28,174 HUGH Zabriskie: Mae'n ddrwg gennyf? 822 00:42:28,174 --> 00:42:30,360 GYNULLEIDFA: A yw'n paramedr cyfaint quantized? 823 00:42:30,360 --> 00:42:31,840 HUGH Zabriskie: Yeah. 824 00:42:31,840 --> 00:42:34,620 Ac mae hyn yn un peth Dwi wir ddiffygiol ymlaen yn fy ngwybodaeth, 825 00:42:34,620 --> 00:42:38,010 sut mae ennill yn gweithio ar lefel digidol. 826 00:42:38,010 --> 00:42:40,140 Yr wyf yn gwybod â gwir signalau, yn y bôn 827 00:42:40,140 --> 00:42:45,120 rheoli faint rydych yn ymhelaethu y signal. 828 00:42:45,120 --> 00:42:47,017 Felly, yeah. 829 00:42:47,017 --> 00:42:50,100 'N annhymerus' yn anfon rhagor o wybodaeth amdanoch chi hynny, oherwydd byddwn i'n fod yn chwilfrydig mewn gwirionedd 830 00:42:50,100 --> 00:42:51,099 wybod mwy am hynny. 831 00:42:51,099 --> 00:42:54,090 Ond yn y bôn y paramedrau chi, mae un yn y fold-- 832 00:42:54,090 --> 00:42:59,690 y signal-- uwch ac sero oes arwydd, neu ni fyddwch yn clywed unrhyw sŵn. 833 00:42:59,690 --> 00:43:03,150 Byddwn yn sgipio amser demo ar gyfer hynny oherwydd yn y bôn yr hyn a wnaeth i mi o'r blaen. 834 00:43:03,150 --> 00:43:07,630 Ac eto, mae'r Context.Destination yw'r nod gyrchfan sain. 835 00:43:07,630 --> 00:43:08,360 Awesome, OK. 836 00:43:08,360 --> 00:43:10,470 >> Felly, yr wyf i'n mynd i wneud cyflym dau demos. 837 00:43:10,470 --> 00:43:11,760 Sut ydym ni'n gwneud yn brydlon? 838 00:43:11,760 --> 00:43:12,640 >> SIARADWR 1: Tua 10 munud. 839 00:43:12,640 --> 00:43:13,130 >> HUGH Zabriskie: 10 munud? 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 >> Felly, mae'r un cyntaf i mi i'n mynd i peidiwch, fe'i gelwir My Song Hoff. 843 00:43:19,010 --> 00:43:22,410 Felly, mae hyn yn unig yw Ychydig HTML JavaScript. 844 00:43:22,410 --> 00:43:25,510 Rydym yn mynd i gael dau fotwm ar y dudalen chwarae fy hoff gân 845 00:43:25,510 --> 00:43:29,192 a rhoi'r gorau i fy hoff gân. 846 00:43:29,192 --> 00:43:30,180 'N annhymerus' newid hyn. 847 00:43:30,180 --> 00:43:32,110 >> GYNULLEIDFA: Gorchuddiwch eich meicroffon. 848 00:43:32,110 --> 00:43:33,430 >> HUGH Zabriskie: Yeah. 849 00:43:33,430 --> 00:43:36,300 Ac yr wyf i wedi llwytho i mewn yma sgript sy'n basically-- 850 00:43:36,300 --> 00:43:38,520 ac mae hyn yn ddefnyddiol iawn ar gyfer llwytho MP3, 851 00:43:38,520 --> 00:43:41,820 felly mae hyn yn unig yn gwneud llwytho MP3s ffordd gyflymach. 852 00:43:41,820 --> 00:43:44,180 Mae'n bôn yn unig papur lapio. 853 00:43:44,180 --> 00:43:48,737 'I jyst yn gwneud y broses o llwytho yn MP3s yn gynt o lawer, 854 00:43:48,737 --> 00:43:51,570 fel arall ydych yn defnyddio cais HTTP, math o fel hyn yr ydym yn ei wneud 855 00:43:51,570 --> 00:43:53,950 ar y darn cyfredol gosod gyda Gweinydd. 856 00:43:53,950 --> 00:43:55,950 Mae'n wirioneddol hyll, yr ydych nad ydynt am wneud hynny. 857 00:43:55,950 --> 00:44:04,110 >> Felly guy hwn, Boris Smus, ysgrifennodd 'n sylweddol teclyn bach defnyddiol o'r enw BufferLoader. 858 00:44:04,110 --> 00:44:08,780 Mae'r holl chi ei wneud yn syml basio y cyd-destun, byddwch yn mynd heibio iddo yn list-- 859 00:44:08,780 --> 00:44:11,327 neu, ie, a yw'n rhestr yn JavaScript? 860 00:44:11,327 --> 00:44:12,160 SAM GWYRDD: Mae rhesi. 861 00:44:12,160 --> 00:44:14,201 HUGH Zabriskie: O, mae'n amrywiaeth, sy'n iawn. 862 00:44:14,201 --> 00:44:18,660 Mae'n amrywiaeth o lwybrau i wahanol ffeiliau. 863 00:44:18,660 --> 00:44:21,990 Ac yna byddwch yn mynd heibio ei swyddogaeth. 864 00:44:21,990 --> 00:44:25,530 Mae hyn yn y galw'n ôl oeddem yn sôn am â llwytho asynchronous. 865 00:44:25,530 --> 00:44:28,720 Bydd hynny'n cael eu galw unwaith y bydd y ffeiliau llwytho. 866 00:44:28,720 --> 00:44:33,780 A bod swyddogaeth sy'n cael ei alw'n pan y ffeil yn llwytho yn cymryd fel perimedr 867 00:44:33,780 --> 00:44:35,840 amrywiaeth o byfferau llwytho. 868 00:44:35,840 --> 00:44:37,990 Felly mae hynny'n digwydd yma. 869 00:44:37,990 --> 00:44:41,180 Yn y bôn, BufferList yw mynd i fod yn un value-- 870 00:44:41,180 --> 00:44:46,380 neu mae'n mynd i fod yn amrywiaeth o Hyd un, sydd wedi yn ei yn y mynegai 871 00:44:46,380 --> 00:44:51,320 sero y ffeil llwytho cyfan y MP3. 872 00:44:51,320 --> 00:44:53,320 Felly, yr hyn yr wyf yn ei wneud pan fyddaf yn gorffen llwytho yw, yr wyf yn syml 873 00:44:53,320 --> 00:44:57,430 creu ffynhonnell byffer, a oedd yn yn nod ffynhonnell byffer sain. 874 00:44:57,430 --> 00:45:03,410 Y cam nesaf yw fy mod yn llwytho yn y source.buffer gan fod y byffer llwytho llawn 875 00:45:03,410 --> 00:45:06,740 oddi wrth y BufferList-- ei fod yn llawer o buffers-- 876 00:45:06,740 --> 00:45:10,255 ac yna byddwch yn cysylltu y sain byffer i'r gyrchfan. 877 00:45:10,255 --> 00:45:12,380 Felly, beth mae'n mynd i wneud dim ond yn syml, rhowch y MP3 878 00:45:12,380 --> 00:45:15,260 yn syth drwodd i'r allbwn, a dechrau ar unwaith 879 00:45:15,260 --> 00:45:18,010 ar gael yr alwad hon. 880 00:45:18,010 --> 00:45:21,660 >> Cool, felly gadewch i ni weld hyn yn digwydd ar waith. 881 00:45:21,660 --> 00:45:24,490 My [Anghlywadwy] yma, gadewch i ni weld. 882 00:45:24,490 --> 00:45:26,430 Felly, Im 'jyst yn mynd i cychwyn gweinydd sylfaenol. 883 00:45:26,430 --> 00:45:28,660 Mae hynny'n rhywbeth y angen i chi ei wneud os ydych chi'n 884 00:45:28,660 --> 00:45:32,490 gwneud ceisiadau am ffeiliau llwytho. 885 00:45:32,490 --> 00:45:34,140 Rydw i'n mynd i ddechrau gweinydd sylfaenol. 886 00:45:34,140 --> 00:45:38,200 Mae hyn yn y bôn eich cyfan PSET ar hyn o bryd yn un llinell, 887 00:45:38,200 --> 00:45:43,930 ond mae ond yn dechrau gweinydd ar borth 80/80. 888 00:45:43,930 --> 00:45:47,300 Felly, rydym yn mynd dros yma, rydym yn mynd i lwytho 80/80, 889 00:45:47,300 --> 00:45:49,110 rydym yn mynd i fynd i Fy Hoff Song. 890 00:45:49,110 --> 00:45:51,660 Felly, os wyf yn taro "Chwarae fy hoff gân "ar hyn o bryd, 891 00:45:51,660 --> 00:45:53,964 mae'n mynd i lwytho fy hoff gân a chwarae iddo-- 892 00:45:53,964 --> 00:45:55,880 [CERDDORIAETH - THE EAGLES, "BYWYD YN Y FAST  LANE "] 893 00:45:55,880 --> 00:46:00,490 --which digwydd bod "Mae bywyd yn mae'r Lane Cyflym "gan The Eagles. 894 00:46:00,490 --> 00:46:06,346 Yn awr, gallwn i daro "Stopiwch fy hoff gân "ac yn ail-chwarae iddo. 895 00:46:06,346 --> 00:46:09,160 >> [CERDDORIAETH - THE EAGLES, "BYWYD YN Y FAST  LANE "] 896 00:46:09,160 --> 00:46:18,340 >> Ac os af draw i chysura, oherwydd Roeddwn i'n arfer newidyn byd-eang dros yma 897 00:46:18,340 --> 00:46:23,390 i gadw golwg ar y gwerth hwn, mewn gwirionedd mae'n yn awr yn cael ei gydnabod yn y consol. 898 00:46:23,390 --> 00:46:25,160 Felly mae'n auto-greu i mi. 899 00:46:25,160 --> 00:46:29,991 Felly dyna beth sy'n chwarae ar hyn o bryd, a gallaf ffoniwch source.stop () 900 00:46:29,991 --> 00:46:30,490 ar hynny. 901 00:46:30,490 --> 00:46:34,930 902 00:46:34,930 --> 00:46:35,860 Wel, chi'n gwybod beth? 903 00:46:35,860 --> 00:46:39,760 Yn union fel eich guys wedi clywed hyn song-- efallai y byddwch yn adnabod y gân. 904 00:46:39,760 --> 00:46:41,801 >> [CERDDORIAETH - RICK Astley, "PEIDIWCH BYTH gonna RHOI  CHI UP "] 905 00:46:41,801 --> 00:46:42,299 906 00:46:42,299 --> 00:46:44,215 [CERDDORIAETH - THE EAGLES, "BYWYD YN Y FAST  LANE "] 907 00:46:44,215 --> 00:46:46,195 Rydym wedi erbyn hyn i gyd wedi'u Rickrolled. 908 00:46:46,195 --> 00:46:50,155 OK, mawr, gan symud ymlaen. 909 00:46:50,155 --> 00:46:51,160 Cool. 910 00:46:51,160 --> 00:46:54,554 Felly, mae hyn yn y bôn yn enghraifft o yn union sut y gallech lwytho MP3 file-- 911 00:46:54,554 --> 00:46:56,470 [CERDDORIAETH - THE EAGLES, "BYWYD YN Y FAST  LANE "] 912 00:46:56,470 --> 00:46:59,590 --and ei chwarae, ac yn stopio a dechrau ei. 913 00:46:59,590 --> 00:47:03,008 Gallwn fod wedi gwneud llawer mwy [Anghlywadwy] 914 00:47:03,008 --> 00:47:07,570 >> Mae'r un olaf 'n annhymerus' ei wneud yw, Byddaf yn dangos i chi a [Anghlywadwy]. 915 00:47:07,570 --> 00:47:18,070 >> [CHWARAE CERDDORIAETH] 916 00:47:18,070 --> 00:47:21,800 >> Mae fel, ogg.wave.mp3. 917 00:47:21,800 --> 00:47:26,450 Yr wyf yn meddwl, os cofiaf yn iawn, Rydw i wedi rhedeg i mewn i rai materion gyda .m4a, 918 00:47:26,450 --> 00:47:27,721 ond nid wyf yn siŵr am hynny. 919 00:47:27,721 --> 00:47:28,470 Rwy'n credu mp3.wave-- 920 00:47:28,470 --> 00:47:28,930 921 00:47:28,930 --> 00:47:30,971 >> [CERDDORIAETH - RICK Astley, "PEIDIWCH BYTH gonna RHOI  CHI UP "] 922 00:47:30,971 --> 00:47:35,930 923 00:47:35,930 --> 00:47:36,500 >> OK, mawr. 924 00:47:36,500 --> 00:47:37,625 Ni ddylai wyf wedi dweud hynny. 925 00:47:37,625 --> 00:47:40,570 Beth bynnag, helo. 926 00:47:40,570 --> 00:47:43,430 927 00:47:43,430 --> 00:47:45,490 Felly, rydym wedi hyn ar agor. 928 00:47:45,490 --> 00:47:52,320 Felly, erbyn hyn i gyd yr wyf yn ei wneud yw, yr wyf yn creu y bôn yn gystrawennau sylfaenol ar gyfer creu cerddoriaeth. 929 00:47:52,320 --> 00:47:57,610 Felly, os wyf yn gwneud rhywbeth fel, ychwanegwch G4 ar 1 2, beth mae hynny'n ei olygu yw bod, 930 00:47:57,610 --> 00:48:00,950 ychwanegwch y nodyn piano, G4, sef y pedwerydd G 931 00:48:00,950 --> 00:48:02,680 i fyny ar y piano o'r gwaelod. 932 00:48:02,680 --> 00:48:05,930 Felly, mae hyn yn fath o MIDI siarad, felly ar gyfer y rhai sy'n seiliedig ar gerddoriaeth, 933 00:48:05,930 --> 00:48:07,860 mae hyn yn nodiadau unig MIDI. 934 00:48:07,860 --> 00:48:10,090 >> GYNULLEIDFA: Dyna y G o'r Canol C, dde? 935 00:48:10,090 --> 00:48:11,840 >> HUGH Zabriskie: Mae hyn yn y G uwchlaw Middle C, sy'n iawn. 936 00:48:11,840 --> 00:48:12,470 >> GYNULLEIDFA: Uwchben Canol C. 937 00:48:12,470 --> 00:48:13,345 >> HUGH Zabriskie: Yeah. 938 00:48:13,345 --> 00:48:14,340 A dweud y gwir, ie. 939 00:48:14,340 --> 00:48:16,131 Rwy'n credu fy mod ei wneud mewn gwirionedd mae'n un [Anghlywadwy], 940 00:48:16,131 --> 00:48:18,860 felly gallai hyn fod yn wythfed yn uwch hynny. 941 00:48:18,860 --> 00:48:20,070 Felly, gadewch i ni weld. 942 00:48:20,070 --> 00:48:21,152 Os byddaf yn taro Play-- 943 00:48:21,152 --> 00:48:22,110 [NODER PIANO AILADRODDOL] 944 00:48:22,110 --> 00:48:23,200 --we're mynd i glywed hynny. 945 00:48:23,200 --> 00:48:25,700 Y syniad yw ei fod yn gweithredu yn union fel y byddai llinell gorchymyn, 946 00:48:25,700 --> 00:48:27,510 felly os wyf yn mynd i fyny ac i lawr ar fy bysellfwrdd, i chi 947 00:48:27,510 --> 00:48:31,550 Gall fynd yn ôl at blaenorol gorchmynion, sydd yn eithaf defnyddiol. 948 00:48:31,550 --> 00:48:35,136 Ac isod mae fy rhestr o draciau, sydd i gyd yn rhedeg ar ddolen. 949 00:48:35,136 --> 00:48:38,260 >> GYNULLEIDFA: Yr oeddech yn tybio y 88-allweddol bysellfwrdd ar hynny, dde? 950 00:48:38,260 --> 00:48:41,051 >> HUGH Zabriskie: Y cwestiwn oedd, ydw i'n tybio bysellfwrdd 88-allweddol, 951 00:48:41,051 --> 00:48:41,990 ac ydw, dw i'n. 952 00:48:41,990 --> 00:48:45,030 Beth wnes i yw fy mod Cymerodd y bôn 88 o samplau 953 00:48:45,030 --> 00:48:46,970 y piano, un ar gyfer pob nodyn. 954 00:48:46,970 --> 00:48:49,180 Ac felly bob tro y byddwch clywed nodyn o hyn ymlaen, 955 00:48:49,180 --> 00:48:57,550 sydd mewn gwirionedd dolen sy'n edrych like-- mae hyn yn cael ei chwarae ar ddolen, 956 00:48:57,550 --> 00:49:00,120 felly ar gyfer pob nodyn, mae hyn yn rhedeg. 957 00:49:00,120 --> 00:49:02,860 Beth fydd yn digwydd yw, yr wyf yn creu byffer eto, 958 00:49:02,860 --> 00:49:06,010 Yr wyf yn creu ennill nod i osod y gyfrol. 959 00:49:06,010 --> 00:49:08,240 Mae hyn yn unig yw n sylweddol ffordd gymhleth o ddweud fy mod 960 00:49:08,240 --> 00:49:10,550 storio'r byffer mewn source.buffer. 961 00:49:10,550 --> 00:49:13,160 Yr wyf yn rhoi yr ennill, yr wyf yn cysylltu i'r enillion, 962 00:49:13,160 --> 00:49:15,576 yr ennill yn gysylltiedig â'r allbwn, ac yna yr wyf yn chwarae arno. 963 00:49:15,576 --> 00:49:20,735 Felly dyna'r fath o broses o gymryd yn ffynhonnell clustogi. 964 00:49:20,735 --> 00:49:24,820 >> GYNULLEIDFA: Allwch chi mewn gwirionedd yn cymryd hynny sain sych a'i wneud yn wlyb [Anghlywadwy]? 965 00:49:24,820 --> 00:49:26,260 >> HUGH Zabriskie: Gallwch, yeah. 966 00:49:26,260 --> 00:49:29,260 Mae ail-ferf, mae ' oedi, aflunio. 967 00:49:29,260 --> 00:49:33,260 Gallwch bôn rhoi unrhyw beth mewn rhwng yn y frechdan o- dda, 968 00:49:33,260 --> 00:49:37,660 biblinell yn drosiad gwell, ond gallwch ychwanegu unrhyw beth yn hynny. 969 00:49:37,660 --> 00:49:38,200 Cool. 970 00:49:38,200 --> 00:49:40,280 >> Felly byddaf yn gorffen y demo yma i roi ymdeimlad i chi 971 00:49:40,280 --> 00:49:46,390 o ddim ond y nifer fawr o weithiau yr ydych Gall rhedeg y swyddogaeth honno i gyd ar unwaith. 972 00:49:46,390 --> 00:49:49,280 Felly dw i'n mynd i gael gwared ar hyn. 973 00:49:49,280 --> 00:49:59,110 Rydw i'n mynd i greu generadur that-- yn y bôn yr hyn does-- hyn yn wir 974 00:49:59,110 --> 00:50:04,220 fath o syntax-- gymhleth ond mae'n mynd i gynhyrchu nodiadau ar y hedfan, 975 00:50:04,220 --> 00:50:06,601 a dim ond dechrau chwarae iddynt fel ei fod yn eu gwerthuso. 976 00:50:06,601 --> 00:50:07,392 [Gosod eu hunain yn PIANO] 977 00:50:07,392 --> 00:50:10,990 978 00:50:10,990 --> 00:50:12,817 >> Felly, gallwn yn unig yn gwneud ychydig o gerddoriaeth yma. 979 00:50:12,817 --> 00:50:13,608 [Gosod eu hunain yn PIANO] 980 00:50:13,608 --> 00:50:39,570 981 00:50:39,570 --> 00:50:41,470 >> Felly beth gorchymyn hwn ei wneud, er enghraifft, yw 982 00:50:41,470 --> 00:50:46,910 mae'n cymryd tri nodyn rhai ar gyfer y piano ac yna yn eu rhoi ar B3. 983 00:50:46,910 --> 00:50:48,660 Gallai hyn gystrawen yn gwneud ychydig mwy o synnwyr 984 00:50:48,660 --> 00:50:50,590 i'r rhai sydd â cefndir cerddoriaeth yma. 985 00:50:50,590 --> 00:50:55,180 986 00:50:55,180 --> 00:50:56,551 >> Gallaf ychwanegu drwm cic. 987 00:50:56,551 --> 00:50:57,050 Dwi'n gallu-- 988 00:50:57,050 --> 00:50:58,048 >> [Gosod eu hunain yn OFFERYNNAU] 989 00:50:58,048 --> 00:50:59,256 >> --just chwarae o gwmpas gyda hynny. 990 00:50:59,256 --> 00:51:12,519 991 00:51:12,519 --> 00:51:13,474 >> Felly, gallwch make-- 992 00:51:13,474 --> 00:51:14,515 [Gosod eu hunain yn OFFERYNNAU] 993 00:51:14,515 --> 00:51:15,513 Dyna un ychydig yn fwy blino. 994 00:51:15,513 --> 00:51:16,554 [Gosod eu hunain yn OFFERYNNAU] 995 00:51:16,554 --> 00:51:26,491 996 00:51:26,491 --> 00:51:30,981 >> Er mwyn i hap ychwanegu symbal sych ar bob 16eg nodyn, gyda 16% 997 00:51:30,981 --> 00:51:31,481 [Anghlywadwy]. 998 00:51:31,481 --> 00:51:32,522 >> [Gosod eu hunain yn OFFERYNNAU] 999 00:51:32,522 --> 00:51:40,962 1000 00:51:40,962 --> 00:51:50,400 >> Yeah, felly y ffordd hon works-- mae bob amser yn 4: 4. 1001 00:51:50,400 --> 00:51:51,441 [Gosod eu hunain yn OFFERYNNAU] 1002 00:51:51,441 --> 00:52:06,910 1003 00:52:06,910 --> 00:52:10,902 >> Yeah, felly y pedwar chwarter, a 16/8. 1004 00:52:10,902 --> 00:52:14,851 1005 00:52:14,851 --> 00:52:15,892 [Gosod eu hunain yn OFFERYNNAU] 1006 00:52:15,892 --> 00:52:27,970 1007 00:52:27,970 --> 00:52:33,780 >> Felly, ar gyfartaledd, byddwch yn cael 60% o hits ar y nodiadau 16eg. 1008 00:52:33,780 --> 00:52:35,990 >> Anyways, roedd hyn yn unig math o i ddangos 1009 00:52:35,990 --> 00:52:39,780 rhai o'r pethau gallech adeiladu gyda'r We API Sain. 1010 00:52:39,780 --> 00:52:43,840 Mae'n wirioneddol pwerus, 'i' 'n sylweddol yn gyflym, a gallwch wneud llawer o bethau cŵl 1011 00:52:43,840 --> 00:52:44,340 ag ef. 1012 00:52:44,340 --> 00:52:51,260 Felly unwaith eto, unrhyw gwestiynau sydd gennych, anfonwch e-bost myself-- Hugh-- neu Sam, 1013 00:52:51,260 --> 00:52:55,869 ac yn onest, Google wedi tunnell o adnoddau da. 1014 00:52:55,869 --> 00:52:56,660 Unrhyw gwestiynau diwethaf? 1015 00:52:56,660 --> 00:52:57,970 Yeah. 1016 00:52:57,970 --> 00:53:00,790 >> GYNULLEIDFA: Felly gallwch gael mynediad y meicroffon adeiledig yn. 1017 00:53:00,790 --> 00:53:03,089 Beth os ydych chi eisiau defnyddio meicroffon yn well? 1018 00:53:03,089 --> 00:53:05,380 HUGH Zabriskie: Os ydych yn dymuno i ddefnyddio well meicroffon? 1019 00:53:05,380 --> 00:53:11,320 Felly unwaith eto, mae hyn yn rhan o'r tynnu rhwng Chrome 1020 00:53:11,320 --> 00:53:12,950 a gweddill eich cyfrifiadur. 1021 00:53:12,950 --> 00:53:18,950 Oni bai ei fod ar gael trwy API, fel y We MIDI API, 1022 00:53:18,950 --> 00:53:22,030 Gallai pob tebyg chi ddod o hyd rhai haciau, ond yn gyffredinol nid fel ymarferol. 1023 00:53:22,030 --> 00:53:25,300 >> SAM GWYRDD: Gallwch also-- i gyd yn gwybod y Chrome 1024 00:53:25,300 --> 00:53:28,820 yw beth yw eich meicroffon rhagosodedig yw, ac mae'n mynedfeydd hynny. 1025 00:53:28,820 --> 00:53:33,410 Felly, os ydych wedi cael meicroffon gallech osod fel meicroffon diofyn cyfrifiadur, 1026 00:53:33,410 --> 00:53:35,990 gallech gael gafael yn y ffordd ac mae'n debyg y byddai'n gweithio. 1027 00:53:35,990 --> 00:53:37,490 HUGH Zabriskie: Mae hynny'n bwynt da. 1028 00:53:37,490 --> 00:53:39,656 Dydw i erioed wedi rhoi cynnig ar hynny, ond efallai y byddwch yn gallu garedig 1029 00:53:39,656 --> 00:53:45,700 o- os byddwch yn ailgyfeirio y siaradwr mewnbwn, efallai y byddwch yn gallu gwneud hynny, yeah. 1030 00:53:45,700 --> 00:53:48,360 >> Unrhyw gwestiynau diwethaf? 1031 00:53:48,360 --> 00:53:49,340 Cool. 1032 00:53:49,340 --> 00:53:51,680 Wel diolch i chi guys cymaint am wylio. 1033 00:53:51,680 --> 00:53:52,199 Rwy'n Hugh. 1034 00:53:52,199 --> 00:53:52,990 SAM GREEN: Rwy'n Sam. 1035 00:53:52,990 --> 00:53:55,410 HUGH Zabriskie: Ac mae hyn yn CS50. 1036 00:53:55,410 --> 00:53:56,767