nettet audio api: hvad er det?

, web audio api: hvad er det?,,,,, 95,,,,,,,, 11,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss. denne post er en del af en serie kaldet internettet audio api. nettet audio api: forøgelse af lyd, din web - app, bare rolig, her er det!en grænseflade, som ikke kun vil blege tænderne og forbedre deres stilling, men vil tilføje, lyder din hjemmeside på en fantastisk måde *.det er nettet audio api!aldrig hørt om det?må ikke bekymre dig.denne lektion vil få dig op at køre på ingen tid.,, web audio api - er en højtstående måde at skabe og manipulere lyder direkte i browseren via javascript.det giver dig mulighed for enten at skabe lyd forfra eller last og manipulere eksisterende lydfilen du kan have.det er yderst vigtigt, at deres egen tidsplan system, og som sikrer splitsekund playback. ", kan jeg ikke bare bruge, < audio > element?"ja, men det afhænger af, hvad deres anvendelse.den < audio > element er perfekt til indkapsling og med audio - clips, f.eks. musik eller podcasts, men hvis du har brug for lidt mere kontrol, f.eks. programmatically kontrollerende volumen eller tilsætning af virkninger, så internettet audio api - kommer din tin pan alley, lav en lyd. lad os dykke i.at begynde at spille med nettet audio api, er vi nødt til at sørge for, at vi bruger en computer, der støtter den.lad os se caniuse.com.ser ud som om støtte er god kun internet explorer ikke støtter api i øjeblikket, men det vil snart ændre sig, som det er ved at blive gennemført med henblik på optagelse i den næste store udslip. lad os holde tingene simple ved at skabe en grundlæggende html side med, < manuskript > element og følgende indhold.,, <!doctype html > < html > < head > < afsnit > web audio api < /afsnit > < /head > < krop > < h1 > velkommen til web - api - < /h1 > < manuskript > //skabe lyd sammenhæng var audiocontext = nye audiocontext(); //hvis du bruger safari, du bliver nødt til at bruge denne linje i stedet var audiocontext = nye webkitaudiocontext(); < /manuskript > < /organ > < /html >,, audiocontext er en lille beholder, hvor alle vores gode vil leve.det giver adgang til nettet audio api, hvilket giver os adgang til nogle meget magtfulde funktioner.før vi fortsætter, men det er vigtigt at forstå et vigtigt begreb i web - api: knudepunkter.,, lymfeknuder, lad os tage en krølhåret astrofysiker og dronning guitarist brian kan som eksempel.da brian vil spille guitar, tager han et spor fra hans guitar og forbinder den med en virkning i en fordrejning pedal.han forbinder et spor fra hans fordrejning i bund med enten en anden virkning, eller at hans amplifier.det giver god rejse fra hans guitar, bliver manipuleret, og så outputted til en taler, så folk kan høre hans rock riffs.dette er præcis, hvordan nettet audio api - fungerer.lyd er gået fra et knudepunkt for den næste, manipuleret som det går, før der endelig outputted deres talere.,,, her er en grundlæggende eksempel.der tilføjes følgende til din < manuskript >,,.,, var forbindelse = nye audiocontext(), oscillatorer = sammenhæng. createoscillator(); //- oscillatorer til vores talere oscillator. forbinde (sammenhæng. bestemmelsessted), her har vi skabt en oscillator.en oscillator er en type lydgenerator, som vil give os en enkelt tone.vi har taget føringen fra oscillator og forbundet det med vores kolleger, der er kendt i web - jord som sammenhæng. destination,.,, nu hvor alt er forbundet, så vi skal bare starte oscillator, så vi kan høre det.sørg for, at dine højtalere er ikke dukket op for højt!,, //start oscillator nu oscillator. start (sammenhæng. currenttime), nu skal de høre noget ved din side belastninger.for at stoppe din oscillator spiller efter et par sekunder, blot tilføje følgende. //- oscillatorer 3 sekunder fra nu af oscillator. stop (context.currenttime + 3), hørte du noget?godt klaret, du lyder i browseren.,, lydfiler, nu kan du tænke "oscillatorer?jeg har ikke tid til det her, jeg er en vigtig forretningsmand med masser af møder og forretningsfrokoster!", som er helt ok.at lave lyde på denne måde, er ikke for alle.heldigvis er der en anden vej. lad os sige i stedet, vil du spille en normal rutine, mp3 - fil.nettet audio api kan også gøre det.først må vi last i lydfilen via vores gamle ven, xmlhttprequest.husk, at når lastning filer ved hjælp af denne metode, din side vil skulle dækkes via en server og ikke bare læsset af deres lokale filesystem.for at undgå komplikationer, sørg for at din mp3 - filen er tjent på samme måde og fra samme sted,.,, var anmodning = nye xmlhttprequest(); anmodning. åben ('get "," min. mp3 'ægte); request.responsetype = arraybuffer; request.onload = funktion () (var - undecodedaudio = request.response;}; anmodning. send();,, når lydfilen er fuldt lastet med browser, onload, begivenhed, brande og afkast audio - data i forbindelse med nogen.på dette punkt er det opbevaret som en arraybuffer, men for at få lyd data ud af det, vi har for at omdanne det til en audiobuffer.tænk på et audiobuffer som en lille beholder, som holder vores audio - data til minde om os.for at gøre dette har vi brug for, decodeaudiodata,.,, request.onload = funktion () (var - undecodedaudio = request.response; sammenhæng. decodeaudiodata (undecodedaudio, funktion (buffer) (//indholdet af vores mp3 - er nu en audiobuffer konsol. log (buffer)})}, når vi har en audiobuffer med vores audio - data, er vi nødt til at finde en måde at spille det.du kan ikke spille en audiobuffer direkte skal lastes i en særlig, audiobuffersourcenode,.denne knude er som en pladespiller, mens den buffer er vinylplade med musik på.eller at bringe min analogi ajourførte, node er som en båndoptager og buffer er en kassette,,, request.onload = funktion () (var - undecodedaudio = request.response; sammenhæng. decodeaudiodata (undecodedaudio, funktion (buffer) (//skabe audiobuffersourcenode var sourcebuffer = sammenhæng. createbuffersource(); //- audiobuffersourcenode brug det audiobuffer.sourcebuffer.buffer = buffer})};,, det er nu pladespiller klar til at spille.men husk, at vi bruger internettet audio api - og nettet audio api kræver vi forbinde knudepunkter sammen med henblik på at sende den lyd, vores talere.så lad os gøre, hvad vi tidligere har gjort det med vores oscillator, og forbinde vores kilde knude til vores talere (sammenhæng. bestemmelsessted).,, request.onload = funktion () (var - undecodedaudio = request.response; sammenhæng. decodeaudiodata (undecodedaudio, funktion (buffer) (var - sourcebuffer = sammenhæng. createbuffersource(); sourcebuffer.buffer = buffer. sourcebuffer. forbinde (sammenhæng. bestemmelsessted)})}, igen, nu hvor alt er forbundet, er det let at begynde at spille indholdet af mp3 - - ved at fortælle audiobuffersourcenode til at spille i dette øjeblik i tiden.  ,, sourcebuffer. start (sammenhæng. currenttime), smukke!,, smdrg., i denne forelæsning, vi har lært at bruge internettet audio api - til at skabe en solid natively i browseren, samt hvordan man lader og spille en mp3 - fil.api kan meget mere, og jeg ser frem til at vise dig sine muligheder i fremtiden tutorials.,, koden fra denne lektion er tilgængelig på github., * nettet audio api - desværre ikke i øjeblikket at blege tænder eller forbedre holdning.,,



Previous:
Next Page: