એસએએમ લીલા: હાય, દરેકને. અમારા પરિસંવાદ આપનું સ્વાગત છે. મારું નામ સેમ છે. HUGH ઝેબ્રિસ્કી: હું હ્યુજ છું. એસએએમ લીલા: અને આજે આપણે વાત કરવા જઈ રહ્યાં જાવાસ્ક્રિપ્ટ અને વેબ ઑડિઓ API વિશે. જસ્ટ બહાર શરૂ કરવા માટે, આ એક રૂપરેખા છે આ પરિસંવાદ માટે અમારા કાર્યસૂચિ. અમે વિશે વાત કરી દ્વારા શરૂ કરવા જઈ રહ્યાં છો શા માટે તમે વેબ રસ હોવો જોઈએ ઑડિઓ API, શા માટે જાવાસ્ક્રિપ્ટ છે તમે તે માટે જરૂર ભાષા, અને પછી જાવાસ્ક્રિપ્ટ વિશે વાત જેમ, જેથી essentials-- કેટલાક લઈ જવામાં ભાષાના બેઝિક્સ, અને પછી વિશે વાત ઊંચા સ્તરે ઑડિઓ API. પછી, હ્યુજ કેટલાક વિશે વાત કરશે ઓડિયો ઉત્પાદન તબક્કામાં અને પછી આ ભયાનક Sequencer ડેમો પ્રોજેક્ટ તેમણે બાંધવામાં અને તમે કોડ દર્શાવે છે. અને પછી, અમે સમય પડશે લોકો માટે ઓવરને અંતે પ્રશ્નો અહીં છે રહેતા. HUGH ઝેબ્રિસ્કી: કૂલ. એસએએમ લીલા: કૂલ. HUGH ઝેબ્રિસ્કી: કૂલ. હું પાછા આવશે. એસએએમ લીલા: તેથી, પ્રથમ પ્રથમ વસ્તુઓ. મહાન વસ્તુઓ એક જેથી વેબ ઑડિઓ API વિશે જરૂરી કોઈ સમૂહ છે કે ત્યાં છે. તે આંતરિક આવે મોટા ભાગના આધુનિક બ્રાઉઝર્સમાં, ક્રોમ, ધાર, સમગ્ર સહિત others-- તમામ મુદ્દાઓ ટોળું કે મોટા ભાગ લોકો આજે ઉપયોગ કરી રહ્યા છો. તેથી કોઈ, ત્યાં સુયોજિત છે કોરે માત્ર મેળવવામાં વેબ સર્વર માટે, રહ્યું તમે કામ શરૂ કરવા માટે મહાન છે, જે તમારા પ્રોજેક્ટ પર. અમે ખૂબ ભલામણ ભારે તમે નક્કી કરો કે માટે Chrome નો ઉપયોગ જાવાસ્ક્રિપ્ટ વેબ વિકાસ, માત્ર તેના ડેવલપર કારણ કે સાધનો ખરેખર મજબૂત છે. અમે અર્થ માત્ર શું એક ઉદાહરણ તરીકે કહેતા તમારા જાવાસ્ક્રિપ્ટ ખોલો તમે Chrome જાય તો console-- અને તમે કોઈપણ વેબ પૃષ્ઠ પર દેખાય છે, અને તમે ક્લિક કરો છોડી પછી એલિમેન્ટ નિરીક્શણ, અને તમે આ થોડું ડ્રોપ ડાઉન પર જાઓ અહીં છે અને તમે કન્સોલ પર ક્લિક કરો, તમે એક શું લાગે ખોલે જોશો આદેશ પ્રોમ્પ્ટ જેવા ઘણો છે કે જે તમને તમારા Mac પર જુઓ, અથવા ID પર પડી શકે છે. તે જેમ, અમે કરી શકો છો પ્રકાર, સ્પષ્ટ ના જેવું, અહીં આદેશો અને તે જેવી અન્ય આદેશો. અમે, ચલો બનાવી શકો છો અમે જાવાસ્ક્રિપ્ટ પાછળથી જોશો. અને તેથી કંઈપણ અમે શું કરી શકો છો જાવાસ્ક્રિપ્ટ, અમે કન્સોલ સાથે કરી શકો છો અને તે માટે એક સુપર સરળ માર્ગ છે API સાથે આસપાસ રમી શરૂ અને સાથે આરામદાયક મેળવવામાં બેટ બોલ અધિકાર જાવાસ્ક્રિપ્ટ. કોઈ સમૂહ અપ જરૂરી છે, જે ખરેખર સરસ છે. કૂલ. ઓસમ. તેથી માત્ર એક વધુ વસ્તુ ઉમેરો. જો તમે કોઇ છે questions-- અહીં નથી રહેતા તમે ઘણા us-- આ ઇમેઇલ કરો મફત લાગે અમારા ઇમેઇલ સરનામાં છે. તમે પ્રશ્નો હોય, તો તમે અમને પૂછી શકો છો નથી, જેમ, ઓહ હું એક ભૂલ છે મારી કોડ, અથવા કંઈક કે થોડી વધુ ચોક્કસ છે કદાચ પ્રથમ તે Google. મહાન સ્રોતો ઘણો છે ત્યાં ત્યાં બહાર વેબ ઑડિઓ API વિશે. તે ખરેખર સારી છે દસ્તાવેજીકરણ અને તે હોવા છે લોકો એક ટન દ્વારા ઉપયોગ માત્ર છે જે ઉદ્યોગ, અને લોકો પોતાને માટે મજા સામગ્રી મકાન. તેથી ઘણો ત્યાં પ્રયત્ન કરીશું ત્યાં ત્યાં બહાર સાધનો. ઓસમ. કૂલ, તેથી શા માટે વેબ ઑડિઓ API? આ ડાયાગ્રામ એક થોડુંક છે જે રીતે એક ઉત્ક્રાંતિ વેબ પર અવાજ સમય પર થયો છે. Bgsound મૂળ HTML ટૅગ જેવી હતી ઈન્ટરનેટ એક્સપ્લોરર આધાર આપવા માટે વપરાય છે. તે માત્ર ત્યારે જ ખૂબ મૂળભૂત અવાજ માટે મંજૂરી કાર્યક્ષમતા, ખૂબ જ મજબૂત ન હતી અને તમે ન કરી શકે જટિલ ક્રમની, અવાજ કરવાનું શરૂ કર્યું ત્યારે અથવા નિયંત્રિત અને ખૂબ જ નોંધપાત્ર બંધ કરી દીધું. તેથી, તે ખાસ કરીને ન હતી સારી રીતે વિકસાવી છે. તે પછી, ફ્લેશ , along-- જે આવ્યા હું તમને ગાય્ઝ બધા પરિચિત છે કે નહીં તેની ખાતરી છું Flash-- કદાચ તે કામ કરે છે કેવી રીતે સાથે, પરંતુ તમે ચોક્કસપણે તે જોઇ છે. તમે તમારા ફ્લેશ અપડેટ કરવા માટે મળી છે પ્લગ-ઇન સામગ્રી તમામ પ્રકારના છે, અને તે ચોક્કસપણે શ્રેણી વિસ્તૃત વિધેય ઉપલબ્ધ હતી. પરંતુ વપરાશકર્તા બનાવે સ્થાપિત પ્લગ-ઇન ચોક્કસપણે છે સહિત ફ્લેશના એક ખામી તમારા એપ્લિકેશન, અધિકાર? કારણ કે પછી તમે પર આધાર રાખે છો વપરાશકર્તા જવું અને આ પ્લગ ઇન શોધવા, અને કદાચ ચાલુ રહી આ વધારાનું પગલું દ્વારા બંધ તેઓ તમારી એપ્લિકેશન ઉપયોગ કરવા લઇ જાય છે. અને પછી એક સુધારો હોઈ શકે છે કે જે તમારા સમગ્ર અરજી તોડી પડશે, અને તે એક ખરાબ સપનું હોવા અંત થાય છે પણ ડેવલપર માટે. તેથી કે જે આડશ હતી. અને પછી તે સાથે આવ્યા પછી એચટીએમએલ ઓડિયો ટેગ છે, કે જે વધુ આધુનિક HTML-- એક લક્ષણ છે જે ચોક્કસપણે ઘણો વધુ સામગ્રી માટે પરવાનગી આપે છે, પણ વસ્તુઓ તમે શું કરી શકે છે થોડો માત્ર ત્યાં મર્યાદિત હતા વસ્તુઓ પરિણામે કે એચટીએમએલ સક્ષમ હતી. તેથી જ્યારે જાવાસ્ક્રિપ્ટ API, વેબ ઑડિઓ API, એક ધોરણ બની ગયું હતું બ્રાઉઝર્સ તરફ પ્રેક્ટિસ, તે ખરેખર સમૂહ વિસ્તૃત વિકાસકર્તાઓ માટે તકો ખરેખર મકાન માં વિચાર વેબ માટે કૂલ સામગ્રી. એક લાંબા સમય માટે ત્યાં હતી આવી ખરેખર મજબૂત સાધનો મૂળ ઓડિયો કાર્યક્રમો માટે, દરેક GarageBand જાણે જેવા, અને પછી દેખીતી રીતે વધુ હોય છે વ્યાવસાયિક ઓડિયો મિશ્રણ કાર્યક્રમો, અને સામગ્રી તે પ્રકારના. પરંતુ ત્યાં ન હતી ખરેખર સારા Cloud-- નથી મેઘ, અરે વાહ, હું ધારી Cloud-- વેબ આધારિત પ્લેટફોર્મ છે કે જે વિકાસકર્તાઓ માટે પરવાનગી આપે છે લોકો માટે કાર્યક્રમો બનાવી ઓડિયો મિશ્રણ કરવું. અને તે તમને બતાવશે કે પછી, વેબ ઑડિઓ API ખરેખર શક્તિશાળી માટે પરવાનગી આપે છે સામગ્રી, ખરેખર ફક્ત થાય છે જે ખૂબ ઠંડી હોય છે. કે જેથી તમે શા માટે સૂચના છે આ પરિસંવાદ બાકીના જોવા જોઈએ, મૂળભૂત. અને હવે, હું વિશે વાત કરવા જઈ રહ્યો છું કેટલાક JavaScript-- માત્ર મૂળભૂત તત્વો ભાષાના, કે જેથી અમે એ જ પાનાં પર હોઇ શકે અમે વિશે વાત ત્યારે API થોડો પછી. કૂલ. તેથી, આ એક સાર છે. હું આ અહીં હતી ભૂલી ગયા છો. યાહ. HUGH ઝેબ્રિસ્કી: અહીં બે સ્લાઇડ્સ છે. એસએએમ લીલા: આ સાર છે કેટલીક મર્યાદાઓ ના અન્ય બંધન, જૂના પદ્ધતિઓ. અને પછી હવે, અમે આ વસ્તુઓ હોય છે. કૂલ. ઓસમ. તેથી, જાવાસ્ક્રિપ્ટ એસેન્શિયલ્સ. પ્રથમ પ્રથમ વસ્તુઓ, ત્યાં એક ખૂબ નોંધપાત્ર તફાવત જાવાસ્ક્રિપ્ટ વિરુદ્ધ એક જે રીતે જેમ કે C ભાષા, કે ચલો બનાવવામાં આવે છે. સી તેથી, અમે કર્યા કરવા માટે વપરાય કરી રહ્યાં છો અમારા ચલો ટાઇપ કરવા માટે, અધિકાર? અને હું જેમ પ્રકાર અર્થ નથી તેમને લખો, હું પ્રકારની અર્થ જેમ તેમને એક type-- અર્થ સોંપી જેમ, પૂર્ણાંક, ફ્લોટ, ચાર રચે છે. સી, અમે ખરેખર કરવા માટે વપરાય હતી એક ચલ બનાવવા કર્યા અને પછી માટે કે પ્રકાર વળગી અમે તે ચલ ઉપયોગ કરે છે સમગ્ર સમય. અને તે જરૂરી ખરાબ નથી પરંતુ તે વાપરવા માટે કદાચ મુશ્કેલ છે. ઠંડી લક્ષણો એક જાવાસ્ક્રિપ્ટ છે ચલો કહેવાય છે તે છે કે "ગતિશીલ લખ્યો" જે હું બનાવી શકે છે કે વાક્યરચના સાથે ચલ, varX ઉદાહરણ તરીકે, 5 સમકક્ષ હોય છે. વાસ્તવમાં બનાવે છે પૂર્ણાંક ચલ અધિકાર નીચે હૂડ somewhere-- પરંતુ હું કે ચલ બદલી શકો છો શબ્દમાળા નો સંદર્ભ લો જેવા કંઇ કરવાનું વિના નવા ચલ બનાવવા. હું ચિંતા કરવાની જરૂર નથી પ્રકાર બદલવા વિશે. જાવાસ્ક્રિપ્ટ પ્રકાર છે કે જે જાણે છે બદલી, અને તે ગતિશીલ થાય છે. તેથી, લાભો છે અને તે માટે ખામીઓ, માં કામ કર્યું છે જે કોઈને જ્યારે માટે જાવાસ્ક્રિપ્ટ ખબર પડી શકે છે. વખત જ્યારે ત્યાં છે જો તમે આકસ્મિક કદાચ એક ચલ પ્રકાર બદલવા અને કે પ્રકાર ને બદલી ન સંભાળી, અને પછી તમારા જાવાસ્ક્રિપ્ટ crash-- અથવા અપવાદ કરી શકો છો તમે પડશે, કારણ કે ફેંકી શકાય ખોટો પ્રકાર તમે એક પ્રકાર અપેક્ષા છે. કૂલ. તેથી, જે scoping-- તો જેવું છે અમે દરમિયાન પ્રારંભિક અઠવાડિયા યાદ રાખો કે, કેવી રીતે દૃશ્યમાન ચલ ઉલ્લેખ કરે છે છે અને કોડ શું વિસ્તારમાં. કે બધા જ દેખાય તે સી માં લાગે છે એ રીતે તેથી ચલો સામાન્ય scoped છે એક કાર્ય અંદર સર્પાકાર કૌંસ અંદર, અને પછી ત્યાં પણ છે વૈશ્વિક scoped ચલો કે તમે એક ચલ લખી are-- એક કાર્ય બહાર, તે સમગ્ર લખાણમાં દૃશ્યમાન થશે. વચ્ચે એક તફાવત ખાસ કરીને જાવાસ્ક્રિપ્ટ અને સી, તમે વૈશ્વિક જાહેર તો છે લખાણ ફાઈલ ચલ ગમે તે કોઇ પણ કાર્ય દેખાય છે કે લખાણ ફાઈલ અંદર. તે સાચું છે, સાચું છે? HUGH ઝેબ્રિસ્કી: હા. એસએએમ લીલા: તેથી તે પણ થોડી છે સી સરખામણીમાં ફંકી બીટ, અમે હંમેશા પડી જ્યાં અમારા જગ્યાઓ ઉપર ચલ વ્યાખ્યાઓ તેઓ ઉપયોગ થતો હતો. તે લાગુ છે કે નિયમ નથી હવે, તેથી થોડી અલગ છે. અને ફરીથી માત્ર reemphasize માટે, સ્થાનિક variables-- વિરુદ્ધ વૈશ્વિક સી જેવી જ તમે કરી શકે છે એ જ નામ સાથે બે ચલો, અને તેમના નામો એક છાયાદાર હોઈ એક સ્થાનિક ચલ દ્વારા તેમને એક તો વૈશ્વિક હતી. તેથી, સમાન પ્રકારની જ્યારે તમે કેટલાક કે કેટલાક માં ચલાવો હોઈ શકે છે તમારી સમસ્યા અત્યાર સુધી સુયોજિત કરે છે. કૂલ છે, કે જેથી ચલો છે. નિયંત્રણ ફ્લો, જેમ જેનો અર્થ થાય છે, જો-બીજું તાર્કિક stuff-- અને આંટીઓ. તેથી સાથે શરૂ કરવા માટે, આ શું છે, તો-બીજું નિવેદનો જાવાસ્ક્રિપ્ટ જેમ દેખાય છે. વિવિધ વસ્તુઓ ના પ્લેસમેન્ટ લીટીઓ પર મહત્વપૂર્ણ નથી. આ માત્ર સંમેલનો છે જે રીતે આપણે માળખું કોડ માટે. જસ્ટ સી માંગો, અમે એક છે એક ફકરા નિવેદન ", જો". કે હું શું અર્થ થાય છે શું નથી. હું તેને ફરીથી કર્યું. HUGH ઝેબ્રિસ્કી: બહાર નીકળવા માટે પ્રયત્ન કરી રહ્યું છે? એસએએમ લીલા: ના, હું છું જસ્ટ ઝૂમ પ્રયાસ કરે છે. તે તો કોઈ વાંધો નથી. તેથી, અમે એક "જો" વિધાન અને અમે તેને ની અંદર એક શરત છે કે, સાચું કે ખોટું મૂલ્યાંકન અને તે છે કે નહીં તે નક્કી કરે છે અમે કોડ કે બ્લોક દાખલ કરો. અને તેવી જ રીતે, અમે એક બીજા-તો, અને અમે સી ઉપયોગ કરી રહ્યાં છો જેમ બીજું, તમે પણ ખૂબ આરામદાયક હોવું જોઈએ અધિકાર આંટીઓ સાથે બેટ બોલ, તેઓ પણ દેખાય છે કારણ કે સી જેવા ઘણો લાગે છે. પણ તમે ફરીથી નોટિસ પડશે અમે તેના બદલે initializations પૂર્ણાંક હોય છે, અમે var initializations છે. અને હું તમારી પાસે ધારી બનાવવા માટે ખૂબ કાળજી રાખો ખાતરી કરો કે તમે કિંમત ને બદલવા નથી હું પૂર્ણાંક માંથી શબ્દમાળા માટે, ઉદાહરણ તરીકે, કારણ કે ચાલી રહ્યું છે વિચિત્ર વર્તન કારણ તમે ન શકે અપેક્ષા. પરંતુ આ જોવું જોઈએ ખૂબ પરિચિત, તેમજ. વસ્તુઓ શરૂ કરવા માટે છે તેથી આ છે જાવાસ્ક્રિપ્ટ એક થોડો ક્રેઝી વિચાર કોઈને માટે જે થી રહ્યું છે સી પૃષ્ઠભૂમિ કાર્યો છે જાવાસ્ક્રિપ્ટ, અને એક રીત છે લાગે છે કે એક કાર્ય જાહેર કરવા સે સમાન જેવું છે, અને પછી ત્યાં બીજી એક છે કે પ્રકારની અલગ દેખાય છે. પ્રથમ આવૃત્તિ અમે અહીં જોઈ શકો છો, જે જ્યાં કાઇન્ડ સી જેવી છે અમે આ એક કાર્ય છે, કહે છે તેને એક નામ આપો, આપી દલીલો સંખ્યા કાર્ય અને પછી સમાવિષ્ટો તે સર્પાકાર કૌંસ અંદર જાય છે. અમે એક ઉદાહરણ જોવા મળશે માત્ર એક જ સેકન્ડમાં દલીલો. આગળના વાક્ય પર, જ્યારે અમે ઓહ, જુઓ, અહીં એક ચલ કહેવાય "myFunction," ચાલો અને અમે આ માટે તે જેટલી સામાન્ય વસ્તુ function-- કે કંઈપણ પર જવા હોય તેમ લાગતું નથી. અલગ છે કે કારણ કરતાં સી છે જાવાસ્ક્રિપ્ટ કાર્યાત્મક ભાષા કહેવાય છે તે છે, અથવા જે અર્થ થાય છે, વિધેયાત્મક તત્વો ધરાવે છે કાર્યો ખરેખર કિંમતો છે કે જે. અને તે આપણે સુયોજિત કરી શકો છો કે જે થાય છે એક ચલ એક કાર્ય સમાન અને પછી તે કાર્ય ખસેડવા આસપાસ, એક દલીલ તરીકે પસાર કરવા માટે, સામગ્રી તમામ પ્રકારના કરવું કાર્યો સાથે એવું નહીં. એક અન્ય વસ્તુ note-- માટે કાર્યો લખવામાં આવે છે દલીલો ચોક્કસ નંબર સાથે. અમે એક કાર્ય એક ઉદાહરણ જોશો આગામી સ્લાઇડ પર એક દલીલ છે. પરંતુ જાવાસ્ક્રિપ્ટ નહીં જો તમે પ્રયત્ન કરો તમે કિકિયારી આ સાથે કાર્ય વાપરવા માટે દલીલોની ખોટી સંખ્યા. તે માત્ર બનાવવા માટે તેની શ્રેષ્ઠ કરીશ તમે પસાર જો કે, જેનો અર્થ નથી, તમે એક અપેક્ષા છે કે એક કાર્ય કૉલ કોઈ દલીલ, બધા સાથે દલીલ કે તે તેના શ્રેષ્ઠ કરીશ છે થશે પ્રયત્ન કરો અને તે કોડ ચલાવવા માટે, અને તે આખરે ચાલે તો એક અપવાદ છે અથવા કોઈ ભૂલ માં, તે અપવાદ ફેંકવું અને માત્ર રાખવા પડશે જઈને માત્ર માર્ગ છે કે જે જાવાસ્ક્રિપ્ટ કામ કરે છે. યાહ. પ્રેક્ષક: શું થાય છે જો બહુ બધી દલીલો છે? એસએએમ લીલા: જેથી પ્રશ્ન શું થાય છે, હતી બહુ બધી દલીલો હોય તો? અને જવાબ છે જાવાસ્ક્રિપ્ટ માત્ર કરશે હોય છે કે રાશિઓ અવગણો તે અપેક્ષા રાશિઓ પછી. તે કાર્ય ચલાવવા માટે પ્રયાસ કરીશું તે માત્ર પ્રથમ બે હતો જો ફોન કરો. અધિકાર? HUGH ઝેબ્રિસ્કી: તે અરે વાહ, અધિકાર છે. એ જ રીતે, જો ત્યાં ખૂબ થોડા દલીલો છે, તે માત્ર પ્રકારની તમામ નલ આપે દલીલોને કોઈ કિંમતો નથી છે. એસએએમ લીલા: જે કરી શકે છે ખરેખર, હાથમાં હોઈ જો તમે એક કાર્ય લખવા માંગો છો કે એક ચલ સંખ્યા દલીલો લે છે. તમે મૂળભૂત કિંમતો સુયોજિત કરી શકો છો કાર્ય વ્યાખ્યા અને તે હકીકત એ અવગણી શકો છો કે ઇનપુટ ત્યાં નથી. તેથી હું થોડી વાત કરવા માંગો છો આ છેલ્લા બુલેટ વિશે વધુ કાર્યો કરે છે, બિંદુ કિંમતો છે. આ છે કે જે એક ઉદાહરણ છે થોડો મન-ફૂંકાતા તમે માત્ર તે વાંચી, અને લાગે છે નથી, તો એક બીજા માટે શું થઈ રહ્યું છે તે વિશે. તેથી, ચાલો ફક્ત જુઓ અહીં પ્રથમ વાક્ય. અમે કહે છે કે, આ ચલ, એફ 1 છે આ વસ્તુ કરે છે કે એક કાર્ય છે. અને કાર્ય સમાવિષ્ટો ('હેલો') console.log છે. તમે તરીકે console.log વિચાર કરી શકો છો Printf જાવાસ્ક્રિપ્ટ સમકક્ષ. તેથી શું થશે, તો અમે અમારા બ્રાઉઝરમાં આ કોડ ચલાવવા માટે, અથવા તે સ્ટ્રિંગ છાપે પડશે. મને લાગે છે કે નિદર્શન કરી શકો છો. પ્રેક્ષક: લોગ કરીને, જોકે, કે જે કરે છે તે ક્યાંક રેકોર્ડ કરવામાં આવી રહી છે તેનો અર્થ? એસએએમ લીલા: યાહ. તેથી હું શું ચાલી રહ્યું છે તે તમને બતાવવા પડશે. તેથી પ્રશ્ન શું અર્થ લોગ નથી, હતું? HUGH ઝેબ્રિસ્કી: તેથી console.log સી જેવા printf છે એસએએમ લીલા: તેથી console.log જેવા printf છે તેથી હું ('હેલો') આ console.log હોય તો, અને હું કહી કે, શબ્દમાળા "હેલો" કન્સોલ પર છપાયેલ નહીં. આ કન્સોલ છે. તે માત્ર printf, જ્યાં જેવી છે તે પ્રમાણભૂત બહાર છાપે છે. અને અમે એક મિનિટ માં જોશો, પરંતુ આ ખરેખર છે કન્સોલ પદાર્થ ઉલ્લેખ અને તે પદાર્થ પર પદ્ધતિ કહે છે. તે વધુ અર્થમાં બનાવવા પડશે જ્યારે એક મિનિટ માં અમે વિશે વાત કરવા માટે વિચાર જાવાસ્ક્રિપ્ટ પદાર્થો, પરંતુ હું માત્ર ઉલ્લેખ કર્યો છે કે વિચાર્યું. HUGH ઝેબ્રિસ્કી: અમે છો સી ઉપયોગ થાય છે, ડાબેથી અમે સામાન્ય રીતે મોટા પ્રોગ્રામ લખવા મુખ્ય કંઈ પણ કરવા માટે. પરંતુ શું જાવાસ્ક્રિપ્ટ ઠંડી છે તમે છે દુભાષિયો આ પ્રકારની હોય છે કે રન વાસ્તવિક સમય માં, તેથી તે વાક્ય દ્વારા માત્ર લીટી લે છે, તે માત્ર સ્થળ પર કે અર્થઘટન કરી શકે છે. અને તે પર નજર રાખે છે પહેલાં ચાલે છે કે જે વસ્તુઓ, તેથી તે એક સુંદર ઉપયોગી સાધન છે , console.log, અથવા કન્સોલ ઉપયોગ સામાન્ય રીતે, માત્ર રમવા માટે આસપાસ જાવાસ્ક્રિપ્ટ સાથે. એસએએમ લીલા: તેથી આ પાછા જવાનું કોડ બીજી લાઇન ઉદાહરણ અહીં મારા માથા માં ખૂબ મન-તડાકાના ફાંફા મારવાં છે. પ્રથમ વખત હું આ વાંચી, તે જેમ, શું થઈ રહ્યું છે કરવામાં આવી હતી? તેથી શું થઈ રહ્યું છે આ છે કાર્ય જાહેરાત કહે છે, હું કાર્ય કહેવાય F2 છે કે, એફ એક દલીલ અપેક્ષા છે, અને પછી તે કહે છે કાર્ય, એફ, જે એક દલીલ તરીકે પસાર કરવામાં આવ્યો હતો કોઈ દલીલો પોતાને છે. તેથી, તે ગૂંચવણમાં મૂકે કરવામાં આવી છે શકે છે. F2 એફ 1 લે છે અમે આ સમજી તો એક દલીલ તરીકે, અને પછી F2 ની અંદર, એફ called-- જેનો અર્થ નહીં કોડ આ વાક્ય છે, આ બે લીટીઓ બાદ કોડ છે, "હેલો" પરિણામો કન્સોલ પર છપાશે આવી રહી છે. અમે પસાર કરી શકે છે હકીકત એ છે કે આસપાસ કાર્યો કિંમતો તરીકે સૌથી એક છે અંત થાય છે જાવાસ્ક્રિપ્ટ શક્તિશાળી લાક્ષણિકતાઓ એક પ્રોગ્રામિંગ ભાષા છે. આ તમામ બહાર તે કરી શકો છો ભયાનક વસ્તુઓ, માત્ર એક લક્ષણ તરીકે જે રીતે દ્રષ્ટિએ ભાષા તે વસ્તુઓ સરળ બનાવે છે કાર્યક્રમ અને પરવાનગી આપે છે ખાસ કરીને નથી કે વસ્તુઓ માટે વેબ માટે એકદમ અનુકુળ, કાર્યાત્મક પ્રોગ્રામિંગ અને વિધેયાત્મક જાવાસ્ક્રિપ્ટ પ્રોગ્રામિંગ પાસાઓ સૌથી એક છે શક્તિશાળી ખ્યાલો કે જો તમે મને પૂછો JavaScript-- અસ્તિત્વ ધરાવે છે. કૂલ. તેથી, આગામી વસ્તુ. કાર્યાત્મક હોવા ઉપરાંત, જાવાસ્ક્રિપ્ટ તત્વો પણ હોય છે ઓબ્જેક્ટ લક્ષી છે, જે ખૂબ જ એક છે કોમ્પ્યુટર વિજ્ઞાન લોકપ્રિય Buzz શબ્દો. ઓબ્જેક્ટ લક્ષી પ્રોગ્રામિંગ ખરેખર લોકપ્રિય વસ્તુ છે. જાવાસ્ક્રિપ્ટ કે એક સંસ્કરણ છે, હું દરેક કિંમત પણ માને છે કે જ્યાં દરેક પદાર્થ જેનો અર્થ છે કે એક પદાર્થ, કિંમતો કેટલાક નંબર સાથે વિંટાળે છે. સરળ હોય છે કે મૂલ્યો, જેમ કે તેથી , varX જેવા પૂર્ણાંક, 5 બરાબર તે પદાર્થ કે જે હમણાં જ એક કિંમત વિંટાળે છે. પરંતુ અમે પણ પરિસ્થિતિ કલ્પના કરી શકો છો અમે સી પરિસ્થિતિઓમાં વિચાર કરી શકો છો where-- અમે કરવા ઇચ્છતા જ્યાં સ્ટ્ર્ક્ટ્સ સાથે કંઈક, ઉદાહરણ તરીકે, કે જે વિવિધ આવરણમાં સાથે મળીને કિંમતો બનાવે તે ખરેખર સરળ આસપાસ વસ્તુઓ પસાર કરવા માટે. એક પદાર્થ જાવાસ્ક્રિપ્ટ છે ત્યારે તે છે. તે યાદ રાખવું અગત્યનું છે હું વસ્તુઓ લપેટી કહે છે કે જ્યારે સાથે મળીને કિંમતો કેટલાક નંબર, કાર્યો પણ છે કે જે કાર્યો કરી શકો છો કે જે અર્થ એ થાય કિંમતો પણ જાવાસ્ક્રિપ્ટ પદાર્થ ની અંદર હોય છે. અને મહત્વપૂર્ણ છે કે આ કારણ છે, કે જે ઘણી વખત આપણે જ્યારે એક પદ્ધતિ કૉલ લાગે છે કે એક પદાર્થ પર અન્ય એક લોકપ્રિય શબ્દ લોકપ્રિય ઓબ્જેક્ટ લક્ષી ભાષાઓ, તફાવતો એક અહીં છે એક પદ્ધતિ જાવાસ્ક્રિપ્ટ છે કે જે બધી નીચેની એક પદાર્થ અંદર સંગ્રહાય છે કે કદાચ action-- કરે અંદર છે કે અન્ય કિંમતો મદદથી તે પદાર્થ છે, પરંતુ જરૂરી નથી. તેથી જો તમે હું એક પરિસ્થિતિ કલ્પના કરી શકો છો એક ઉન્મત્ત રીતે થોડો ધારી, તમે એક પદ્ધતિ કહેવાય છે ઉદાહરણ તરીકે, અન્ય પદાર્થ પર પદાર્થ. તેથી, તે રીતે ફંકી થોડો છે. અને તમે પણ પદ્ધતિઓ બદલી શકો છો એક પદાર્થ સાથે સંકળાયેલ છે કે જે કે પદ્ધતિ એક સોંપણી દ્વારા પણ છે, જે નવી કાર્ય, અન્ય ખૂબ અલગ ઓબ્જેક્ટ લક્ષી ભાષાઓ, જ્યાં અમે એક ઑબ્જેક્ટ જાહેર એકવાર અને તે કરવા, અમે પદ્ધતિઓ છે કે જે બદલી શકતા નથી હવે તે પદાર્થ સાથે સંકળાયેલું છે. તેથી તે ખૂબ અલગ છે. કૂલ. તેથી અહીં પ્રથમ, એક ઉદાહરણ છે, ક્રિયા એક પદાર્થ છે. આ કહેવામાં આવ્યું છે તે છે સામાન્ય પદાર્થ છે, જે તે કોઇ પણ નથી કે એનો અર્થ એ થાય ખાસ નામ, એક વર્ગ નથી તે કિંમતો કેટલાક વીંટવાનું છે. અને લાગે છે કે જે રીતે અમે હોય છે, સર્પાકાર આ બાહ્ય જોડી અહીં કૌંસ જાવાસ્ક્રિપ્ટ સૂચવે છે કે અને આ એક પદાર્થ છે, કહે છે. તે અંદર કિંમતો દરેક કિંમતો અંદર છે પદાર્થ કે જોઈએ સાથે આવરિત શકાય છે. અને તે પદાર્થ ની અંદર, અમે પછી કી કિંમત જોડીઓને છે કી નામ તરીકે ઓળખવામાં આવે છે પદાર્થ ની અંદર કિંમત, અને અન્ય side-- કોલોન અહીં વિરુદ્ધ વાસ્તવિક કિંમત છે કે સંગ્રહાયેલ હોવી જોઈએ. તેથી જો અમે એક છે કે અહીં જુઓ કી કિંમત સેમ સાથે એફએન કહેવાય છે, અલ્પવિરામ દ્વારા અનુસરવામાં, આગામી પ્રવેશ પર કહે છે. પછી LN કહેવાય કી, લીલા ની કિંમત સાથે, અલ્પવિરામ દ્વારા અનુસરવામાં, ", પ્રિન્ટ" દ્વારા અનુસરવામાં એક કાર્ય કિંમત હોય રહ્યું છે, જે તે કોડ આ વાક્ય શું થઈ રહ્યું છે. એક પગલું લઈ દો અને અહીં શું થઈ રહ્યું છે અનપૅક કરી શકાતું. તેથી આ એક થોડો જટિલ છે અને અમે કંઈક નવું જોઈ રહ્યાં છો પ્રથમ વખત. "આ" કીવર્ડ નવા વસ્તુ છે અમે અહીં જોઈ છે, અને આ શું કરે છે કરી રહ્યાં છો છે, વર્તમાન સંદર્ભ લે છે અધિકાર, અવકાશ પદાર્થ? તેથી અમે આ કહે છે ત્યારે બધી રીતે પાછા નિર્દેશ આ સમગ્ર object-- માટે અમે this.fn કરે છે ત્યારે, અમે બધી રીતે પાછા જાઓ રહ્યા છીએ આ પદાર્થ માટે, એફએન કિંમત પર જવા અને સેમ વિચાર, તે બધી રીતે ખેંચી પાછા, અહીં તે વળગી, અને પછી પર ખસેડો. પ્રેક્ષક: પુનઃપ્રાપ્તિ સાથે છે, તેથી કારણ કે પરિમાણ કરવામાં વ્યાખ્યા શું છે? એસએએમ લીલા: પ્રશ્ન હતો તેથી, છે પુનઃપ્રાપ્તિ કારણ કે પરિમાણ કરવામાં વ્યાખ્યા શું છે? અરે વાહ, ચોક્કસ. શું છે અહીં શું ચાલી રહ્યું છે આ કોઈ, જાવાસ્ક્રિપ્ટ કહે ઠીક છે, હું કેટલાક કિંમત મેળવવામાં છું મારી પાસેથી આ પદાર્થ છે. અને પછી તે એક પ્રવેશ માટે જોવા મળશે એફએન કહેવાય છે, અને તેને શોધે તો, તે સેમ છે, કે જેથી કિંમત પરત મળશે. પરંતુ હું પણ ટાઇપ કરી શકે છે અહીં વ્યાખ્યાયિત ન હતી કે કંઈક, અને પછી તે માત્ર કરશે undefined-- પરત જે એક વસ્તુ છે કે જે જાવાસ્ક્રિપ્ટ શકે છે લાભ હોઈ શકે છે, જે કરવું, તમે એક ટાઈપો બનાવવા પરંતુ જો તે also-- છે તે વિચિત્ર ભૂલો થઇ શકે છે. તેથી તે માત્ર શોધવા માટે પ્રયાસ કરીશું તમે શોધવા માટે તે કહેવું ગમે અને તે કરવા માટે નથી જતા તેને શોધી નથી, તો ફરિયાદ કરો. તે માત્ર હું ન હતી, કહેવું પડશે તે શોધવા માટે, અને પછી પર ખસેડો. તેથી તે અવ્યાખ્યાયિત આવશે વત્તા ખાલી, વત્તા છેલ્લા નામ. યાહ. અને પછી અમે જોઈ શકો છો કે જો આપણે પછી નીચે જાઓ અને access-- શકે અને અમે કૌંસ સાથે tf.print () કોલ. તે પ્રિંટ કહી રહ્યું છે કોઈ દલીલો સાથે કાર્ય, અધિકાર? પરંતુ જો આપણે માત્ર જણાવ્યું હતું કે tf.print () અર્ધવિરામ, કૌંસ વગર, કર્યું હોત કે બધા ખેંચી છે કિંમત માંથી કાર્ય બહાર, પરંતુ વાસ્તવમાં તે ન કહેવાય. કૂલ. HUGH ઝેબ્રિસ્કી: જોઇએ અમે એક ઑબ્જેક્ટ છે? એસએએમ લીલા: ખાતરી કરો કે, ચાલો કે નથી. તેથી હું આ ખસેડી શકો છો કન્સોલ પર ઉદાહરણ છે. અમે હું એક પદાર્થ છે કે કલ્પના કરી શકો છો. તેથી આ એક સરળ પદાર્થ છે. આ બે સમાવે છે કે જે એક પદાર્થ છે બે કીઓ સાથે મૂલ્યો, બે કી કિંમત જોડી. તેથી હું પછી સંગ્રહાયેલ કિંમત ઍક્સેસ કરી શકો છો x.x1 કરવાથી આ પદાર્થ ની અંદર, ઉદાહરણ માટે, અને હું 1 પાછા મળે છે. તેવી જ રીતે, x.x2, કે જે કિંમત પાછા મળે છે. અને હવે ખરેખર ઠંડી વસ્તુ હું કરી શકે છે ખરેખર આ પદાર્થ કંઈક ઉમેરવા હું તેને બનાવી છે પછી. તેથી જો તમે ચાલો, કલ્પના કરી શકો છો હું એક કાર્ય છે કહે છે. HUGH ઝેબ્રિસ્કી: તમે -દાખલ પાળી કરવું પડશે. એસએએમ લીલા: ઓહ, કે નકામી છે. તે શું ન ગમે હતી? ઓહ. અહીં અમે જાઓ. કૂલ. તેથી હું હમણાં બનાવેલ છે આ કાર્ય, એફ, કે વર્તમાન પર જવા માટે ચાલે છે પદાર્થ અને પ્રિન્ટ this.x1. તેથી હું માત્ર દ્વારા એફ કૉલ જો પોતે કંઈ થઈ રહ્યું છે કોઈ x1 છે, કારણ કે, અધિકાર, થાય છે તે ઉલ્લેખ છે પદાર્થ માં ક્ષેત્ર. પરંતુ, હું પછી x.f = f, અને કહે છે, તો હું x.f () કોલ, હું પાછા 1 વિચાર જાઉં છું. કે એફ કાર્ય હવે પદાર્થ એક્સ સાથે સંકળાયેલ છે, કી કહેવાય x1 ધરાવે છે, જે કિંમત 1 સાથે સંકળાયેલ છે, અમે this.x1 કૉલ કરો ત્યારે તેથી, તે છે તે માટે જોઈ છે શું શોધી રહ્યા અને કિંમત છાપે માટે સક્ષમ છે. તેથી તે માત્ર એક ઉદાહરણ છે ક્રેઝી વસ્તુઓ પ્રકારની તમે જાવાસ્ક્રિપ્ટ પદાર્થો સાથે કરી શકો છો. તેથી તે આવૃત્તિ હતી જિનેરિક વર્ઝન, અર્થ અમે આ ઉપયોગ એક પદાર્થ બનાવ્યું છે કે , નોટેશન તાણવું નોટેશનમાં કૌંસ બદલે છે અને તે છે હાથમાં અમે માત્ર માંગો છો તો ચોક્કસ પદાર્થ એક ઉદાહરણ છે, પરંતુ અમે શું એક કરતાં વધુ હોય છે કરવા માંગો છો, તો આ જ પ્રકારની? અને તે જવાબ પ્રશ્ન એ છે કે, વસ્તુઓ છે તેમજ જાવાસ્ક્રિપ્ટ વર્ગો કહેવાય છે. અમે એક કાર્ય બનાવી શકો છો કે આરંભ અમુક પ્રકારના કરે વિદેશી પદાર્થ માટે, અને અમે, જેમ કહે કરશો નામ તેથી મારા વર્ગ આ ફરીથી વાપરી શકાય object-- ના તે સુયોજિત કરે છે કે જે કાર્ય સમકક્ષ હોય છે. તેથી આ સમકક્ષ હશે શું એક પદાર્થ બનાવવા છે કે ગમે જ હોઇ શકે છે, સર્પાકાર તાણવું, str, કોલોન, આ એક સ્ટ્રિંગ છે, અર્ધવિરામ, સર્પાકાર તાણવું. તે સામાન્ય હશે અમે પ્રારંભ પદાર્થ, આ એક તફાવત પર હોવા સાથે આગામી લાઇન્સ અમે પ્રોટોટાઇપ બનાવવા જે તે મૂળભૂત કી છે અર્થ એ થાય કે અમે અમારા પદાર્થ ઉમેરવા કે અંહિ યાદી થયેલ મૂલ્ય ધરાવે છે. જેનો અર્થ થાય છે, કે હું એક નવા બનાવો ત્યારે આ MyClass પદાર્થ હમણાં પૂરતું, તે અંદર પૂર્વ બિલ્ટ હોય ચાલી રહ્યું છે તે કિંમત str કહેવામાં આવે છે અને અન્ય કિંમત છે, જે કહેવાય myPrint, જઈને કાર્ય હોય છે. ઓસમ. ગ્રેટ. જેથી છેલ્લા વસ્તુ જાવાસ્ક્રિપ્ટ વિશે કહે છે તે શું માટે ખરેખર ઉપયોગી છે કે છે અસુમેળ કામગીરી કહેવામાં આવે છે. અસુમેળ અર્થ છે કે અમે કેટલાક કામગીરી માટે રાહ કરી શકો છો અમે ખસેડવા પહેલાં પૂર્ણ કરવા માટે અમે રાહ જ્યારે, પરંતુ પર ખસેડો અને પછી કંઈક પાછળથી થાય છે. અને શું હું કે અર્થ તમે છે, એક પરિસ્થિતિ જ્યાં કલ્પના કરી શકો છો તમે એક વિનંતિ મોકલી ક્યાંક અમુક વેબ સર્વર, અને તે તમને પાછા મોકલવા માટે ચાલી રહ્યું છે માહિતી અમુક મોટા ભાગ, અધિકાર? અને તમારા વપરાશકર્તા માં રાહ જુઓ શકે છે દરમિયાન થાય તે માટે, અને કંઈ હોઈ શકે છે તે સમયે પર જઈ રહી છે. પરંતુ તે એક મહાન ડિઝાઇન, જમણી નથી? તમે વેબ પાનું સ્થિર કરવા માંગો છો નથી. શું વપરાશકર્તા કરવા માંગે છે, તો એક ડ્રોપ ડાઉન મેનુ પર ક્લિક કરો? તે એક મહાન ડિઝાઇન પેટર્ન નથી. તેના બદલે, મૂળભૂત રીતે શું જાવાસ્ક્રિપ્ટ, કહે છે નથી ઠીક છે, અસુમેળ આ ક્રિયા નથી. તેથી, જેમ કે પૃષ્ઠભૂમિમાં રાહ જુઓ, અને પછી કામગીરી કરવામાં આવે છે ત્યારે કૉલબૅક કૉલ function-- અમુક કાર્ય કૉલ, કે જે અમુક action-- સિગ્નલ નથી અમે અંત માટે રાહ જોઈ હતી કામગીરી બધું પતી ગયું. અને સુપર શક્તિશાળી છે કે કારણ છે, અમે કંઈક દલીલ પસાર કરી શકે છે, કંઈક કરવા માટે, અને પછી રાહ જુઓ કંઈક થાય છે. પછી, કંઈક કે જે એક વખત , અમે એક કૉલબૅક કૉલ કરી શકો છો સમાપ્ત કરે છે. તે દે છે કારણ કે તે ખરેખર સરળ છે અમેરિકા, વેબ ઑડિઓ API સાથે વસ્તુઓ કરી ઉદાહરણ તરીકે, ભાર એક જેવા દૂરસ્થ સર્વર માંથી ઓડિયો ફાઈલ આ માટે રાહ કર્યા વગર સમગ્ર ઓડિયો ફાઈલ લોડ કરી, ખરેખર હશે જે વપરાશકર્તા અનુભવ માટે ખરાબ. કૂલ. છેલ્લા થોડા વિશે નોંધો ડિબગીંગ, આ કારણ તમારે શું કરવું છે જઈ રહ્યાં છો એક વસ્તુ છે તમારા પ્રોજેક્ટ ભાગ તરીકે, ખાતરી આપી. હું JavaScript કન્સોલ ઉલ્લેખ કર્યો છે. તે સુપર ઉપયોગી લક્ષણ છે બધા આધુનિક બ્રાઉઝર્સમાં, અને અમે ખરેખર વિચાર કરવા માટે પ્રોત્સાહિત તમારા કન્સોલ વાપરી આરામદાયક, તમે JavaScript સારા વિચાર કરવા માંગો છો. તે સુપર સરળ છે ડિબગીંગ, પરંતુ તે પણ છે figuring માટે ખરેખર ઉપયોગી બહાર કેવી રીતે API નો ઉપયોગ કરે છે. તે ખરેખર માટે પરવાનગી આપે છે સરળ પ્રયોગો અમુક પ્રકારના કર્યા વગર કોડ છે, અને પછી તે કમ્પાઇલ. તમે તે બધા પગલાંઓ કરવા માટે નથી. તમે માત્ર લખી શકો છો એક લીટી માં કેટલાક કોડ છે, અને પછી તાત્કાલિક પ્રતિક્રિયા વિચાર કોડ કે વાક્ય કે નહીં ખૂબ જ સરળ worked--. અને પણ, માત્ર એક ટેકનિકલ note-- JavaScript કન્સોલને એક ઉદાહરણ છે કે, repl આર ઇ પી એલ તેથી એક REPL-- છે, વાંચો માટે વપરાય છે, મૂલ્યાંકન પ્રિન્ટ લૂપ. તમે અમુક સામગ્રી ટાઇપ કરવા માટે જઈ રહ્યાં છો , તે તમે લખેલ શું વાંચી શકશો, તે મૂલ્યાંકન પડશે, અને તે પ્રિન્ટ પડશે આઉટપુટ, અને પછી તે ફરીથી શરૂ કરી શકશો. એટલે કે, તમે ઝડપથી જવા માટે પરવાનગી આપે છે વર્તુળો ખરેખર ઠંડી છે, કે જે વારો. હું આ note-- વાસ્તવિક છેલ્લા ધારી હા, વાસ્તવિક છેલ્લા નોંધ છે. અમે કેવી રીતે વાસ્તવમાં જાવાસ્ક્રિપ્ટ ઉપયોગ કરી શકું? તેથી પ્રથમ, અમે આયાત કરી શકો છો તે એક સ્ક્રિપ્ટ ટેગ ઉપયોગ કરીને એક HTML ની ​​ટોચ અથવા તળિયે ફાઈલ ગમે ત્યાં એક HTML ફાઇલ અંદર, ખરેખર. અને સ્ક્રિપ્ટ ટેગ અંદર હોય છે, જાવાસ્ક્રિપ્ટ આયાત બે ઉપ-રીતે. પ્રથમ કર્યા છે અલગ જાવાસ્ક્રિપ્ટ ફાઈલ અમે તેની સમગ્રતામાં આયાત, અથવા તે સ્ક્રિપ્ટ જેવું કોડ વિસ્તાર હોવાના પછી શરૂ કરવા માટે, અને બેકસ્લેશ સ્ક્રિપ્ટ અંત. અને પછી અમે માત્ર લખવા HTML ફાઇલ અંદર જાવાસ્ક્રિપ્ટ. તે બે માર્ગો છે. તમે HTML ની ​​અંદર હોઈ શકે નહિં. પ્રેક્ષક: અન્ય કરતાં વધુ સારી છે? એસએએમ લીલા: આ પ્રશ્ન હતો, અન્ય એક કરતાં વધુ સારી છે. તેથી, હા, એક કોડિંગ શૈલી અભ્યાસ, અને તે પણ એક ડિઝાઇન પ્રથા જેવું છે. બે કારણો છે શા માટે તે વધુ સારી રીતે કરી શકે છે. પ્રથમ તે તમારા કોડ એક બનાવે છે ઘણો વધુ વાંચનીય તમારા HTML તમામ જો છે એક જ જગ્યાએ, તમારા સીએસએસ બધા છે અન્ય જગ્યાએ, તમારા જાવાસ્ક્રિપ્ટ તમામ ત્રીજા સ્થાને છે. અધિકાર? હું અમે પહેલાથી જ વાત કરી છે કરીશું લાગે sections-- જેવા તે વિશે CSS-- શું કે is-- અને તે જાય ઘણી વખત બીજા ફાઈલમાં. તેથી, અહીં ખ્યાલ સમાન પ્રકારની. તમે પણ કલ્પના કરી શકો છો જાવાસ્ક્રિપ્ટ એક કરતાં વધુ પર ફરીથી ઉપયોગ કરી શકે છે HTML પાનાનું, અથવા કદાચ એક ઘણા HTML પૃષ્ઠો, અને તે જાવાસ્ક્રિપ્ટ કર્યા એક પુનઃવિભાજીત તમે આયાત કરી શકો છો તે ફાઇલ એક કરતાં વધુ જગ્યાએ કોડ માટે પરવાનગી આપે છે માર્ગ વધુ નિભાવવા. તમે એક બનાવવા કલ્પના કરી શકો છો જાવાસ્ક્રિપ્ટ બદલી અને કર્યા તેને બદલવા માટે 100 અલગ ફાઈલોમાં. અને તેના બદલે અમે માત્ર તે બદલી શકો છો માર્ગ વધુ શક્તિશાળી છે, જે એક છે. હું તમારા પ્રશ્નનો જવાબ છે? કૂલ. અમે પણ કન્સોલ માં ટાઈપ કરી શકો છો અમે પહેલાં ઉલ્લેખ કર્યો છે તેમ. અને ફરી, એક છેલ્લા note-- ઓડિયો બાંધવામાં આવે છે વેબ, તમે કંઈપણ લોડ કરવાની જરૂર નથી. કૂલ. કોઇ પ્રશ્નો હોય છે, તમે હોય જાવાસ્ક્રિપ્ટ વિશે કોઇ પ્રશ્નો, પહેલાં આપણે પર ખસેડો? AUDIENCE: [અશ્રાવ્ય] એસએએમ લીલા: બધા અધિકાર, ઠંડી. તેથી હવે તે API વિશે વાત કરવા જઈ રહ્યા છે. HUGH ઝેબ્રિસ્કી: કૂલ. આભાર, સેમ. એસએએમ લીલા: શ્યોર. HUGH ઝેબ્રિસ્કી: ભયાનક, જેથી અમે જાવાસ્ક્રિપ્ટ પર ખસેડવા પડશે. તેથી અમે કેટલાક વિશે વાત કરી છે જાવાસ્ક્રિપ્ટ જરૂરી અને તે વેરિયેબલ્સ, કામગીરી છે, વસ્તુઓ, ચલો તરીકે કાર્ય કરે, અસુમેળ લોડ કરી રહ્યું છે. આ છે કે જે તમને પડશે બધા વસ્તુઓ છે તમે વેબ ઑડિઓ ઉપયોગ જુઓ. તેથી અમે ફક્ત વાત કરવા જઈ રહ્યાં ઊંચા સ્તરે પ્રથમ તે વિશે. તે API છે, તેથી તે કંઈક છે સેમ જણાવ્યું હતું કે, બનેલ છે, અધિકાર જાવાસ્ક્રિપ્ટ માં જો તમારે કન્સોલ ઉપયોગ કરે છે. અને તે માત્ર જેમ કે C ++ કોડ ખરેખર છે કે ખરેખર Chrome માં નિર્મિત છે અને ફાયરફોક્સ, અને આ બ્રાઉઝર્સ બધા. વેબ સાથે મુખ્ય વિચાર છે, જેથી ઓડિયો તમે હોય છે ઓડિયો પાઇપલાઇન આ પ્રકારની, અધિકાર? તેથી તમારા ઓડિયો માહિતી કેટલાક સ્વરૂપ માં આવે છે. ત્રણ મુખ્ય forms-- કાઇન્ડ હોય છે તમે ઓક્સિલેટર હોય છે, જે સાઈન તરંગ બનાવે છે, કોજયા તરંગ, અમે તે કેવી રીતે કામ કરે છે તે જોવા માટે જઈ રહ્યાં છો. અન્ય ખૂબ જ સામાન્ય છે, અલબત્ત, એક એમપી 3 છે. તેથી કદાચ તમારી સાથે શરૂ ગીત, અને પછી તમે કેટલાક ફિલ્ટરિંગ કરવા માંગો છો કે અને આઉટપુટ કે that-- શક્ય સ્ત્રોત બની શકે છે. અને પછી એક ખરેખર ઠંડી એક માઇક્રોફોન છે. તેથી તમે કેટલાક ખૂબ ઉપયોગ કરી શકો છો જાવાસ્ક્રિપ્ટ મૂળભૂત કોલ્સ આ ઍક્સેસ મેળવવા માટે માઇક્રોફોન, અને તેથી જો તમે એક એપ્લિકેશન બનાવવા માગતા હતા પિચ ડિટેક્ટર જેમ, ઉદાહરણ માટે, કે જે લે તમારા અવાજ અને બહાર આધાર કે જે pitch-- ખૂબ જ સરળ રીત છે. તમે હમણાં જ પ્રકારની તેને વાંચી શકે છે માં, આવર્તન બહાર આકૃતિ, અને પછી આઉટપુટ સંખ્યા. તેથી અમે તે કેવી રીતે કામ કરે છે, તેમજ પડશે. આ સ્થળ મૂળભૂત છે જ્યાં ઓડિયો માહિતી આઉટપુટ છે. તેથી સામાન્ય રીતે, તે જેવી છે તમારા લેપટોપ બોલનારા. અન્ય વિકલ્પો જેવા છે એક ScriptProcessorNode-- અમે એક ગાંઠો મળશે second-- પરંતુ મૂળભૂત રીતે, ક્યાં તો તમે અવાજ આપી રહ્યા છીએ તમારા કમ્પ્યુટર દ્વારા બોલનારા મારફતે, અથવા તમે પ્રકારની તેથી, તે રેકોર્ડ કરી રહ્યાં છો તમે ઓડિયો માહિતી તરીકે સ્ટોર કરી રહ્યાં છો. તેથી કદાચ કોઈને બનાવે છે, તો સંગીત તમારી એપ્લિકેશન અને પછી તમે અને કદાચ જેમ કે રેકોર્ડ કરવા માંગો છો ઉદાહરણ માટે, SoundCloud માટે નિકાસ કે કરવા માટે એક માર્ગ હશે. બધા મજા સામગ્રી, અમે વિશે વાત કરીશું, જે આ બે બિન્દુઓ વચ્ચે થાય છે, અમે સંગીત લોડ જ્યાં અને તે પછી આઉટપુટ. તેથી હું પાંચ વિશે વાત કરવા જઈ રહ્યો છું બીજા ઓડિયો ઉત્પાદન તબક્કામાં. અમે કહેવાય આ વસ્તુ છે એક AudioContext, જે અમે અહીં જુઓ આ થોડું wrapper છે. અમે તો મૂળભૂત રીતે શું is-- AudioContext હમણાં JavaScript કન્સોલ પર જાઓ, અમે હમણાં બનાવી શકો છો. Repl માત્ર એક ઉદાહરણ છે, અધિકાર? અમે વાંચી રહ્યા છો, મૂલ્યાંકન, અને તે છાપે છે. AudioContext વૈશ્વિક રાજ્ય છે. તે તે પદાર્થ એક સ્ટ્રક્ટ છે છે અહીં, તે અને માહિતી રાખે છે વસ્તુઓ વિશે જતા હોય છે કે ઓડિયો સંબંધિત સ્ક્રીન પર. એક ઉદાહરણ ચાલુ સમય છે. આ તમને નંબર કહે સેકન્ડ, ખૂબ જ સ્પષ્ટ રીતે, વેબ પૃષ્ઠ, કારણ લોડ. તેથી આ એક ખરેખર ઉપયોગી છે તમે ઉપયોગ કરી શકો છો કે જે થોડી મિલકત. તે only-- વાંચી હું ખરેખર લાગે છે તમે તેને કિંમત સુયોજિત કરવા માટે પ્રયાસ કરી શકો છો. તમે તે સેટ કહી શકશો, અને પછી તમે તેને છાપી તો again-- તે ખરેખર ખૂબ કામ ન હતી. તેથી ત્યાં માત્ર-વાંચી શકાય છે જાવાસ્ક્રિપ્ટ ગુણધર્મો. આ તો ખરેખર ઉપયોગી છે તમે પ્રકારની સમન્વય કરી રહ્યા છીએ વિવિધ ઘણો માહિતી, જ્યારે તમે છો પ્રકારની વિવિધ અવાજો રમે છે. અન્ય ખરેખર ઉપયોગી સંદર્ભમાં સ્થળ છે. જો તમને રસ છો, તો ચોક્કસપણે હોઈ તમારા પોતાના કન્સોલ જમણે આ પ્રયાસ હવે. તેથી આ એક AudioDestinationNode છે. મૂળભૂત રીતે આ છે શું કહે છે, આઉટપુટ ક્યાં જાય છે? તેથી અહીં બે વાસ્તવિક વિકલ્પો છે. સામાન્ય રીતે મૂળભૂત ફક્ત તમારા બોલનારા છે તેથી AudioDestinationNode મૂળભૂત રીતે માત્ર કહે છે અવાજ માટે શૂન્ય આઉટપુટ છે આવતા, સ્પીકર માટે મોકલ્યો છે. તેથી સામાન્ય રીતે, તમે નથી તે સાથે રમે છે. તમે ખરેખર ઉપયોગ કરીને રસ ધરાવતા હો તો રેકોર્ડિંગ માટે ScriptProcessorNode, ચોક્કસપણે મને શૂટ ઇમેઇલ કે પાછળથી કારણ કે થોડી વધુ જટિલ. પરંતુ સામાન્ય રીતે, તમે માત્ર પ્રકારની છો કેટલાક સ્વરૂપ અવાજ outputting છે. તેથી ઠંડી, અમે અહીં પાછા આવો પડશે. પ્રેક્ષક: હું દિલગીર છું. HUGH ઝેબ્રિસ્કી: યાહ. પ્રેક્ષક: હું તમને વાત કરવા જણાવ્યું હતું ખબર તમે પાછળથી રેકોર્ડ વિશે. તમે તે પ્રો સાધનો સાથે ઈન્ટરફેસ કરી શકો છો? HUGH ઝેબ્રિસ્કી: પ્રો સાધનો સાથે? માતાનો જોવા દો. મને એવું લાગે છે નથી. જેથી ક્લાઈન્ટ વચ્ચે જઈ, જે જાવાસ્ક્રિપ્ટ છે કન્સોલ, અને તમારી વાસ્તવિક કોમ્પ્યુટર, સામાન્ય રીતે છે પ્રકારની છે કે જે કંઈક મર્યાદા બંધ છે, જો પ્રકારની the-- પ્રકૃતિ દ્વારા કરશે તે ડિઝાઇન વસ્તુ પ્રકારની છે પરંતુ તમે અલગ બ્રાઉઝર રાખવા પ્રયાસ વપરાશકર્તાની વાસ્તવિક કમ્પ્યુટરથી. સામાન્ય રીતે, આ જ વસ્તુ તમે કરવા માટે સક્ષમ છીએ ઍક્સેસ માઇક્રોફોન અથવા કેમેરા છે. તમે કરવા માટે સમર્થ નથી, હું નથી લાગતું નથી, પ્રો સાધનો વાપરો. જો કે, તમે બનાવેલા છે, તો પ્રો સાધનો એક ટ્રેક, તમે તે લોડ કરી શકે છે, કે નિકાસ અહીં, ઉદાહરણ તરીકે, તે ફિલ્ટર પ્રક્રિયા છે, અને એક માં કે રેકોર્ડ ઓડિયો Destination-- અથવા, એક વલયની no-- પ્રોસેસર નોડ. ત્યાંથી અને પછી, તમે કરી શકે છે , SoundCloud તમે કે નિકાસ ઇમેઇલમાં મોકલી, અથવા કરી શકે છે ગમે તમે ત્યાંથી ગમે છે. પરંતુ થોડો અવરોધ પ્રકારની છે તમારા કમ્પ્યુટર પર સંગીત બનાવવા વચ્ચે અને સંગીત બનાવે છે. એસએએમ લીલા: અને તે છે આ API માટે અનન્ય નથી. ક્રોમના સુરક્ષા લક્ષણ છે, અને હું દરેક અન્ય આધુનિક બ્રાઉઝર લાગે છે. આ બ્રાઉઝર સ્વયં પર્યાપ્ત છે. તેથી, ઉદાહરણ તરીકે, એક વેબ પૃષ્ઠ નથી કરી શકો છો અવાજ ચાલુ કરવા માટે JavaScript નો ઉપયોગ ઉદાહરણ તરીકે, તમારા સ્પીકરો, પર. અથવા તેને તમારા કમ્પ્યુટર બંધ કરી શકો છો. અને કોઈ મધ્યવર્તી બિંદુ છે તે બે વસ્તુઓ વચ્ચે, જમણે, તેથી ક્યાં તો તમે એક છે સંપૂર્ણ તાત્વિક, અથવા તમે આ ખોલવા ભાડા સુરક્ષા પ્રવાહ ખરાબ ઇરાદા સાથે પ્રોગ્રામર કરી ગમે તેઓ તમારા લેપટોપ સાથે માંગો છો. ક્રોમ સ્વયં પર્યાપ્ત છે કે શા માટે છે. HUGH ઝેબ્રિસ્કી: યાહ. કે અર્થમાં છે? સરસ, ઠંડી. હું માત્ર ચાલુ કરવામાં આવી હતી એક ઉદાહરણ દર્શાવે છે. આ ખૂબ જ છે જ્યાં સુધી તમે દ્રષ્ટિએ, વિચાર વપરાશકર્તા કોમ્પ્યુટર ઍક્સેસ. જો તમારી પાસે એક યુએસબી કીબોર્ડ, પ્લગ તમે વેબ કહેવાય કંઈક ઉપયોગ કરી શકો છો મીડી API, કે જે અમે નહીં ખરેખર અહીં વિશે વાત છે, પરંતુ આ છે કે અન્ય API છે ફરી ઓછામાં ઓછા Chrome-- માં બાંધવામાં અમે Chrome-- પ્રેમ શા માટે છે હું ફાયરફોક્સ અથવા સફારી લાગે આ એક સરળ બાબત છે google-- વિવિધ બ્રાઉઝર્સ છે જેના માટે વિવિધ આધાર APIs તેઓ અમલ કર્યો છે. જો તમે ઇચ્છતા પરંતુ કીબોર્ડ પ્લગ અને તે માહિતી સાથે કામ કરે છે, પ્રકારની કીબોર્ડ મોકલી કમ્પ્યુટર પર માહિતી અને પછી, આ API કે જે ઑનલાઇન ઉપયોગ તમે તે કામ કરશો થયેલ છે. કૂલ. ઠીક છે. તેથી, ઝડપથી અહીં પર ખસેડવાની. અમે કેવી રીતે સમય પર કરી રહ્યા છે? 1 વક્તા: 15. HUGH ઝેબ્રિસ્કી: 15 મિનિટ બાકી? ઠંડી, ઠીક. તેથી અમે અહીં આગળ રેસ પડશે. તેથી મૂળભૂત રીતે, મુખ્ય બિંદુ પાઇપલાઇન તરીકે આ વિચારી છે કે પાઇપલાઇન દરેક પગલું ઓડિયો ગાંઠો શ્રેણી છે. અમારી સ્ત્રોત, ચાલો કહે, એક ઓક્સિલેટર છે. અમે એક ઓક્સિલેટર નોડ બનાવવાની જરૂર છે. અને તે માત્ર પ્રકારની છે ધ લીટલ function-- ના અને તેઓ બધા બહાર આધારિત કરી રહ્યાં છો અહીં ઓડિયો સંદર્ભ. પ્રેક્ષક: તે જણાવ્યું હતું કે જ્યારે ઓક્સિલેટર, તેનો અર્થ એ નથી તે ખરેખર શાબ્દિક રહ્યું છે આગળ અને પાછળ બે અલગ અલગ પોલ્સ? HUGH ઝેબ્રિસ્કી: ના, તે જેવી છે ડિજિટલ રજૂઆત. તે ખરેખર C ++ માં અમલમાં છે. હું ખરેખર સ્પેક્સ ખબર નથી તે ખરેખર અમલમાં છે કેવી રીતે, પરંતુ આ બધા બાઈનરી માહિતી તરીકે કામ કરે છે. ખરેખર, હા. હું કરી શકે છે, એમ કહીને આવશે ખરેખર, જો તમને રસ છો, તો હું તમને થોડી વધુ મોકલી શકે છે કેવી રીતે તરંગસ્વરૂપની વિશે જાણકારી ડિજિટલ ફોર્મેટમાં કર્યા રાખવામાં આવે છે. ઠંડી, ઠીક. તેથી અમે એક સાઈન જેવા સ્વર પેદા કરી રહ્યાં છો કદાચ, તરંગ કે કંઈક 440 હર્ટ્ઝની. અમે એક લોલક બનાવો. અમે વો યુમને સેટ કરવા માંગો છો, અમે એક GainNode કંઈપણ સાથે જોડાવા માટે, જે અમે .creategain સાથે કરી શકે. કે જે તમારી વોલ્યુમ સુયોજિત કરે છે. જો તમે કોઇ પર પસાર કરી શકો છો options-- સારી રીતે અન્ય, જેથી ઓડિયો બફર સ્ત્રોત નોડ જ્યાં તમે શકે છે તમે લોડ કર્યું છે કે એક એમપી 3 સ્ટોર કરે છે. Biquad ફિલ્ટર ફિલ્ટરિંગ તો છે તમે બહાર બધા આધાર લેવા માંગો છો કે જેમ એક ગીત, અથવા કંઈક. ભગવાન તમે લેવા માંગો છો પર પ્રતિબંધ ગીત બહાર આધાર. અને AudioDestination નોડ, ફરી, છે જેવા અમારા સમાપ્ત છે. તમે જોઈ ક્યારેય રસ ધરાવતા હો તો બધા અલગ અલગ શક્ય વિકલ્પો, માત્ર ટેબ પર જાઓ અને દો આ સ્વતઃપૂર્ણ આવે છે. તમે બનાવો છો, તો તમે બધા જોશો તમે બનાવી શકો છો કે જે વિવિધ વસ્તુઓ. તમે ગતિશીલ બનાવી શકો છો સ્ક્રિપ્ટ પ્રોસેસરો, હું પણ તે શું છે તે ખબર નથી ચેનલ વિલીનીકરણ મિશ્રણ માટે, અને ચેનલ splitters અને બધા છે. કૂલ. તેથી આ માત્ર એક છે પાઇપલાઇન ઉદાહરણ. તેથી અમે ત્રણ સ્ત્રોતો આવતા હોય છે. કદાચ આ તરંગસ્વરૂપની છે, કદાચ આ એમપી 3 હોય છે. એક મારફતે ચાલુ છે ફિલ્ટર, અન્ય એક છે વિકૃત રહ્યું અન્ય એક હલનચલન ડાબી અને જમણી. તમે વસ્તુઓ તમામ પ્રકારના કરી શકો છો અને તેઓ બધા સાથે મળીને આસપાસ મિશ્ર અને પછી બહાર ઓડિયો આવે સ્થળ તરીકે ઓવરને મુ. આ શું વધુ એક ઉદાહરણ છે જટિલ વેબ ઑડિઓ કોડ જેવો દેખાય છે. તમે આ બધા બનાવી રહ્યા છો વિવિધ પદાર્થો અધિકાર અહીં હું આ ખાતરી નથી. ના, તે ઝૂમ નથી. ઠીક છે. એસએએમ લીલા: તમે નિયંત્રણ, સ્ક્રોલ અપ કરવું. HUGH ઝેબ્રિસ્કી: નિયંત્રણ Scroll-- એસએએમ લીલા: કોઈ, કોઈ. Control-- HUGH ઝેબ્રિસ્કી: ઓહ, નિયંત્રણ, સ્ક્રોલ? Gotcha, ઓહ. યાહ. ના, ના, વાહ. ઠીક છે. મને લાગે છે કે નથી આવશે. તેથી હા, આ પ્રથમ અહીં વિભાગમાં, તમે જોવા અમે આ બધા વિવિધ બનાવી રહ્યાં છો આ સંદર્ભ બહાર ગાંઠો. અમે હમણાં જ તેમને piecing કરી રહ્યાં છો સાથે મળીને બીજા ભાગમાં કનેક્ટ કહેવાય કાર્ય દ્વારા. કે ખરેખર કી છે વેબ ઑડિઓ કાર્ય. તમે કર્યું છે તે માત્ર અર્થ એ થાય એક નોડ અવાજ સાથે કંઈક, બીજા ગાંઠ પર તે પર પસાર. તેથી અમે સ્ત્રોત હોય છે, તે આ વિશ્લેષક સાથે જોડાય છે, આ વિશ્લેષક, તેની સાથે કંઈક કરે છે તે, તેથી પર વિકૃતિ જાય છે, અને અને અંતિમ મુકામ અહીં તળિયે. કૂલ. ઠીક છે, તેથી અમે ખસેડવાની રાખવા પડશે. આ pipeline-- ફરીથી, આ સૌથી સામાન્ય પાઈપલાઈન છે, તેથી અમે જેવા તમામ બાબતો વિશે વાત વિકૃતિ, હલનચલન, આ તમામ સામગ્રી. તમે ખરેખર રસ ધરાવતા હો તો વસ્તુઓ પ્રો સાધનો ઉપયોગ કરીને, તે કદાચ તમે રસ. જો ન હોય તો, કદાચ તમે હમણાં જ અવાજ રમવા માંગો છો, અથવા કદાચ તમે હમણાં જ કરવા માંગો છો અવાજ વોલ્યુમ સુયોજિત કરો. તે બે સૌથી સામાન્ય પ્રકારની છે ઓડિયો ઉત્પાદન પાઇપલાઇન. ફરીથી, આ રીતે તમે તે લઈ શકે છે એક oscillator-- તેથી, ચાલો દો તરીકે અધિકાર અહીં ડેમો નથી. તેથી અમે એક બનાવવા જઈ રહ્યાં છો અહીં સરળ ઓડિયો સંદર્ભમાં, અને કે અમે જઈ રહ્યાં છો અમારા ઓક્સિલેટર બનાવવા માટે. છે તેથી, ફરી, અમે ફક્ત છો ઓક્સિલેટર બનાવો કૉલ કરવા માટે જઈ રહી છે. અમે આવૃત્તિ સુયોજિત કરવા માટે જઈ રહ્યાં છો 440 હર્ટ્ઝની, દરેકને મનપસંદ છે. પછી અમે મુકામ કે જોડાવા બિંદુ વક્તા, જેથી જે સંદર્ભમાં ગંતવ્ય. છેલ્લે, અમે માત્ર કહે છે, શૂન્ય શરૂ હવે થી સેકન્ડ, અને અમે અવાજ છે? [રિંગિંગ] HUGH ઝેબ્રિસ્કી: અહીં અમે જાઓ. તે માત્ર એક સાઈન તરંગ છે. ઠંડી, ઠીક. અને પછી અમે તેને બંધ પડશે. પ્રેક્ષક: હતી જ્યાં કે અભિપ્રાય આવે? HUGH ઝેબ્રિસ્કી: પ્રતિસાદ? ઓહ, કદાચ અમારા માઇક્રોફોન. તમે કેવી રીતે કરવું તે તેથી હા, તે છે. અને ખરેખર હું હતો તો તે તમને રાખવામાં ચાલી આવૃત્તિ કરી શકે છે તે ચાલી રહ્યું તરીકે કિંમત જેથી આસપાસ રમવા માટે એક મજા વસ્તુ છે. કૂલ. તે હંમેશા પ્રસ્તુત કરવા માટે એક અતિસુંદર એક છે. એસએએમ લીલા: અમે કર્યું અમે તે વિશે હતી લાગે છે? HUGH ઝેબ્રિસ્કી: અરે વાહ, કે બીભત્સ એક છે. તેથી, બફર loading-- હું બતાવીશું ખૂબ જ ઓવરને અંતે કે ઉદાહરણ. તે એક એમપી 3 લોડ છે. અને માઇક્રોફોન, તમે માત્ર એક કાર્ય વાપરો ) (navigator.getUserMedia કહેવાય વપરાશકર્તા ઍક્સેસ વિનંતી કરવા જાણકારી માટે કે માઇક્રોફોન. અહીં ગાળણ છે, હું પડશે માત્ર આ ખસેડવાની રાખવા. આ ખૂબ ઊંચા સ્તર છે પરંતુ ફિલ્ટર માત્ર તમને પરવાનગી આપે છે [Beeping] ફિલ્ટરિંગ પણ તમને પરવાનગી આપે છે ગુલાબી જેવી વસ્તુઓ બનાવવા માટે અવાજ, કથ્થઈ અવાજ, સફેદ ઘોંઘાટ. તમે શુદ્ધ અવાજ, બનાવવા માંગો છો તો જે કેટલાક લોકો સાથે આસપાસ વાસણ માટે પ્રેમ તમે વેબ ઑડિઓ ઉપયોગ કરી શકો છો ફિલ્ટરિંગ કે શું કરવું. ઓડિયો Panning-- જેથી કલ્પના તમે એક રમત લખી રહ્યાં છો, તો અને તમે અવાજ કરવા માંગો છો તે જેમ, આવે છે જેવા ધ્વનિ, સ્ક્રીન સમગ્ર શૂટિંગ, તમે ઓડિયો ના હલનચલન ઉપયોગ કરી શકો છો શંકુ આ પ્રકારની બનાવવા માટે, જે તે સારુ mathy છે જેમ, પરંતુ તે ખરેખર ખરેખર છે ઠંડી તમે તેને કામ મળે તો, અને કેટલાક સારા છે તેના પર ટ્યુટોરિયલ્સ હું તમને મોકલી શકો છો. મૂળભૂત રીતે, તમે પ્રકારની કરી શકો છો ના અવાજ બનાવવા એક 3D રીતે જઈને કંઈક. તમે એક ડીજે રસ હોય, તો તમે કરી શકો છો મિશ્રણ શરૂ અને લુપ્ત ગીતો પાર. આ માત્ર કેટલાક ખૂબ મૂળભૂત છે કોડ છે, હું પહેલાં હતી મૂળભૂત છે. આ વોલ્યુમ સુયોજિત કરે છે ઓક્સિલેટર, જેથી અમે અમારા ઓક્સિલેટર બનાવવા જે વેવફોર્મ બનાવે છે. અમે અમારા GainNode બનાવો, અમારા આવૃત્તિ સુયોજિત કરે છે, અને પછી માટે ઓક્સિલેટર જોડાવા પછી મૂળભૂત રીતે બદલે છે કે જે GainNode, કેટલી સંકેત દ્વારા કરી શકાય છે. પરંતુ ખરેખર, તે ડિજિટલ છે વસ્તુ છે, તે હા just-- વધુ છે તેથી. તે ખરેખર શું ચાલી રહ્યું છે નથી, પરંતુ તે વાસ્તવિક જીવનમાં શું થાય છે નફા સાથે. પ્રેક્ષક: --quantization વોલ્યુમ પરિમાણ? HUGH ઝેબ્રિસ્કી: માફ કરશો? પ્રેક્ષક: તે છે quantized વોલ્યુમ પરિમાણ? HUGH ઝેબ્રિસ્કી: યાહ. અને આ હું ખરેખર છું એક વસ્તુ છે મારા જ્ઞાન પર ઊણપ, કેવી રીતે લાભ ડિજિટલ સ્તર પર કામ કરે છે. હું ખરેખર ખબર સંકેતો, તે મૂળભૂત છે નિયંત્રિત તમને કેટલી છો સિગ્નલ એમ્પ્લીફાય. તેથી, હા. હું તમને વિશે વધુ માહિતી મોકલીશું હું ખરેખર વિચિત્ર હશો, કારણ કે તે વિશે વધુ જાણવા માટે. પરંતુ મૂળભૂત રીતે પરિમાણો એક fold-- છે, છે મોટેથી signal-- અને શૂન્ય છે કોઈ સિગ્નલ, અથવા તમે કોઈપણ અવાજ સાંભળવા નહીં. અમે કારણ કે માટે ડેમો સમય અવગણો પડશે તે હું પહેલાં હતી મૂળભૂત છે. અને ફરી, Context.Destination ઓડિયો સ્થળ નોડ છે. અદ્ભુત, બરાબર. તેથી હું એક ઝડપી બે જનતા કરવા જઇ રહ્યો છું. અમે કેવી રીતે સમય પર કરી રહ્યા છે? 1 વક્તા: લગભગ 10 મિનિટ. HUGH ઝેબ્રિસ્કી: 10 મિનિટ? ગ્રેટ! ઓસમ. તેથી હું જાઉં છું પ્રથમ એક , તે મારા મનપસંદ ગીત કહેવાય છે નથી. તેથી આ માત્ર એક છે થોડી HTML જાવાસ્ક્રિપ્ટ. અમે બે બટનો છે જઈ રહ્યાં છો આ પાનાં પર મારો મનપસંદ ગીત રમવા અને મારી પ્રિય ગીત અટકાવો. હું આ બદલવા પડશે. પ્રેક્ષક: તમારા માઇક્રોફોન આવરી લે છે. HUGH ઝેબ્રિસ્કી: યાહ. અને હું અહીં લોડ કર્યું basically-- કે જે સ્ક્રિપ્ટ અને આ ખરેખર ઉપયોગી છે એક એમપી 3 લોડ કરવા માટે, તેથી આ માત્ર બનાવે છે ઝડપી એમપી 3 માર્ગ લોડ. તે મૂળભૂત રીતે માત્ર એક wrapper છે. તે માત્ર પ્રક્રિયા બનાવે ખૂબ ઝડપથી એમપી 3 લોડ, અન્યથા તમે HTTP વિનંતિ ઉપયોગ કરી રહ્યાં છો પ્રકારની અમે શું કરી રહ્યા હતા જેવા સર્વર સાથે સુયોજિત વર્તમાન ભાગ પર. તે ખરેખર નીચ તમે તે કરવા માંગો છો નથી. તેથી આ વ્યક્તિ, બોરિસ SMUs, ખરેખર લખ્યું BufferLoader કહેવાય ઉપયોગી થોડું સાધન. તમે શું બધા તે પસાર ખાલી છે સંદર્ભ, તો તમે તેને યાદી પસાર અથવા, અરે વાહ, તે જાવાસ્ક્રિપ્ટ યાદી છે? એસએએમ લીલા: હારમાળા. HUGH ઝેબ્રિસ્કી: ઓહ, તે છે ઝાકઝમાળ, તે સાચું છે. તે પાથ ઝાકઝમાળ છે વિવિધ ફાઈલો છે. અને પછી તમે તે કાર્ય પસાર કરે છે. આ અમે વાત કરવામાં આવી હતી કૉલબૅક છે અસુમેળ લોડ સાથે વિશે. તે કહેવાય આવશે લોડ ફાઈલો એકવાર. અને તે કાર્ય જ્યારે કહેવામાં આવે છે કે ફાઇલના લોડ પરિમિતિ તરીકે લે છે લોડ બફરો પણ દર્શાવે છે. તેથી તે અહીં જોવા મળે છે. મૂળભૂત રીતે, BufferList છે એક કિંમત હોઈ ચાલે અથવા તે એક એરે હોઈ ચાલે છે ઇન્ડેક્સ તે છે કે લંબાઈ એક, એમપી 3 સમગ્ર લોડ ફાઇલ શૂન્ય. તેથી હું સમાપ્ત થાય, ત્યારે હું શું લોડ કરી રહ્યું છે હું માત્ર છે એક બફર સ્ત્રોત બનાવી છે, જે ઓડિયો બફર સ્ત્રોત નોડ છે. આગળનું પગલું હું માં લોડ છે સંપૂર્ણ લોડ બફર તરીકે source.buffer આ BufferList-- થી તે buffers-- ઘણો છે અને પછી તમે તે ઓડિયો જોડાવા અંતિમ મુકામ માટે બફર. તેથી તે શું કરવા જઇ રહ્યું છે માત્ર ખાલી એમપી 3 મૂકવામાં આવે છે સીધા આઉટપુટ મારફતે અને તરત જ તેને શરૂ આ કોલ મેળવવામાં પર. સરસ, જેથી માતાનો જોવા દો આ ક્રિયા થાય છે. મારા [અશ્રાવ્ય] અહીં, માતાનો જોવા દો. તેથી હું માત્ર જાઉં છું મૂળભૂત સર્વર શરૂ કરો. કે કંઈક છે કે તમે છો, તો શું કરવાની જરૂર છે લોડ કરી રહ્યું છે ફાઈલો માટે અરજીઓ બનાવે છે. હું મૂળભૂત સર્વર શરૂ કરવા જઇ રહ્યો છું. આ મૂળભૂત તમારા સમગ્ર છે હમણાં એક લીટી માં pset, પરંતુ તે માત્ર શરૂ કરવામાં આવ્યું છે પોર્ટ 80/80 પર સર્વર. તેથી અમે અહીં પર જાઓ, અમે 80/80 લોડ કરવા માટે જવાનું, અમે મારી પ્રિય ગીત પર જવા માટે જઈ રહ્યાં છો. હું હિટ તેથી જો "મારી હમણાં મનપસંદ ગીત ", તેને લાવવા માટે ચાલી રહ્યું છે મારા મનપસંદ ગીત અને તેને રમવા આ ઝડપી ઇગલ્સ, "જીવન - [સંગીત  લેન "] --which "જીવન બને છે ધ ઇગલ્સ દ્વારા ફાસ્ટ લેન ". હવે, હું રોકવા "હિટ કરી શકે છે મારા મનપસંદ ગીત "અને તે રિપ્લે. આ ઝડપી ઇગલ્સ, "જીવન - [સંગીત  લેન "] અને હું, કારણ કે દિલાસો આપવા પર જાઓ હું ઉપર અહીં એક વૈશ્વિક ચલ ઉપયોગ ખરેખર, આ કિંમત તે ટ્રેક રાખવા માટે હવે કન્સોલ માન્ય કરવામાં આવશે. તેથી તે મારા માટે સ્વતઃ બનાવે છે. તેથી તે હમણાં રમવાનું છે તે છે, અને હું માત્ર) (source.stop કૉલ કરી શકો છો તે પર. સારું, તમે શું જાણો છો? તેથી જો તમે ગાય્સ સાંભળ્યું છે આ song-- તમે આ ગીત ઓળખી શકે છે. [સંગીત - રિક Astley, "ક્યારેય Gonna આપી  તમે "] આ ઝડપી ઇગલ્સ, "જીવન - [સંગીત  લેન "] હવે અમે બધા Rickrolled કરવામાં આવ્યા છે. ઠીક છે, મહાન, પર ખસેડવાની. કૂલ. તેથી આ મૂળભૂત એક ઉદાહરણ છે માત્ર તમે એક એમપી 3 લોડ શકે છે કેવી રીતે ફાઈલ આ ઝડપી ઇગલ્સ, "જીવન - [સંગીત  લેન "] --and રમે છે, અને બંધ અને શરૂ કરો. હું વધુ ઘણો થાય છે શકે છે [અશ્રાવ્ય] હું કરીશ છેલ્લા એક છે હું [અશ્રાવ્ય] તમને બતાવીશું. [સંગીત વગાડવાનો] તે જેમ ogg.wave.mp3 છે. હું યોગ્ય રીતે યાદ તો મને લાગે છે, હું .m4a સાથે કેટલાક મુદ્દાઓ માં આઉટ કર્યું પરંતુ હું તે વિશે ખાતરી નથી. હું mp3.wave-- લાગે [સંગીત - રિક Astley, "ક્યારેય Gonna આપી  તમે "] ઠીક છે, સરસ. હું જણાવ્યું હતું કે ન જોઈએ. હેલો, કોઈપણ રીતે. તેથી અમે આ ખુલ્લી છે. તેથી હવે હું શું બધા હું મૂળભૂત બનાવવામાં આવે છે, છે સંગીત બનાવવા માટે મૂળભૂત વાક્યરચના. હું કંઈક હોય તો, જી 4 ઉમેરો 1 2, છે કે શું અર્થ એ થાય કે છે, પિયાનો નોંધ, જી 4 ઉમેરો જે ચોથી જી છે નીચે ના પિયાનો પર. તેથી આ મીડી કાઇન્ડ વાત છે, જેથી સંગીત આધારિત છે જેઓ માટે, આ માત્ર MIDI નોંધો છે. પ્રેક્ષક: તે જી ની મધ્ય સી, અધિકાર? HUGH ઝેબ્રિસ્કી: આ જી છે મધ્ય સે ઉપર, તે સાચું છે. પ્રેક્ષક: ઉપર મધ્ય સી HUGH ઝેબ્રિસ્કી: યાહ. ખરેખર, હા. હું ખરેખર કરવામાં લાગે છે તે એક [અશ્રાવ્ય] તેથી આ કે ઉપર એક પહેલી આઠ પંક્તિ હોઈ શકે છે. તેથી માતાનો જોવા દો. હું Play-- દબાવો, તો [પુનરાવર્તિત પિયાનો નોંધ] કે સાંભળવા જતાં --we're. જે વિચાર છે તે ચલાવે છે માત્ર એક આદેશ વાક્ય જેમ તેથી હું ઉપર અને નીચે જાય તો મારા કીબોર્ડ પર, તમે અગાઉના પર પાછા જઈ શકે ખૂબ ઉપયોગી છે, કે જે આજ્ઞા કરે છે. અને નીચે ટ્રેક મારા યાદી છે, જે બધા લુપ પર ચાલી રહ્યું છે. પ્રેક્ષક: તમે એમ ધારી રહ્યા છીએ હતા પર કીબોર્ડ 88 કી, અધિકાર? HUGH ઝેબ્રિસ્કી: આ પ્રશ્ન હતો, હું એક 88 કી કીબોર્ડ એમ ધારી રહ્યા છીએ છું, અને હા, હું છું. શું હું કર્યું હું મૂળભૂત 88 નમૂનાઓ લીધો પિયાનો, દરેક નોંધ માટે એક. અને તેથી દરેક વખતે જ્યારે તમે હવે થી નોંધ સાંભળવા, તે ખરેખર લાગે છે કે લૂપ છે આ લૂપ પર ભજવી રહ્યું છે જેવા જેથી દરેક નોંધ માટે, આ ચાલી રહ્યું છે. શું થાય છે હું છે ફરી એક બફર બનાવો, હું વો યુમને સેટ કરવા ગેઇન નોડ બનાવવા. આ માત્ર એક ખરેખર હું કહેતા જટિલ માર્ગ એક source.buffer માં બફર સ્ટોર કરે છે. હું તે લાભ આપો, હું ગેઇન તે સાથે જોડાવા માટે, ગેઇન સાથે જોડાયેલ છે આઉટપુટ, અને પછી હું તે રમે છે. તેથી તે પ્રક્રિયા પ્રકારની છે એક બફર સ્ત્રોત લેવાના. પ્રેક્ષક: તમે ખરેખર છે કે લઈ શકે છે સૂકી અવાજ અને તે ભીનું [અશ્રાવ્ય] છે? HUGH ઝેબ્રિસ્કી: તમે કરી શકો છો, હા. ફરીથી ક્રિયાપદ છે, ત્યાં વિલંબ, વિકૃતિ. તમે મૂળભૂત કંઈપણ મૂકી શકો છો of-- સારી કે સેન્ડવિચ વચ્ચે, પાઇપલાઇન, વધુ સારી રૂપક છે પરંતુ જો તમે તે કંઈપણ ઉમેરી શકો છો. કૂલ. તેથી હું ડેમો સમાપ્ત કરીશું અહીં તમે એક અર્થમાં આપી વખત માત્ર નિર્ભેળ નંબર તમે બધા એક જ સમયે તે કાર્ય ચલાવી શકો છો. તેથી હું આ દૂર કરવા માટે જઇ રહ્યો છું. હું એક જનરેટર બનાવવા જઈ રહ્યો છું that-- મૂળભૂત રીતે આ ખરેખર છે does-- શું એક જટિલ વાક્યરચના પ્રકારની પરંતુ તે ફ્લાય પર નોંધો પેદા કરવા માટે જવાનું, અને માત્ર રમવાનું શરૂ તેમને તે તેમને મૂલ્યાંકન છે. [INTERPOSING પિયાનો] તેથી અમે ફક્ત અહીં થોડી સંગીત કરી શકો છો. [INTERPOSING પિયાનો] તેથી શું આ આદેશ ઉદાહરણ માટે, કરે છે તે માટે તે ત્રણ નોંધો લે પિયાનો અને પછી બી 3 પર મૂકે છે. આ વાક્યરચના કરી શકે છે થોડી વધુ અર્થમાં એક હોય છે જેઓ અહીં સંગીત પૃષ્ઠભૂમિ. હું એક કિક ડ્રમ ઉમેરી શકો છો. હું કરી શકો છો-- [INTERPOSING INSTRUMENTS] --just સાથે આસપાસ ભજવે છે. તેથી જો તમે make-- કરી શકો છો [INTERPOSING INSTRUMENTS] તે એક થોડી વધુ હેરાન કરે છે. [INTERPOSING INSTRUMENTS] કે રેન્ડમ ડ્રાય કરતાલ ઉમેરે છે તેથી એક 16% સાથે દરેક 16 નોંધ પર [અશ્રાવ્ય]. [INTERPOSING INSTRUMENTS] અરે વાહ, જેથી માર્ગ આ તે 4 હંમેશા works--: 4. [INTERPOSING INSTRUMENTS] અરે વાહ, આ ચાર ક્વાર્ટરમાં, અને 16/8 છે. [INTERPOSING INSTRUMENTS] તેથી સરેરાશ પર, તમે 60% વિચાર 16 નોટ બનાવ્યા. Anyways, આ માત્ર હતી પ્રકારની બંધ બતાવવા માટે તમે કરી શકે કેટલીક બાબતો વેબ ઑડિઓ API સાથે બિલ્ડ. તે, તે ખરેખર ઝડપી છે, ખરેખર શક્તિશાળી છે અને તમે ઠંડી વસ્તુઓ ઘણો કરી શકો છો તેની સાથે. તેથી ફરી, તમારી પાસે કોઇ પ્રશ્નો, ઇમેઇલ myself-- Hugh-- અથવા સામ, અને પ્રમાણિકતા, Google છે સારા સ્રોતો એક ટન. કોઈપણ છેલ્લા પ્રશ્નો? યાહ. પ્રેક્ષક: તેથી તમે ઍક્સેસ કરી શકો છો આંતરિક માઇક્રોફોન. તમે ઇચ્છતા હોય તો શું એક સારી માઇક્રોફોનનો ઉપયોગ? HUGH ઝેબ્રિસ્કી: જો તમે ઇચ્છતા સારી માઇક્રોફોનનો ઉપયોગ કરવા માટે? તેથી ફરી, આ ભાગ છે ક્રોમ વચ્ચે તાત્વિક અને તમારા કમ્પ્યુટર બાકીના. તે મારફતે ઉપલબ્ધ છે જ્યાં સુધી એક API, વેબ MIDI API જેવા, તમે કદાચ અમુક હેક્સ શોધી શકે છે, પરંતુ સામાન્ય રીતે શક્ય નથી. એસએએમ લીલા: તમે also-- કરી શકો છો બધા ક્રોમ જાણે શું તમારું મૂળભૂત માઇક્રોફોન છે, અને તે છે કે જે ઘટનાઓ. તમે એક માઇક્રોફોન હોય તો તમે કરી શકે છે જેથી કમ્પ્યુટર મૂળભૂત માઇક્રોફોન તરીકે સેટ, તમે તે રીતે ઍક્સેસ કરી શકે છે અને તે કદાચ કામ કરશે. HUGH ઝેબ્રિસ્કી: તે એક સારો બિંદુ છે. મને લાગે છે કે પ્રયાસ કર્યો, પરંતુ ક્યારેય કર્યું તમે પ્રકારની કરવાનો પ્રયત્ન કરી શકે of-- તમે ઇનપુટ સ્પીકર પુનઃદિશામાન તો, તમે હા, તે કરવા માટે સક્ષમ હોઈ શકે છે. કોઈપણ છેલ્લા પ્રશ્નો? કૂલ. વેલ તમે ગાય્ઝ આભાર જોવા માટે ખૂબ જ. હું હ્યુજ છું. એસએએમ લીલા: હું સેમ છું. HUGH ઝેબ્રિસ્કી: અને આ CS50 છે.