SAM GREEN: Dia duit, gach duine. Fáilte go dtí ár seimineár. Is é mo ainm Sam. HUGH Zabriskie: Tá mé Hugh. SAM GREEN: Agus táimid ag dul chun labhairt inniu faoi ​​JavaScript agus an API Gréasáin Fuaime. Díreach chun tús a chur amach, is é seo an cur síos d'ár gclár oibre don seimineár. Táimid ag dul chun tús a chur ag caint faoi cén fáth ar chóir go mbeadh suim agat i an Gréasán API fuaime, cén fáth go bhfuil JavaScript an teanga is gá duit chun é, agus ansin labhairt faoi JavaScript essentials-- mar sin cosúil, shiúlann tú trí roinnt Basics na teanga, agus ansin labhairt faoi na API fuaime ag leibhéal ard. Ansin, beidh Hugh labhairt faoi roinnt de na céimeanna táirgthe fuaime agus ansin taispeána seo sequencer uamhnach tionscadal thóg sé agus a thaispeáint duit an cód. Agus ansin, beidh muid ag am le haghaidh ceisteanna ag an deireadh do dhaoine atá anseo ina gcónaí. HUGH Zabriskie: Cool. SAM GREEN: Cool. HUGH Zabriskie: Cool. Beidh mé ar ais ar bun. SAM GREEN: Mar sin, rudaí chéad chéad uair. Mar sin, ar cheann de na rudaí is fearr mar gheall ar an nGréasán Audio API is é sin níl aon sraith ar bun ag teastáil. Tagann sé tógtha i chun an chuid is mó brabhsálaithe nua-aimseartha, lena n-áirítear Chrome, Edge, ina n-iomláine bunch others-- go léir na cinn codanna sin mór de daoine ag baint úsáide as inniu. Mar sin tá aon bun, leataobh ó díreach ag fáil freastalaí gréasáin ag dul, le haghaidh leat chun tús a obair ar do thionscadal, rud atá iontach. Molaimid deas go mór a mheasann tú ag baint úsáide as Chrome le haghaidh Forbairt gréasáin JavaScript, ach mar gheall ar a forbróir Tá uirlisí ndáiríre láidir. Mar shampla de díreach cad atá i gceist againn ag rá oscailt suas do JavaScript console-- má théann tú isteach i Chrome agus tú ag féachaint ar aon leathanach gréasáin, agus d'fhág tú cliceáil Inspect Element, agus ansin a théann tú go dtí an beag anuas ar dheis anseo agus tú cliceáil ar Console, Feicfidh tú a fheiceáil cad Breathnaíonn osclaíonn suas lán cosúil le ordú go pras go bhfuil tú D'fhéadfadh a fheiceáil ar do Mac, nó ar an ID. Agus díreach mar sin, is féidir linn orduithe cineál anseo, cosúil le Clear, agus orduithe eile mar sin. Is féidir linn a chruthú athróg, mar beidh orainn a fheiceáil níos déanaí i JavaScript. Agus mar sin aon rud is féidir linn a dhéanamh i JavaScript, is féidir linn a dhéanamh leis an consól, agus sin ar bhealach Super handy chun tús a imirt ar fud le APIs agus ag dul compordach leis JavaScript ceart as an bat. Níl leagtar suas ag teastáil, atá i ndáiríre deas. Cool. Uamhnach. Mar sin, ach rud amháin níos mó a chur leis. Má tá questions-- bith ann go leor de tú nach bhfuil anseo ina gcónaí, leisce ort ríomhphost us-- na Is iad ár n-seoltaí ríomhphoist. Má tá ceisteanna agat nach bhfuil tú ag iarraidh a iarraidh orainn, cosúil le, OH Tá mé a bug i mo cód, nó rud éigin go bhfuil beagán níos sainiúla, b'fhéidir google ar dtús. Tá a lán de na hacmhainní mór mar gheall ar an nGréasán Fuaime API amach ann. Tá sé i ndáiríre go maith a dhoiciméadú agus tá sé ag á úsáid ag a ton de na daoine i tionscal, agus do dhaoine a bhfuil ach foirgneamh stuif spraoi dóibh féin. Mar sin, ba chóir go mbeadh a lán na n-acmhainní amach ann. Uamhnach. Cool, sin an fáth an nGréasán Fuaime API? Tá an léaráid le beagán de éabhlóid an mbealach fuaim ar an ngréasán tá sé ag fás le himeacht ama. Bhí bgsound cosúil leis an chlib HTML bunaidh go Internet Explorer úsáid chun tacú. Lig sé ach amháin le haghaidh fuaimeanna deas bunúsach, Ní raibh an fheidhmiúlacht an-láidir, agus ní fhéadfaí tú a dhéanamh seicheamhú casta, nó a rialú nuair a thosaigh fuaim agus iad a stopadh an-láidir. Mar sin, ní raibh sé go háirithe dea-fhorbartha. Ansin, tar éis sin, Flash Tháinig along-- a, Tá mé cinnte go bhfuil tú guys go léir ar an eolas le Flash-- b'fhéidir nach conas a oibríonn sé, ach tá tú ag feiceáil cinnte é. Tá sé agat a thabhairt cothrom le dáta do Flash Plug-in, gach chineál sin de stuif, agus go síneadh cinnte an raon feidhmiúlacht a bhí ar fáil. Ach a dhéanamh ar an t-úsáideoir a shuiteáil Is plug-in cinnte míbhuntáiste a n-áirítear Flash i d'iarratas, ceart? Toisc ansin tá tú ag brath ar an úsáideoir ag dul agus a aimsiú an plug-in, agus á iompú dócha amach ag an chéim breise tá siad a ghlacadh a úsáid do app. Agus ansin d'fhéadfadh a bheith ann cothrom le dáta Feicfidh a bhriseann d'iarratas ar fad, agus a chríochnaíonn sé suas a bheith ina nightmare le haghaidh an bhforbróir, freisin. Mar sin, bhí go baracáide. Agus ansin tar éis a tháinig sin chomh maith, an HTML chlib fuaime, a Is gné de HTML-- níos nua-aimseartha a cinnte cheadaítear do a lán níos mó rudaí mar sin, ach fiú na rudaí a d'fhéadfá a dhéanamh go raibh beagán teoranta ach mar thoradh ar na rudaí Bhí go HTML ann. Mar sin, nuair a bheidh an JavaScript API, an Gréasán Fuaime API, tháinig chun bheith ina chaighdeán cleachtas ar fud na brabhsálaithe, go leathnú i ndáiríre an leagan deiseanna d'fhorbróirí a fháil i ndáiríre i bhfoirgneamh stuif fuarú ar an ngréasán. Ar feadh i bhfad bhí ann curtha uirlisí ndáiríre láidir d'iarratais ó dhúchas fuaime, like-- fhios ag gach duine GarageBand, agus ansin ar ndóigh tá níos mó fuaime a mheascadh le hiarratais gairmiúla, agus gur de chineál ar stuif. Ach ní raibh ann gur maith Cloud-- ní Cloud, yeah, buille faoi thuairim mé Ardán gréasán-bhunaithe Cloud-- a thabharfadh deis forbróirí a iarratais ar dhaoine a thógáil a dhéanamh mheascadh fuaime. Agus mar beidh sé a thaispeáint duit ina dhiaidh sin, an Gréasán Fuaime API ceadaíonn ndáiríre cumhachtach stuif a tharlóidh i ndáiríre go simplí, a bhfuil deas fionnuar. Mar sin, go bhfuil an teagasc le cén fáth tú Ba chóir féachaint ar an chuid eile den seimineár, go bunúsach. Agus anois, tá mé ag dul chun labhairt faoi roinnt JavaScript-- eilimintí díreach bunúsacha na teanga, ionas go mbeidh Is féidir linn a bheith ar an leathanach céanna nuair a labhairt linn faoi ar an API beagán níos déanaí. Cool. Mar sin, is é seo achoimre. Rinne mé dearmad seo bhí anseo. Yeah. HUGH Zabriskie: Níl dhá sleamhnáin anseo. SAM GLAS: Is é seo an achoimre de roinnt de na teorainneacha de na, modhanna sean eile ceangailteach. Agus ansin anois, ní mór dúinn na rudaí seo. Cool. Uamhnach. Mar sin, essentials JavaScript. Rudaí chéad chéad, níl a difríocht shuntasach deas i JavaScript versus i teanga cosúil le C, ar an mbealach go bhfuil athróg cruthaíodh. Mar sin, i C, táimid ag úsáid ar a chun cineál ar ár athróga, ceart? Agus ní féidir liom a chiallaíonn an cineál cosúil le cineál iad in, ciallóidh mé cineál cosúil le a shannadh dóibh brí type-- cosúil le, ina slánuimhir, snámhphointe, ruabhric. I C, bhí muid in úsáid i ndáiríre a a bhfuil a chruthú athróg agus ansin bata leis an gcineál sin do na am ar fad a úsáid againn go athróg. Agus nach bhfuil gá níos measa, ach is dócha níos deacra a úsáid. Ceann de na gnéithe is iontaí de go bhfuil JavaScript go bhfuil ar a dtugtar athróg cad "clóscríofa dinimiciúil," a a chiallaíonn gur féidir liom a chruthú athróg leis error, varX cothrom le 5, mar shampla. A chruthaíonn dtús variable-- slánuimhir ceart thíos an cochall somewhere-- ach tá mé Is féidir a athrú go athróg chun tagairt a dhéanamh ar shraith gan déanamh aon rud mar a chruthú athróg nua. Ní féidir liom gá a bheith buartha mar gheall ar an athrú cineál. JavaScript fhios go chineál ar athrú, agus a tharlaíonn dinimiciúil. Mar sin, tá buntáistí agus míbhuntáistí sin, mar dhuine ar bith a bhfuil sé ag obair i D'fhéadfadh JavaScript ar feadh tamaill a fhios. Tá amanna nuair d'fhéadfadh tú thaisme athrú ar an gcineál athróg agus Ní déileáil chineál sin athrú, agus ansin do JavaScript Is féidir crash-- nó eisceacht a thrown, toisc go mbainfidh tú an cineál mícheart nuair tú ag súil le cineál amháin. Cool. Mar sin, tá scoping-- atá cosúil, má táimid cuimhneamh ar na seachtainí go luath sa chúrsa, Tagraíonn cé chomh infheicthe athróg Tá agus cén réimse an cód. Gach ceann de go Breathnaíonn an-chosúil leis an mbealach tá sé i C. Mar sin, tá athróg scoped ginearálta laistigh de braces gcuach laistigh feidhm, agus ansin tá freisin athróga domhanda-scoped go are-- má scríobhann tú athróg lasmuigh d'fheidhm, beidh sé le feiceáil sa téacs ar fad. Difríocht amháin idir JavaScript agus C go háirithe, is é sin má dhearbhú tú domhanda áit ar bith athróg i gcomhad téacs tá sé le feiceáil in aon fheidhm laistigh den chomhad téacs. Sin ceart, ceart? HUGH Zabriskie: Yep. SAM GREEN: Mar sin tá go freisin beag giotán funky i gcomparáid le C, nuair a bhí againn i gcónaí go bhfuil ár n- sainmhínithe athróg os cionn na háiteanna Baineadh úsáid siad. Ní Sin riail go bhfuil i bhfeidhm níos mó, agus mar sin, le beagán difriúil. Agus arís ach a reemphasize, domhanda i gcoinne variables-- áitiúil an-chosúil leis C. D'fhéadfá a bheith dhá athróg leis an ainm céanna, agus tá sé ar cheann de a n-ainmneacha a shadowed ag athróg áitiúil má dhéanann duine acu Bhí domhanda. Chineál Mar sin, cosúil leis na fadhbanna go bhfuil roinnt de tú D'fhéadfadh a bheith ar siúl i i roinnt de d'fhadhb Leagann go dtí seo. Cool, mar sin tá go athróg. Sreabhadh rialú, rud a chiallaíonn mhaith, más rud é-else-- stuff-- loighciúil agus lúba. Mar sin, chun tús a chur leis, is é seo cad má-eile cuma ráitis mhaith i JavaScript. An socrúchán de na rudaí éagsúla a ar na línte nach bhfuil tábhachtach. Tá sé seo ach ceann amháin de na coinbhinsiúin ar an mbealach cód struchtúr againn. Díreach cosúil i C, ní mór dúinn "más rud é," ráiteas lúibíní. Ní sin an méid i gceist agam a dhéanamh. Rinne mé é arís. HUGH Zabriskie: Ag iarraidh a scoir? SAM GREEN: No, tá mé díreach ag iarraidh a súmáil isteach. Ní chuireann sé ábhar. Mar sin, ní mór dúinn "má" ráiteas agus ní mór dúinn choinníoll taobh istigh de sé go meastóireacht go fíor nó bréagach, agus go gcinnfidh an bhfuil nó nach táimid ag dul isteach go bloc de chód. Agus mar an gcéanna, ní mór dúinn eile-más rud é, agus an eile, díreach cosúil táimid ag úsáid chun i C. Ba chóir duit freisin deas compordach ceart as an bat le lúb, toisc cuma siad freisin Breathnaíonn a lán cosúil C. Ach beidh tú faoi deara go bhfuil muid arís tá, in ionad slánuimhir initializations, ní mór dúinn initializations var. Agus buille faoi thuairim mé go bhfuil tú a bheith cúramach a dhéanamh cinnte nach bhfuil tú a athrú ar an luach de mé ó ina slánuimhir go teaghrán, mar shampla, mar gheall ar go bhfuil dul go dtí a chur faoi deara iompar aisteach ní a d'fhéadfadh tú ag súil leis. Ach ba chóir é seo cuma eolas go leor, chomh maith. Mar sin, tá sé seo nuair tús rudaí a a fháil le beagán dÚsachtach i JavaScript do dhuine atá ag dul ó cúlra de C. Tá feidhmeanna i JavaScript, agus níl bealach amháin a dhearbhú feidhm go Breathnaíonn saghas cosúil leis C, agus ansin níl ceann eile go Breathnaíonn cineál difriúil. An chéad leagan, ar féidir linn a fheiceáil anseo, Is de chineál ar C-mhaith, i gcás ina deirimid, tá sé seo le feidhm, thabhairt dó ainm, a thabhairt líon na n-argóintí, agus ansin an t-ábhar na feidhme dul taobh istigh na braces gcuach. Beidh orainn a fheiceáil sampla de argóintí i díreach dara. De bharr an méid ar an chéad líne eile, feicimid, ó, anseo athróg ar a dtugtar "myFunction," agus is ionann muid é a ghabhann leis an function-- thing-- cineálach go ní cosúil go bhfuil rud ar bith ar siúl. An chúis go bhfuil difriúil Is mó ná C go JavaScript Is cad atá ar a dtugtar teanga feidhmiúil, nó má tá gnéithe feidhmiúla, rud a chiallaíonn go bhfuil feidhmeanna i ndáiríre luachanna. Agus Ciallaíonn sé sin gur féidir linn a leagtar athróg a comhionann feidhm agus ansin bogadh go fheidhm timpeall, pas a fháil sé mar argóint, a dhéanamh ar gach cineál na rudaí mar sin le feidhmeanna. Rud amháin eile a note-- feidhmeanna atá scríofa le líon áirithe de argóintí. Beidh orainn a fheiceáil sampla de fheidhm le argóint ar an sleamhnán seo chugainn. Ach ní bheidh JavaScript yell ag tú má tá tú iarracht úsáid a bhaint as feidhm leis an líon mícheart argóintí. Beidh sé a dhéanamh díreach tar éis a ndícheall a dhéanamh a dhéanamh, rud a chiallaíonn go má éiríonn leat, ghlaonn tú feidhm go bhfuil súil ag an argóint gan aon argóint, go léir go a tharlóidh go bhfuil go mbainfidh sé a dhéanamh a chuid is fearr chun iarracht a dhéanamh agus a fhorghníomhú go cód, agus má ritheann sé sa deireadh isteach i eisceacht nó earráid, beidh sé caith go eisceacht agus díreach a choinneáil going-- a bhfuil ach ceann amháin de na bealaí go n-oibríonn JavaScript. Yeah. LUCHT ÉISTEACHTA: Cad a tharlaíonn má níl go leor argóintí iomarca? SAM GREEN: Mar sin, an cheist a bhí, cad a tharlaíonn má tá an iomarca argóintí? Agus is é an freagra go Beidh JavaScript díreach neamhaird a dhéanamh ar na cinn atá tar éis na cinn tá sé ag súil. Beidh sé iarracht a fhorghníomhú an fheidhm glaoch amhail is dá mba go raibh sé ach an chéad dá. Ceart? HUGH Zabriskie: Sin ceart, yeah. Ar an gcaoi chéanna, má tá Tá ró-beag argóintí, ach de chineál ar tugann sé null chúrsaí uile an argóintí nach bhfuil aon luachanna do. SAM GREEN: Is féidir Cé acu a bheith i ndáiríre handy, má tá tú ag iarraidh a scríobh feidhm a Bíonn uimhir athróg argóintí. Is féidir leat a leagtar luachanna réamhshocraithe i an sainmhíniú ar an fheidhm, agus is féidir é neamhaird a dhéanamh ar an bhfíric nach bhfuil an-ionchur ann. Mar sin, ba mhaith liom labhairt le beagán níos mó faoi seo bullet seo caite pointe, a bhfuil feidhmeanna iad luachanna. Is sampla é seo go bhfuil le beagán aigne-blowing má léigh tú díreach é, agus ná bí ag smaoineamh faoi ​​cad atá ar siúl le haghaidh an dara. Mar sin, a ligean ar breathnú díreach ar an chéad líne anseo. Ní mór dúinn athróg seo, F1, go deirimid Is feidhm go ndéanann an rud. Agus an t-ábhar na feidhme Tá console.log ('dia duit'). Is féidir leat smaoineamh ar console.log mar an JavaScript comhionann le printf. Mar sin, tá cad a tharlóidh, má táimid reáchtáil an gcód seo in ár bhrabhsálaí, beidh sé a phriontáil amach ar shraith. Is féidir liom a léiriú go. LUCHT ÉISTEACHTA: chur le logáil isteach, áfach dhéanann, go chiallaíonn tá sé á thaifeadadh áit éigin? SAM GREEN: Yeah. Mar sin, beidh mé léiríonn tú cad atá ar siúl le tarlú. Mar sin, bhí an cheist, cad a chiallaíonn logáil? HUGH Zabriskie: Mar sin console.log Is cosúil printf do C. SAM GREEN: Mar sin console.log Is cosúil printf, mar sin má tá mé an console.log ('dia duit'), agus glaoch go, an teaghrán "hello" Faigheann chló amach go dtí an consól. Is é seo an consól. Tá sé díreach cosúil le printf, i gcás ina priontaí sé go amach caighdeánach. Agus beidh orainn a fheiceáil i nóiméid, ach tá sé seo i ndáiríre ag tagairt do rud consól, agus ag glaoch modh ar réad. Beidh sin a dhéanamh ciall níos mó i nóiméad nuair a muid a fháil chun caint faoi rudaí i JavaScript, ach shíl mé go mbeadh liom a lua go díreach. HUGH Zabriskie: Táimid a úsáidtear chun i C, right-- táimid ag scríobh de ghnáth le clár mór i phríomh aon rud a dhéanamh. Ach cad atá cool i JavaScript tá tú ní mór den chineál seo ateangaire a Ritheann i bhfíor-am, mar sin tá sé Bíonn ach líne ar líne, Is féidir é a léirmhíniú go díreach ar an láthair. Agus coimeádann sé rian de rudaí a bhfuil ar siúl cheana, mar sin tá sé ina uirlis deas úsáideach úsáid console.log, nó an consól, go ginearálta, le haghaidh ach ag imirt timpeall le JavaScript. SAM GREEN: Mar sin dul ar ais go dtí an example-- an dara líne de chód anseo tá go leor aigne-boggling i mo cheann. An chéad uair a léigh mé é seo, bhí sé cosúil le, tá an méid a ar siúl? Mar sin, tá cad atá ag tarlú, seo Deir an dearbhú fheidhm, Tá mé ar a dtugtar feidhm f2 go súil argóint amháin, f, agus ansin iarrann sé go fheidhm, f, a Ritheadh ​​dó mar argóint gan aon argóintí féin. Mar sin, d'fhéadfadh a bheith mearbhaill. Má thuigeann muid seo mar a ghlacann f2 F1 mar argóint, agus ansin taobh istigh de f2, f Faigheann called-- a acmhainn go líne seo de chód, tar éis na dhá líne cód, torthaí i "hello" mbeith clóbhuailte ar an consól. An bhfíric gur féidir linn a pas a fháil feidhmeanna timpeall mar luachanna chríochnaíonn suas a bheith ar cheann de na is gnéithe cumhachtach de JavaScript mar teanga cláir. Lasmuigh de gach ceann de na rudaí uamhnach féidir é a dhéanamh, díreach mar ghné den teanga i dtéarmaí an mbealach go ndéanann sé rudaí éasca chun clár agus tugann sé deis le haghaidh rudaí nach bhfuil go háirithe dea-oiriúnach don ngréasán, cláir feidhme agus feidhmiúil Gnéithe cláir de JavaScript Is é ceann de na cinn is coincheapa cumhachtach go ann i JavaScript-- má iarrann tú dom. Cool. Mar sin, rud eile. Chomh maith le bheith feidhmiúil, tá freisin gnéithe den JavaScript atá réad-dhírithe, atá ar cheann de na an- focail Buzz tóir san eolaíocht ríomhaireachta. Cláir réad-dhírithe Is é an rud i ndáiríre tóir. Tá leagan den JavaScript, nuair a chreideann go bhfuil gach luach freisin rud, rud a chiallaíonn go bhfuil gach rud wraps le chéile roinnt ar líon na luachanna. Mar sin, do na luachanna atá simplí, cosúil le slánuimhir, cosúil le varX ionann 5, go rud wraps go díreach luach amháin. Ach is féidir linn a shamhlú freisin staid where-- is féidir linn smaoineamh ar cásanna C nuair a bhíomar ag iarraidh a dhéanamh rud éigin le structs, mar shampla, go wraps roinnt luachanna le chéile agus a dhéanann sé i ndáiríre éasca chun rudaí a pas timpeall. Sin nuair is rud i JavaScript. Tá sé tábhachtach a mheabhrú nuair a rá liom go bhfuil rudaí fillte roinnt ar líon na luachanna chéile, go bhfuil feidhmeanna freisin luachanna, rud a chiallaíonn gur féidir feidhmeanna a bheith chomh maith taobh istigh de rud JavaScript. Agus an chúis sin tábhachtach is é sin, cé againn go minic smaoineamh ar glaoch modh ar rud go de théarma tóir ó eile réad-dhírithe tóir teangacha, ar cheann de na difríochtaí is anseo go léir go bhfuil modh i JavaScript tá súil a stóráil taobh istigh de rud a dhéanann cuid action-- b'fhéidir, ag baint úsáide as na luachanna eile atá taobh istigh den rud, ach ní gá. Mar sin, is féidir leat a shamhlú staid, mé buille faoi thuairim i beagán de bhealach dÚsachtach, nuair a d'iarr tú modh amháin agóid ar réad eile, mar shampla. Mar sin, tá sé le beagán funky ar an mbealach. Agus is féidir leat athrú freisin ar na modhanna a bhaineann le rud trína shannadh go modh Feidhm nua, a bhfuil freisin deas difriúil ó eile réad-dhírithe teangacha, i gcás ina uair amháin dearbhaímid rud agus instantiate é, ní féidir linn a athrú ar na modhanna atá a bhaineann leis sin rud níos mó. Mar sin tá go leor difriúil. Cool. Mar sin, tá anseo sampla, an chéad, de rud i ngníomh. Is é seo a ar a dtugtar rud cineálach, a Ciallaíonn sé sin nach bhfuil aon ainm áirithe nach bhfuil, tá rang, tá sé ach cuid timfhilleadh luachanna. Agus is é an bealach go Breathnaíonn, ní mór dúinn an péire amuigh den chatach braces anseo a léiríonn go JavaScript agus a rá, is é seo rud. Na luachanna taobh istigh de sé Tá gach na luachanna taobh istigh an ruda ba chóir go bheith fillte le chéile. Agus taobh istigh den réad, ní mór dúinn ansin eochair péirí luach, nuair a thagraíonn an eochair chun an t-ainm de luach taobh istigh an ruda, agus an side-- eile os coinne an here-- colon Is é an luach iarbhír ba chóir a stóráil. Mar sin, a fheiceann tú anseo go mór dúinn a eochair ar a dtugtar FN le luach sam, ina dhiaidh sin ag camóga, ag rá isteach ar an iontráil seo chugainn. Ansin eochair a dtugtar ln, le luach de glas, ina dhiaidh sin ag camóga, le leanúint ag "cló," atá ag dul go bhfuil luach feidhm go bhfuil ag dul a dhéanamh an líne seo de chód. A ligean ar ghlacadh le céim siar agus unpack cad atá ar siúl anseo. Mar sin, tá sé seo le beagán casta, agus tá muid ag féachaint ar rud éigin nua don chéad uair. Is é an "seo" eochairfhocal an rud nua táimid ag feiceáil anseo, agus cad a dhéanann sé seo is é, tagraíonn an láthair agóid i raon feidhme, ceart? Mar sin, nuair a deirimid, seo pointí léir ar an mbealach ar ais a ghabhann leis an object-- fad nuair a dhéanann muid this.fn, táimid ag dul chun dul go léir ar an mbealach ar ais a ghabhann leis an réad, téigh go dtí an luach fn agus a fháil sam, tarraingt sé léir ar an mbealach ar ais, bata sé anseo, agus ansin bogadh ar aghaidh. LUCHT ÉISTEACHTA: Mar sin, leis an aisghabháil é, go rinneadh mar gheall ar an paraiméadar sainmhíniú? SAM GREEN: Mar sin, bhí an cheist, is é an aisghabháil a rinneadh mar gheall ar an paraiméadar sainmhíniú? Yeah, go hiomlán. Cad atá ag dul a tharlóidh anseo is é sin, Deir an ponc ar an JavaScript, OK, tá mé ag fáil roinnt luach as an réad ó mé féin. Agus ansin beidh sé cuma ar iontráil ar a dtugtar fn, agus má fhaigheann sé é, beidh sé ar ais go value-- sin, tá sé Sam. Ach d'fhéadfadh liom a chlóscríobh freisin rud nach raibh sainithe anseo, agus ansin bheadh ​​sé ach ar ais undefined-- a Is é an rud gur féidir le JavaScript dhéanamh, is féidir a bhfuil sochair, ach tá sé also-- má dhéanann tú typo, is féidir é a thoradh ar earráidí aisteach. Mar sin, beidh sé iarracht ach chun teacht ar is cuma cad a insint duit é a fháil agus ní tá sé ag dul go dtí gearán a dhéanamh mura bhfaigheann sé. Beidh sé ach a rá, ní raibh mé é a fháil, agus ansin bogadh ar aghaidh. Mar sin, bheadh ​​sé a bheith undefined, móide bán, móide ainm seo caite. Yeah. Agus ansin is féidir linn a fheiceáil go má táimid D'fhéadfadh dul síos ansin agus access-- agus tugaimid tf.print () le lúibíní. Tá sé ag dul chun glaoch go cló feidhm gan aon argóintí, ceart? Ach má dúirt muid díreach tf.print () leathstad, gan na lúibíní, go léir a bheadh ​​déanta is tarraingt an fheidhm as an luach, ach ní ar a dtugtar i ndáiríre é. Cool. HUGH Zabriskie: Ba chóir a théimid ar rud? SAM GREEN: Cinnte, a ligean ar é sin a dhéanamh. Mar sin, is féidir liom a bogadh seo mar shampla chun an console. Is féidir linn a shamhlú go bhfuil mé rud. Mar sin, tá sé seo le rud simplí. Is é seo an rud go bhfuil dhá Luachanna le dhá eochracha, dhá luach eochair mbeirteanna. Mar sin, is féidir liom rochtain ansin an luach a stóráil taobh istigh den réad seo ag déanamh x.x1, mar shampla, agus a fháil mé 1 ar ais. Mar an gcéanna, x.x2, a fháil ar an luach sin ar ais. Agus anois is é an rud i ndáiríre cool, is féidir liom cuir i ndáiríre rud éigin a ghabhann leis an réad tar éis tá mé chruthaigh sé. Mar sin, is féidir leat a shamhlú, a ligean ar rá go bhfuil mé feidhm. HUGH Zabriskie: Tá tú a dhéanamh Shift-Iontráil. SAM GREEN: Ó, tá go annoying. Cad é nach raibh sé cosúil? OH. Anseo táimid ag dul. Cool. Mar sin, tá mé díreach tar éis a cruthaíodh an fheidhm seo, f, go ag dul chun dul go dtí an láthair réad agus this.x1 phriontáil. Mar sin, má ghlaonn mé díreach tar éis f ag féin, tá aon rud ag dul a tharlóidh, ceart, mar níl aon x1 réimse i réad tá sé ag tagairt do. Ach, má rá liom, x.f = f, agus ansin mé glaoch x.f (), Tá mé ag dul a fháil ar ais 1. Is é sin f fheidhm anois a bhaineann leis an réad x, a bhfuil ar a dtugtar eochair x1 a bhaineann leis an luach 1, mar sin nuair a tugaimid this.x1, tá sé dul chun teacht ar cad tá sé ag lorg agus a bheith in ann a phriontáil luach amach. Mar sin, go díreach sampla amháin de chineál ar na rudaí dÚsachtach Is féidir leat a dhéanamh le rudaí i JavaScript. Ionas go raibh leagan an Leagan cineálach, brí go atá cruthaithe againn ar rud baint úsáide as an lúibíní nodaireacht brace notation--, rather-- agus sin handy más mian linn ach aon ásc de rud ar leith, ach cad más mian linn a bheith níos mó ná ceann amháin den chineál céanna? Agus an freagra sin Tá an cheist, tá rudaí ar a dtugtar ranganna i JavaScript chomh maith. Is féidir linn a chruthú feidhm a a dhéanann de chineál éigin initialization le haghaidh rud eachtrach, agus gur mhaith linn a rá, ar nós, mo class-- mar sin an t-ainm an object-- ath-inúsáidte ionann fheidhm a leagann sé suas. Mar sin, cad a bheadh ​​sé seo a bheith coibhéiseach chun cruthú do chuspóir bheadh ​​díreach cosúil, brace curly, str, colon, tá sé seo le teaghrán, leathstad, brace curly. Bheadh ​​sé sin an cineálach réad thúsú againn, leis an difríocht amháin a bheith ar an línte seo chugainn chruthú dúinn fhréamhshamhail, a ciallaíonn tá sé ina eochair réamhshocraithe a táimid ag cur lenár rud go Tá an luach atá liostaithe anseo. A chiallaíonn go, nuair a chruthú mé nua shampla de seo réad MyClass, sé ag dul a bheith réamh-tógtha taobh istigh de sé luach ar a dtugtar str agus luach eile ar a dtugtar myPrint, a bhfuil dul chun bheith ina feidhm. Uamhnach. Mór. Mar sin, an rud deireanach a rá faoi JavaScript é go bhfuil sé i ndáiríre úsáideach ar cad Tugtar oibríochtaí asynchronous. Is modhanna asynchronous go bhfuil muid Is féidir le fanacht ar feadh roinnt oibríocht a chur i gcrích sula sinn ag ar, ach bogadh ar aghaidh ag fanacht linn a agus ansin tá rud éigin a tharlóidh níos déanaí. Agus cad is ciall agam ag is é sin, tú Is féidir a shamhlú staid ina a sheolann tú iarratas chuig roinnt freastalaí gréasáin áit éigin, agus tá sé ag dul chun a sheolann tú ar ais roinnt smután mór de shonraí, ceart? Agus d'fhéadfadh do úsáideora fanacht sa Idir an dá linn le haghaidh sin a tharlóidh, agus d'fhéadfadh aon rud a bheith ar siúl ag an am sin. Ach ní go bhfuil dearadh iontach, ceart? Ní mian leat an leathanach gréasáin a reo. Cad más mian leis an úsáideoir a cliceáil ar roghchlár anuas? Níl sé ina patrún dearadh iontach. Ina áit sin, go bunúsach cad a JavaScript dhéanann é a deir, OK, é seo a oibriú asynchronously. Mar sin, cosúil le, fan sa chúlra, agus ansin nuair a bhíonn an oibríocht a dhéanamh, glaoch ar an callback function-- glaoch ar roinnt feidhm, bhfuil roinnt action-- chun comhartha go bhfuil an oibríocht bhí muid ag fanacht le go deireadh Is os a chionn. Agus is é an chúis go bhfuil Super cumhachtach, Is féidir linn a dhéanamh rud éigin, pas argóint, rud éigin a dhéanamh, agus ansin fanacht as rud éigin a tharlóidh. Ansin, uair amháin go bhfuil rud éigin gcríochnóidh, is féidir linn glaoch ar callback. Sin i ndáiríre handy mar go ligeann sé rudaí le Web Fuaime API sinn, mar shampla, cosúil le ualach comhad fuaime ó fhreastalaí iargúlta gan a bheith ag fanacht ar an comhad fuaime ar fad a luchtú, bheadh ​​i ndáiríre olc do thaithí úsáideora. Cool. Nótaí lánúin seo caite faoi debugging, ós rud é seo Is é an rud go bhfuil tú ag dul a bheith acu a dhéanamh mar chuid de do thionscadal, ráthaithe. Luaigh mé an consól JavaScript. Tá sé ina ghné Super úsáideach de gach brabhsálaithe nua-aimseartha, Agus muid a spreagadh tú i ndáiríre a fháil compordach ag baint úsáide as do consól, más mian leat a fháil go maith ag JavaScript. Tá sé Super handy do debugging, ach tá sé chomh maith i ndáiríre úsáideach le haghaidh figuring amach conas é a úsáid API. Ceadaíonn sé do i ndáiríre turgnamh éasca gan a bheith chun cineál éigin cód, agus ansin a chur le chéile é. Ní gá duit a dhéanamh ar na céimeanna ar fad. Is féidir leat scríobh go díreach roinnt cód i líne, agus ansin a fháil aiseolas láithreach ar cibé acu atá nó nach bhfuil líne de chód worked-- an-áisiúil. Agus freisin, ach note-- teicniúil amháin Is é an consól JavaScript sampla de REPL-- ionas go R-E-P-L, repl, a sheasann do léamh, meastóireacht, lúb phriontáil. Tá tú ag dul chun cineál roinnt rudaí i, beidh sé a léamh cad a chlóscríobh tú i, beidh sé a mheas sé, agus beidh sé a phriontáil ar an aschur, agus ansin beidh sé tús arís. Gur féidir leat dul go tapa i ciorcail iterating, atá i ndáiríre cool. Buille faoi thuairim mé anuas fíor note-- seo Is é an nóta seo caite iarbhír, yes. Conas is féidir linn a úsáid i ndáiríre JavaScript? Mar sin, an chéad, is féidir linn a allmhairiú baint úsáide as é a tag script ag barr nó bun HTML file-- áit ar bith taobh istigh de chomhad HTML, i ndáiríre. Agus laistigh de tag script, tá dhá fho-bealaí allmhairiú JavaScript. Is é an chéad ag a bhfuil comhad JavaScript ar leith go allmhairiú againn ina hiomláine, nó ag a bhfuil achar de chód cosúil le script a thosú, agus ansin script cúlslais go deireadh. Agus ansin muid ag scríobh go díreach JavaScript taobh istigh an comhad HTML. Sin iad na dhá bhealach. Ní féidir leat a bheith taobh istigh de HTML. LUCHT ÉISTEACHTA: An bhfuil duine níos fearr ná an ceann eile? SAM GLAS: An cheist a bhí, tá sé ar cheann níos fearr ná an ceann eile. Mar sin, tá, mar chleachtas stíl códú, agus freisin tá sé cosúil le cleachtas dearaidh. Tá dhá chúis cén fáth a d'fhéadfadh sé a bheith níos fearr. Is é an chéad, a dhéanann sé do chód a lán níos inléite má gach ceann de do HTML Tá in aon áit amháin, tá gach ceann de do CSS i áit eile, gach ceann de do JavaScript Is i dtríú áit. Ceart? I mo thuairimse, ba chóir dúinn a labhair cheana faoi ​​i sections-- cosúil CSS-- cad go is-- agus téann sé go minic i gcomhad eile. Mar sin, de chineál dá samhail de choincheap anseo. Is féidir leat a shamhlú freisin go JavaScript Bheadh ​​a athúsáid ar níos mó ná aon Leathanach HTML, nó b'fhéidir leathanaigh HTML mór go leor, agus a bhfuil go JavaScript refactored i amháin comhad gur féidir leat a allmhairiú i bhfeidhm níos mó ná aon Ceadaíonn an cód a bheith bhealach níos inchoimeádta. Is féidir leat a shamhlú ag déanamh amháin athrú go dtí an JavaScript agus a bhfuil a athrú i 100 gcomhaid éagsúla. Agus ina ionad sin is féidir linn a athrú ach é i gceann amháin, a bhfuil ar bhealach níos cumhachtaí. An raibh a fhreagairt mé do cheist? Cool. Is féidir linn a chlóscríobh freisin isteach sa consól, mar atá luaite againn roimh. Agus arís, note-- ceann deireanach Gréasáin Fuaime ionsuite, ní gá duit aon rud a luchtú. Cool. An bhfuil aon cheist, an bhfuil tú ceisteanna ar bith níos mó faoi JavaScript, sula sinn ag dul ar? LUCHT ÉISTEACHTA: [inaudible] SAM GREEN: Ceart go leor, fionnuar. Mar sin, anois tá sé ag dul chun labhairt faoi an API. HUGH Zabriskie: Cool. Go raibh maith agat, Sam. Sam GREEN: Cinnte. HUGH Zabriskie: Awesome, mar sin beidh muid ag bogadh ar aghaidh ó JavaScript. Mar sin, tá muid Labhair faoi roinnt de na buneilimintí JavaScript, agus iad siúd na hathróga, feidhmeanna, réada, feidhmeanna mar athróga, luchtú asynchronous. Is iad seo gach rud a mbainfidh tú féach mar a úsáideann tú an nGréasán Fuaime. Mar sin, táimid ag dul díreach chun labhairt faoi ​​sé ar dtús ag leibhéal ard. Tá sé an API, agus mar sin tá sé rud éigin go tógtha, mar a dúirt Sam, ceart isteach an JavaScript go n-úsáideann tú ar an consól. Agus tá sé i ndáiríre díreach cosúil le C ++ cód go bhfuil tógtha i ndáiríre i Chrome agus Firefox, agus gach ceann de na brabhsálaithe. Mar sin, an príomh-smaoineamh a bhfuil Web Is Fuaime go bhfuil tú den chineál seo píblíne na fuaime, ceart? Mar sin, do shonraí fuaime thagann i i bhfoirm éigin. Tá de chineál ar trí phríomh forms-- tá tú ar an oscillator, a Cruthaíonn tonn Sín, tonn Comhshíneas, táimid ag dul a fheiceáil conas a oibríonn. Eile ceann an-choitianta, ar ndóigh, tá, MP3. Mar sin, b'fhéidir a thosaíonn tú le amhrán, agus ansin tú ag iarraidh a dhéanamh ar roinnt scagadh sin agus aschur that-- d'fhéadfadh a bheith ina foinse is féidir. Agus ansin really cool tá sé ar cheann an micreafón. Mar sin, is féidir leat úsáid roinnt an- glaonna bunúsacha i JavaScript chun rochtain ar an fháil micreafón, agus mar sin má tá tú ag iarraidh a dhéanamh app cosúil le brathadóir pháirc, mar shampla, a thógann go bhfuil i do ghuth agus figiúirí amach an pitch-- bhealach an-éasca a sin. Is féidir leat ach cineál é a léamh i, figiúr amach an minicíocht, agus ansin aschur a PO. Mar sin, beidh orainn a fheiceáil conas a oibríonn, chomh maith. Is é an ceann scríbe bunúsach i gcás ina bhfuil na sonraí fuaime aschur. Mar sin go ginearálta, tá go cosúil do chainteoirí ríomhaire glúine. Tá roghanna eile ar nós a ScriptProcessorNode-- beidh orainn a fháil chun nóid i second-- ach go bunúsach, ceachtar tá tú ag fuaime a chur amach trí do ríomhaire trí cainteoirí, nó go bhfuil tú de chineál ar thaifeadadh sé, mar sin bhfuil tú ag a stóráil mar sonraí fuaime. Mar sin, b'fhéidir má Cruthaíonn duine éigin ceol i do app agus ansin ba mhaith leat a thaifeadadh go agus b'fhéidir mar é a onnmhairiú go dtí SoundCloud, le haghaidh example-- bheadh ​​bealach amháin chun é sin a dhéanamh. Gach an stuif spraoi, a beidh muid ag labhairt faoi, tharlaíonn idir an dá phointe, i gcás ina luchtú againn sa cheol agus ansin aschur é. Mar sin, tá mé ag dul chun labhairt faoi na cúig céim de tháirgeadh fuaime sa dara. Ní mór dúinn an rud ar a dtugtar an AudioContext, a tá an wrapper beag a fheicimid anseo. Go bunúsach cad a AudioContext is-- má táimid téigh go dtí an consól JavaScript ceart anois, Is féidir linn a chruthú ar cheann ceart anois. Ach sampla de repl, ceart? Táimid ag léamh, a mheas, agus priontaí sé. Is AudioContext stát domhanda. Tá sé ina struct, tá sé rud anseo, coimeádann agus faisnéis faoi ​​rudaí go bhfuil dul ar ar an scáileán a bhaineann le fuaim. Sampla amháin an t-am atá ann faoi láthair. Insíonn sé seo duit an uimhir de soicind, an-beacht, ós rud é an leathanach gréasáin luchtaithe. Mar sin, tá sé seo le úsáideach i ndáiríre maoin beag gur féidir leat é a úsáid. Tá sé seo a léamh only-- I mo thuairimse, i ndáiríre is féidir leat triail a leag sé luach. Beidh sé insint a leagtar tú é, agus ansin má tá tú a phriontáil again-- ní raibh sé i ndáiríre an obair go leor. Mar sin, tá a inléite amháin airíonna i JavaScript. Tá sé seo i ndáiríre úsáideach má bhfuil tú ag chineál ar syncing a lán de na éagsúla faisnéis, nuair a bhíonn tú de chineál ar imirt fuaimeanna éagsúla. Duine i ndáiríre úsáideach eile Is é an ceann scríbe comhthéacs. Cinnte, má tá suim agat, a bheith ag iarraidh seo a ar do cheart consól féin anois. Mar sin, is é seo an AudioDestinationNode. Go bunúsach cad a deir seo, ina bhfuil an t-aschur ag dul? Mar sin, tá dhá rogha fíor anseo. De ghnáth, an mhainneachtain Is díreach tar éis do cainteoirí, mar sin AudioDestinationNode go bunúsach deir díreach tá náid aschur le fuaim ag teacht i, a sheoladh chuig an cainteoir. Mar sin go ginearálta, ní gá duit a imirt leis sin. Má tá suim agat i baint úsáide as i ndáiríre tú an ScriptProcessorNode thaifeadadh, cinnte shoot dom r-phost ina dhiaidh sin mar gheall ar go bhfuil beagán níos casta. Ach go ginearálta, tá tú díreach de chineál de outputting fuaime i bhfoirm éigin. Mar sin fionnuar, beidh orainn a léim ar ais anseo. LUCHT ÉISTEACHTA: Tá brón orm. HUGH Zabriskie: Yeah. LUCHT ÉISTEACHTA: Tá a fhios agam a dúirt tú a labhairt a thabhairt duit níos déanaí faoi thaifeadadh. An féidir leat a comhéadan go bhfuil Uirlisí Pro? HUGH Zabriskie: Le Uirlisí Pro? Ligean ar a fheiceáil. Ní dóigh liom é. Mar sin, dul idir an cliant, a bhfuil an JavaScript console, agus do iarbhír ríomhaire, go ginearálta rud éigin go chineál de as teorainneacha, má tá tú Beidh, de chineál ar ag an nádúr na the-- tá sé de chineál rud dearaidh, ach iarracht tú a choinneáil ar an bhrabhsálaí ar leith as an úsáideora ríomhaire iarbhír. Go ginearálta, an rud amháin go bhfuil tú in ann rochtain an micreafón nó an ceamara. Nach bhfuil tú in ann, mé nach gceapann, bain úsáid as Uirlisí Pro. Áfach, má chruthaigh tú rian i Uirlisí Pro, onnmhairiú go bhfuil, d'fhéadfaí tú a luchtú go i anseo, scagaire é, mar shampla, bpróiseas sin, agus a thaifeadadh go isteach i Fuaime Destination-- nó, no-- a Sféar Nód Próiseálaí. Agus ansin ó ann, d'fhéadfaí tú onnmhairiú go dtí SoundCloud, tú D'fhéadfadh é a sheoladh i ríomhphost, nó is cuma cad is mian leat ó ann. Ach tá cineál bac beag idir déanamh ceoil ar do ríomhaire agus ag déanamh ceol ar líne. SAM GREEN: Agus sin Ní uathúil a ghabhann leis an API. Tá sé ina ghné slándáil Chrome, agus I mo thuairimse, gach brabhsálaí nua-aimseartha eile. Is é an bhrabhsálaí féin-atá. Mar sin, mar shampla, ní féidir le leathanach gréasáin úsáid JavaScript dul ar an fhuaim ar ar do chainteoirí, mar shampla. Nó nach féidir é a dul do ríomhaire amach. Agus níl aon phointe idirmheánach idir na dhá rud, ceart, amhlaidh tá tú astarraingt iomlán, nó tú a oscailt suas ar an flaw slándála ligean Ríomhchláraitheoir drochintinneacha dhéanamh is cuma cad ba mhaith leo le do ríomhaire glúine. Agus sin an fáth go bhfuil Chrome féin-atá. HUGH Zabriskie: Yeah. Bhfuil ciall? Cool, fionnuar. Bhí mé ag dul díreach tar éis a Léiríonn sampla de cheann. Tá sé seo go leor i bhfad mar fada agus a fhaigheann tú, i dtéarmaí rochtain a fháil ar an úsáideora ríomhaire. Má tá tú méarchlár USB plugged in, is féidir leat úsáid a bhaint as rud ar a dtugtar an Gréasán MIDI API, a ní bheidh againn i ndáiríre labhairt faoi anseo, ach tá sé seo go bhfuil API eile tógadh isteach ar a laghad Chrome-- arís, sin é an fáth grá againn Chrome-- I mo thuairimse, Firefox nó Safari, is é seo an rud éasca a tá brabhsálaithe éagsúla google-- tacaíochta éagsúla a APIs tá siad curtha i bhfeidhm. Ach má bhí tú chun an breiseán i méarchlár agus ag obair leis an t-eolas, de chineál ar sheoladh chuig an méarchlár faisnéis anonn go dtí an ríomhaire agus ansin go líne, an API Is áit mhaith leat a bheith ag obair go. Cool. OK. Mar sin, go tapa ag gluaiseacht ar anseo. Conas atá ag éirí linn a am? Cainteoir 1: Maidir 15. HUGH Zabriskie: 15 nóiméad ar chlé? OK, cool. Mar sin, beidh orainn a cine ar aghaidh anseo. Mar sin, go bunúsach, an pointe is mó de ag smaoineamh ar seo mar píblíne is é sin gach céim ar na bacáin Is sraith de nóid fuaime. Ár foinse, a ligean le rá, is oscillator. Ní mór dúinn a chruthú nód oscillator. Agus is é sin ach de chineál ar an function-- beag agus tá siad bunaithe ar fad amach ar an gcomhthéacs fuaime anseo. LUCHT ÉISTEACHTA: Nuair a dúirt sé oscillator, chiallaíonn tá sé i ndáiríre ag dul literally ó dhá cuaillí éagsúla anonn 's anall? HUGH Zabriskie: No, tá sé cosúil le ionadaíocht digiteach. Tá sé seo i bhfeidhm i ndáiríre i C ++. Níl i ndáiríre a fhios agam an specs de conas tá sé i bhfeidhm go hiarbhír, ach tá sé seo go léir ag obair mar sonraí dhénártha. I ndáiríre, yeah. Bheadh ​​sé sin a bheith ag rá, raibh mé in i ndáiríre, má tá suim agat, Raibh mé in ann a sheolann tú níos beag faisnéis faoi conas waveforms Coimeádtar bhfuil bhformáid dhigiteach. OK, cool. Mar sin, tá muid ag ghiniúint a ton cosúil le Sín tonn nó rud éigin mar sin, b'fhéidir 440 Hertz. Chruthú Táimid ag oscillator. Más mian linn a shocrú ar an toirt, ní mór dúinn rud ar bith ceangal le GainNode, a d'fhéadfadh muid a dhéanamh le .creategain. Go leagann do toirte. Is féidir leat pas a fháil go isteach ar aon ar an taobh eile options-- maith, mar sin foinse Maolán fuaime Tá nód áit a d'fhéadfadh tú a stóráil MP3 go atá tú luchtaithe i. Tá Biquad scagaire le haghaidh scagadh má ba mhaith leat a ghlacadh go léir an bonn amach d'amhrán, nó rud éigin mar sin. Dia forbid mian leat a ghlacadh an bonn as amhrán. Agus is é nód AudioDestination, arís, cosúil áit a bhfuil ár n-críche. Má tá suim agat riamh i bhfaca tú go léir na roghanna éagsúla féideartha, ach dul go dtí an cluaisín agus lig an auto-iomlán teacht suas. Agus má dhéanann tú a chruthú, beidh tú a fheiceáil go léir an rudaí éagsúla gur féidir leat a chruthú. Is féidir leat a chruthú dinimiciúil próiseálaithe script, Níl a fhios agam fiú an méid sin Tá, le haghaidh cumaisc cainéal mheascadh agus splitters chainéil agus go léir. Cool. Mar sin, tá sé seo ach sampla de phíblíne. Mar sin, ní mór dúinn trí fhoinse ag teacht isteach. B'fhéidir go bhfuil na waveforms, b'fhéidir go bhfuil na MP3s. One dul trí scagaire, a chéile ar dul as a riocht eile ceann amháin ar panning chlé agus ar dheis. Is féidir leat a dhéanamh gach cineál rudaí agus siad go léir a fháil measctha ar fud le chéile, agus ansin amach a thagann an fuaime ag an deireadh, mar cheann scríbe. Seo sampla de cad níos mó Breathnaíonn casta Gréasáin Fuaime cód mhaith. Bhfuil tú ag cruthú go léir rudaí éagsúla ceart here-- Níl mé cinnte de seo. No, ní chuireann sé zúmáil isteach. OK. SAM GREEN: dhéanann tú Control, Scroll-Up. HUGH Zabriskie: Rialú Scroll-- SAM GREEN: No, no. Control-- HUGH Zabriskie: Ó, Rialú, Scrollaigh? Ó, gotcha. Yeah. WOW, nope, nope. OK. Ní bheidh mé a dhéanamh. Mar sin, yeah, sa chéad alt anseo, a fheiceann tú táimid ag cruthú go léir difriúil nóid amach as an comhthéacs. Táimid ag piecing ach iad le chéile sa dara cuid de réir feidhme seo ar a dtugtar Connect. Sin eochair i ndáiríre feidhm i Web Fuaime. Ciallaíonn sé sin go díreach nuair atá déanta agat rud éigin leis an fhuaim i nód amháin, ar aghaidh chuig an nód seo chugainn. Mar sin, ní mór dúinn an fhoinse, sé nasc leis an anailíseoir, a dhéanann an anailíseoir rud éigin a bhfuil sé, téann sé chun saobhadh, agus mar sin de, agus chuig an gceann scríbe ag bun ar dheis anseo. Cool. OK, mar sin beidh orainn a choinneáil ag gluaiseacht ar. An pipeline-- arís, na Is iad na píblínte is coitianta, mar sin labhairt linn faoi na nithe seo uile mar saobhadh, panning, gach stuif seo. Má tá suim agat i ndáiríre i baint úsáide as rudaí Uirlisí Pro, iad siúd spéis agat is dócha. Mura bhfuil, b'fhéidir tú díreach ag iarraidh a imirt ar an fhuaim, nó b'fhéidir gur mhaith leat ach a leagtar an toirt ar an fhuaim. Sin iad an dá saghas is coitianta na bpíblínte i dtáirgeadh fuaime. Arís, na bealaí is féidir leat é a chur i mar oscillator-- amhlaidh, a ligean ar dhéanamh ar an taispeántas sin ar dheis anseo. Mar sin, táimid ag dul a chruthú Comhthéacs fuaime simplí anseo, agus ó sin táimid ag dul a chruthú ar ár oscillator. Mar sin, tá go, arís, tá muid díreach dul chun glaoch Cruthaigh Oscillator. Táimid ag dul a shocrú le minicíocht ar go, 440 Hertz, gach duine is fearr leat. Ansin linn a nascadh go dtí an ceann scríbe point-- a bhfuil an cainteoir, agus mar sin an ceann scríbe comhthéacs. Mar fhocal scoir, ní mór dúinn ach a rá, tús a chur náid soicind ó anois, agus a dhéanamh ní mór dúinn a fuaime? [Ringing] HUGH Zabriskie: Anseo théann muid. Tá sé ach tonn Sín. OK, cool. Agus ansin beidh orainn a stopadh go. LUCHT ÉISTEACHTA: I gcás ina raibh go aiseolas a thagann ó? HUGH Zabriskie: an t-aiseolas? Ó, is dócha ár micreafóin. Mar sin, yeah, tá go conas a dhéanann tú é. Agus ar ndóigh,, má bhí mé choinnigh sé ag rith, tú D'fhéadfadh go mbeadh an minicíocht luach mar tá sé ag rith, ionas go bhfuil an rud spraoi a imirt timpeall. Cool. Sin i gcónaí ceann álainn a chur i láthair. SAM GREEN: Ní raibh muid smaoineamh faoi sin, rinne muid? HUGH Zabriskie: Yeah, go bhfuil ceann olc. Mar sin, Maolán loading-- beidh mé léiríonn an Sampla de sin ag deireadh an-. Sin luchtú MP3. Agus micreafón, a úsáideann tú ach feidhm ar a dtugtar Navigator.getUserMedia () chun rochtain ar an úsáideora a iarraidh micreafón don fhaisnéis sin. Anseo atá scagadh, beidh mé díreach a choinneáil ag gluaiseacht as seo. Tá an leibhéal ard go leor, ach scagairí a cheadú ach tú a [Beeping] Ceadaíonn scagadh chomh maith agat chun rudaí cosúil le bándearg a chruthú torann, torann donn, torann bán. Más mian leat a chruthú torann íon, a Is breá roinnt daoine a praiseach ar fud leis, Is féidir leat é a úsáid Web Fuaime scagadh a dhéanamh sin. Fuaime Panning-- shamhlú mar sin má tá tú ag scríobh cluiche agus is mian leat an fhuaim a fuaime mar tá sé ag teacht, cosúil le, lámhach ar fud an scáileán, tú Is féidir úsáid a bhaint as an panning an fuaime a chruthú den chineál seo cón, a like-- tá sé mathy deas, ach tá sé i ndáiríre i ndáiríre fionnuar má fhaigheann tú sé ag obair, agus níl roinnt mhaith ranganna teagaisc ar sé is féidir liom a sheolann tú. Go bunúsach, is féidir leat de chineál de a chruthú ar an fhuaim de rud éigin ag dul trí bhealach 3D. Agus má tá leas DJ agat, is féidir leat tús a mheascadh agus tras amhráin fading. Is é seo ach cuid bhunúsach an- cód, go bunúsach cad a rinne mé roimh. Leagann sé seo an toirt an oscillator, agus mar sin a chruthú dúinn ár oscillator a chruthaíonn an waveform. Chruthú dúinn ár GainNode, leagtha ár minicíocht, agus ansin ceangal ar an oscillator chuig an GainNode, a athraíonn ansin go bunúsach cé mhéad comhartha a cheadaítear tríd. Ach i ndáiríre, tá sé ina digiteach rud, mar sin tá sé níos just-- yeah. Ní sin an méid atá ag tarlú i ndáiríre, ach go bhfuil an méid a tharlaíonn i saol fíor le gnóthachan. LUCHT ÉISTEACHTA: --quantization den paraiméadar toirt? HUGH Zabriskie: Tá brón orm? LUCHT ÉISTEACHTA: An bhfuil sé ina paraiméadar toirt quantized? HUGH Zabriskie: Yeah. Agus tá sé seo rud amháin Tá mé i ndáiríre easnamhach ar i eol dom, conas a oibríonn gnóthachan ar leibhéal digiteach. Tá a fhios agam le iarbhír comharthaí, tá sé go bunúsach rialú cé mhéad bhfuil tú amplifying an comhartha. Mar sin, yeah. Feicfidh mé a sheolann tú tuilleadh eolais a fháil faoi go, mar gheall ar mhaith liom a bheith fiosrach i ndáiríre chun níos mó eolas sin. Ach go bunúsach na paraiméadair Tá, tá sé ar cheann an fold-- Is é an signal-- louder agus nialas aon comhartha, nó ní bheidh tú ag éisteacht ar bith fuaime. Beidh muid skip am taispeána don bharr tá sé go bunúsach cad a rinne mé roimh. Agus arís, an Context.Destination leis an nód scríbe fuaime. Awesome, OK. Mar sin, tá mé ag dul a dhéanamh tapaidh dhá demos. Conas atá ag éirí linn a am? Cainteoir 1: Thart ar 10 nóiméad. HUGH Zabriskie: 10 nóiméad? Great! Uamhnach. Mar sin, an chéad cheann mé ag dul chun a dhéanamh, tá sé ar a dtugtar My Favorite Amhrán. Mar sin, tá sé seo ach beag HTML JavaScript. Táimid ag dul a bheith acu dhá cnaipí ar an leathanach a imirt ar mo amhrán is fearr leat agus stop mo amhrán is fearr leat. Feicfidh mé seo a athrú. LUCHT ÉISTEACHTA: Clúdaigh do micreafón. HUGH Zabriskie: Yeah. Agus tá mé luchtú i anseo script a basically-- agus tá sé seo i ndáiríre úsáideach do luchtú ar MP3, ionas go ndéanann sé seo ach luchtú MP3s bhealach níos tapúla. Tá sé go bunúsach ach wrapper. Déanann sé ach leis an bpróiseas luchtú i MP3s i bhfad níos tapúla, a mhalairt bhfuil tú ag baint úsáide as iarratas HTTP, cineál cosúil le cad a bhí á dhéanamh againn ar an píosa reatha a leagtar le Server. Tá sé i ndáiríre ghránna, tú nach mian é a dhéanamh. Mar sin, seo Guy, Boris Smus, scríobh i ndáiríre uirlis beag úsáideach dtugtar BufferLoader. Gach dhéanann tú é ach é a chur ar an comhthéacs, éiríonn leat é a list-- nó, yeah, tá sé liosta i JavaScript? SAM GREEN: An eagar. HUGH Zabriskie: Ó, tá sé le sraith, tá an ceart sin. Tá sé an sraith de cosáin chun comhaid éagsúla. Agus ansin pas tú é feidhm. Is é seo an callback a bhí muid ag caint faoi ​​le luchtú asynchronous. Beidh sin a bheith ar a dtugtar uair amháin na comhaid luchtaithe. Agus an fheidhm sin ar a dtugtar nuair an comhad luchtaithe Bíonn mar imlíne le sraith de maoláin luchtaithe. Mar sin, a tharlaíonn anseo. Go bunúsach, is é BufferList ag dul a bheith value-- amháin nó tá sé ag dul a bheith ina sraith de fad amháin, go bhfuil ann i innéacs náid an comhad luchtaithe iomlán an MP3. Mar sin, cad is féidir liom nuair a chríochnaíonn mé Is luchtú, mé ach chruthú foinse Maolán, a Is nód foinse Maolán fuaime. Is é an chéad chéim eile a luchtú mé sa source.buffer mar an maolán luchtaithe iomlán ón BufferList-- tá sé a lán de buffers-- agus ansin leat ceangal go fuaime Maolán chuig an gceann scríbe. Mar sin, cad a sé ag dul a dhéanamh Tá díreach a chur ach an MP3 díreach tríd go dtí an t-aschur, agus tús a chur air láithreach ar fáil ar an glaoch. Cool, mar sin a ligean ar a fheiceáil seo tarlú i ngníomh. Mo [inaudible] anseo, a ligean ar a fheiceáil. Mar sin, tá mé ag dul díreach tar éis a tús a chur le freastalaí bhunúsach. Sin rud a is gá duit a dhéanamh má tá tú iarratais ar chomhaid luchtú a dhéanamh. Tá mé ag dul chun tús a chur le freastalaí bhunúsach. Sé seo go bunúsach do fad PSET ceart anois i líne amháin, ach tá sé díreach ag tosú freastalaí ar port 80/80. Mar sin, théann muid thar anseo, táimid ag ag dul a luchtú 80/80, táimid ag dul chun dul go dtí My Favorite Amhrán. Mar sin, má bhuail mé "Play mo amhrán is fearr leat "ceart anois, tá sé ag dul a luchtú ar mo amhrán is fearr leat agus spraoi it-- [CEOL - AN EAGLES, "LIFE SA FAST  LANE "] --which tharlaíonn a bheith "Saol i an Lána Fast "ag an Iolar. Anois, d'fhéadfadh mé hit "Stop mo amhrán is fearr leat "agus replay é. [CEOL - AN EAGLES, "LIFE SA FAST  LANE "] Agus má théann mé thar a consól, mar gheall ar Bhain mé úsáid as athróg domhanda thar anseo súil a choinneáil ar an luach, sé i ndáiríre Beidh a aithint anois sa console. Mar sin tá sé auto-Cruthaíonn dom. Mar sin, go bhfuil an méid atá ag imirt ceart anois, agus is féidir liom glaoch go simplí source.stop () ar sin. Bhuel, tá a fhios agat cad é? Díreach mar sin a bhfuil tú guys chuala an song-- go dtiocfadh leat a aithint amhrán seo. [CEOL - Rick Astley, "NÁ dul a thabhairt  TÚ UP "] [CEOL - AN EAGLES, "LIFE SA FAST  LANE "] Táimid iontach anois go léir curtha Rickrolled. OK, go hiontach, ag bogadh ar aghaidh. Cool. Mar sin, is é seo go bunúsach sampla de ach conas a d'fhéadfadh tú a luchtú ar MP3 file-- [CEOL - AN EAGLES, "LIFE SA FAST  LANE "] --and imirt air, agus a stopadh agus tús a chur air. Raibh mé in ann a bheith déanta ar a lán níos mó [inaudible] Is é an ceann deireanach beidh mé a dhéanamh, Feicfidh mé léiríonn tú [inaudible]. [Ag seinm ceoil] Tá sé cosúil le, ogg.wave.mp3. I mo thuairimse, más cuimhin liom i gceart, Tá mé reáchtáil i roinnt saincheisteanna le M4A, ach níl mé cinnte faoi sin. I mo thuairimse, mp3.wave-- [CEOL - Rick Astley, "NÁ dul a thabhairt  TÚ UP "] OK, mór. Níor chóir Tá sé ráite agam go. Mar sin féin, Dia duit. Mar sin, ní mór dúinn an oscailt. Mar sin, anois go léir is féidir liom é, chruthaigh mé go bunúsach error bunúsach a chruthú le haghaidh ceol. Mar sin, má dhéanann mé rud éigin cosúil le, cuir G4 ar 1 2, cad a chiallaíonn sé sin, cuir an nóta pianó, G4, a bhfuil an ceathrú G suas ar an pianó ó bun an leathanaigh. Mar sin, tá an cineál MIDI labhairt, mar sin dóibh siúd atá ceol atá bunaithe, tá sé seo ach nótaí MIDI. LUCHT ÉISTEACHTA: Sin an G an Mheán C, ceart? HUGH Zabriskie: Is é seo an G os cionn an Meán-C, tá an ceart sin. LUCHT ÉISTEACHTA: Os cionn Middle C. HUGH Zabriskie: Yeah. I ndáiríre, yes. I mo thuairimse, rinne mé i ndáiríre sé ar cheann [inaudible], mar sin d'fhéadfadh sé seo a bheith ina ochtach os cionn sin. Mar sin a ligean ar a fheiceáil. Má bhuail mé Play-- [NÓTA PIANO athchleachtach] --we're dul a chloisteáil go. Is é an smaoineamh go n-oibríonn sé díreach mar a bheadh ​​le líne a ordú, mar sin má théann mé suas agus síos ar mo mhéarchlár, tú Is féidir dul ar ais go dtí roimhe orduithe, a bhfuil go leor úsáideach. Agus is é anseo thíos mo liosta de na rianta, a bhfuil gach reáchtáil ar lúb. LUCHT ÉISTEACHTA: Bhí tú ag glacadh leis an 88-eochair méarchlár ar sin, ceart? HUGH Zabriskie: An cheist a bhí, Tá mé ag glacadh leis an méarchlár 88-eochair, agus tá, tá mé. Cad a rinne mé é mé go bunúsach ghlac 88 sampla an pianó, ceann amháin do gach nóta. Agus mar sin gach uair éisteacht nóta as seo amach, is é sin i ndáiríre lúb go Breathnaíonn like-- tá sé seo ag dul a bhí ar lúb, mar sin le haghaidh gach nóta, tá sé seo ag rith. Cad a tharlaíonn é, mé maolán a chruthú arís, Chruthú mé nód a fháil a shocrú ar an toirt. Seo ach i ndáiríre bhealach casta rá liom stóráil an maolán i source.buffer. A thabhairt liom é an gnóchan, mé é a nascadh leis an gnóchan, an gnóchan ceangailte leis an aschur, agus ansin imirt liom é. Dá bhrí sin tá gur de chineál ar phróiseas a ghlacadh i foinse Maolán. LUCHT ÉISTEACHTA: An féidir a ghlacadh tú i ndáiríre go fuaim tirim agus é a dhéanamh fliuch [inaudible]? HUGH Zabriskie: Is féidir leat, yeah. Níl ath-briathar, níl mhoill, saobhadh. Féidir leat a chur go bunúsach aon rud i idir sa ceapaire of-- maith, Is phíblíne a meafar níos fearr, ach is féidir leat a chur aon ní san. Cool. Mar sin, beidh mé a chríochnú an taispeántas anseo a thabhairt duit tuiscint de ach an líon fórsa na n-amanna agat is féidir a reáchtáil an fheidhm go léir ag an am céanna. Mar sin, tá mé ag dul a bhaint. Tá mé ag dul a chruthú gineadóir that-- go bunúsach cad a does-- é seo i ndáiríre de chineál ar syntax-- casta ach tá sé ag dul go dtí nótaí a ghiniúint ar an eitilt, agus díreach tús a imirt iad mar meastóireacht ar sé iad. [PIANO interposing] Mar sin, is féidir linn a dhéanamh ach ceol beag anseo. [PIANO interposing] Mar sin, cad seo ordú a dhéanann, mar shampla, a thógann sé na trí nótaí don pianó agus cuireann ansin iad a chur ar B3. D'fhéadfadh sé seo a dhéanamh error tuiscint beag níos mó dóibh siúd a bhfuil a cúlra ceoil anseo. Is féidir liom a chur ar druma cic. Is féidir liom-- [Interposing INSTRUMENTS] --just imirt ar fud leis sin. Mar sin, is féidir leat a make-- [Interposing INSTRUMENTS] Sin ceann beagán níos annoying. [Interposing INSTRUMENTS] Mar sin, go gcuireann randamach ciombal tirim ar gach 16ú nóta, le 16% [Inaudible]. [Interposing INSTRUMENTS] Yeah, agus mar sin ar an mbealach seo works-- tá sé i gcónaí i 4: 4. [Interposing INSTRUMENTS] Yeah, mar sin an ceithre ráithe, agus 16/8. [Interposing INSTRUMENTS] Mar sin, ar an meán, gheobhaidh tú 60% de amas ar na nótaí 16ú. Anyways, ba é seo ach de chineál ar a thaispeáint as cuid de na rudaí d'fhéadfaí tú a thógáil leis an nGréasán Fuaime API. Tá sé i ndáiríre cumhachtach, tá sé i ndáiríre go tapa, agus is féidir leat a dhéanamh ar a lán de na rudaí fionnuar leis. Mar sin arís, aon cheisteanna atá agat, r-phost myself-- Hugh-- nó Sam, agus go hionraic, tá Google a ton na n-acmhainní maith. Ceisteanna ar bith caite? Yeah. LUCHT ÉISTEACHTA: Mar sin, is féidir leat rochtain a fháil an-tógtha i micreafón. Cad a tharlaíonn má raibh tú ar úsáid micreafón níos fearr? HUGH Zabriskie: Má bhí tú úsáid a bhaint as micreafón níos fearr? Mar sin arís, is é seo mar chuid den astarraingt idir Chrome agus an chuid eile de do ríomhaire. Ach amháin má tá sé ar fáil trí API, cosúil le Web MIDI API, d'fhéadfá a fháil ar roinnt hacks is dócha, ach de ghnáth ní agus is féidir. SAM GREEN: Is féidir leat also-- gach a fhios ag an Chrome Is cad do micreafón réamhshocraithe is é, agus rochtain go. Mar sin, má bhí tú micreafón d'fhéadfaí tú leagtha mar ríomhaire réamhshocrú micreafón, d'fhéadfaí tú a rochtain a fháil air ar an mbealach agus go mbeadh sé ag obair is dócha. HUGH Zabriskie: Sin pointe maith. Riamh mé iarracht sin, ach d'fhéadfá a bheith in ann a chineál of-- má tá tú a atreorú an cainteoir ionchur, d'fhéadfá a bheith in ann a dhéanamh, yeah. Ceisteanna ar bith caite? Cool. Bhuel go raibh maith agat guys an oiread sin do lucht féachana. Tá mé Hugh. SAM GREEN: Tá mé Sam. HUGH Zabriskie: Agus is é seo CS50.