Äänen tallentaminen
Tallenna mikrofonin syöte tiedostoon.
Äänen tallentaminen on ilmainen Swift Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea tästä oppimispolusta kokonaan mitkä tahansa 3 oppituntia ilmaiseksi — sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä käytännön harjoittelun sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Oppitunti kuuluu Swift Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Swift Academy-kurssilla on yhteensä 4 oppituntia.
Tallentaminen AVAudioRecorderilla
AVAudioRecorder kaappaa mikrofonin ääntä tiedostoon vähäisellä määrityksellä. Se sopii erinomaisesti äänimuistioihin ja yksinkertaisiin tallentimiin.
import AVFoundationMikrofonin käyttöoikeus
Tallentaminen edellyttää käyttäjän lupaa. Lisää NSMicrophoneUsageDescription Info.plist-tiedostoon ja pyydä käyttöoikeutta ennen tallentamista.
AVAudioApplication.requestRecordPermission { granted in
if granted { /* start recording */ }
}Audioistunnon määrittäminen
Aseta istunnon kategoriaksi .record tai .playAndRecord ja aktivoi istunto, jotta järjestelmä reitittää mikrofonin syötteen sovellukseesi.
let session = AVAudioSession.sharedInstance()
try session.setCategory(.playAndRecord)
try session.setActive(true)Tiedoston URL-osoitteen valitseminen
Tallenteet kirjoitetaan tiedostoon. Muodosta URL-osoite documents-hakemistoon ja käytä sopivaa päätettä, kuten .m4a.
let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
let url = dir.appendingPathComponent("memo.m4a")Tallentimen asetukset
Asetukset määrittävät muodon, näytteenottotaajuuden, kanavat ja laadun AVAudioRecorder-avainten sanakirjan avulla.
let settings: [String: Any] = [
AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
AVSampleRateKey: 44100,
AVNumberOfChannelsKey: 1,
AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
]Tallentimen luominen
Alusta AVAudioRecorder URL-osoitteella ja asetuksilla ja kutsu sitten prepareToRecord() resurssien varaamiseksi.
let recorder = try AVAudioRecorder(url: url, settings: settings)
recorder.prepareToRecord()Käynnistäminen ja pysäyttäminen
Aloita tallennus kutsumalla record() ja lopeta se kutsumalla stop(). Pysäyttäminen viimeistelee ja sulkee äänitiedoston.
recorder.record()
// later
recorder.stop()Ajastettu ja keskeytetty tallennus
Voit tallentaa ennalta määrätyn ajan record(forDuration:)-metodilla ja jatkaa samaan tiedostoon kutsuilla pause() ja record().
recorder.record(forDuration: 30) // stop after 30sÄänitasojen mittaaminen
Ota isMeteringEnabled käyttöön, kutsu sitten updateMeters()-metodia ja lue averagePower(forChannel:)-arvoa reaaliaikaisen tasomittarin ohjaamiseksi.
recorder.isMeteringEnabled = true
recorder.updateMeters()
let power = recorder.averagePower(forChannel: 0) // in dBDelegaatti
Toteuta AVAudioRecorderDelegate-protokolla, niin saat tiedon tallennuksen onnistuneesta päättymisestä tai koodausvirheestä.
func audioRecorderDidFinishRecording(_ recorder: AVAudioRecorder,
successfully flag: Bool) {
print("finished: \(flag)")
}Tuloksen toistaminen
Toista tallennuksen jälkeen tiedosto AVAudioPlayer-luokalla käyttämällä samaa URL-osoitetta. Näin voit nopeasti varmistaa tallennuksen onnistumisen.
let player = try AVAudioPlayer(contentsOf: url)
player.play()Pikatarkistus: tallentaminen
Testaa, miten hyvin ymmärrät äänen tallentamisen.
Kertaus: äänen tallentaminen
AVAudioRecorder kaappaa mikrofonin äänen tiedostoon sen jälkeen, kun olet pyytänyt käyttöoikeuden ja aktivoinut tallentamiseen tarkoitetun AVAudioSession-istunnon. Anna URL-osoite ja asetussanakirja (muoto, näytteenottotaajuus, kanavat ja laatu), kutsu prepareToRecord() ja käytä sitten metodeja record() ja stop().
Ota tasomittaus käyttöön reaaliaikaisia tasoja varten, käytä delegaattia valmistumisesta ilmoittamiseen ja toista tallenne AVAudioPlayer-luokalla sen varmistamiseksi.
Opi Swift tekoälytuutorin avulla — ilmaiseksi
Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.
- Kurssit
- 122
- Oppitunnit
- 409
Usein kysytyt kysymykset
Onko oppitunti ”Äänen tallentaminen” ilmainen?
Kyllä — voit lukea täällä verkossa kokonaan ilmaiseksi mitkä tahansa Swift Academy-oppimispolun 3 oppituntia, myös oppitunnin “Äänen tallentaminen”. Sen jälkeen CoddyKit PRO avaa kaikki oppitunnit sekä interaktiiviset harjoitukset sisäänrakennetulla koodieditorilla ja ympäri vuorokauden toimivalla tekoälytuutorilla. Swift Academy-kurssilla on yhteensä 4 oppituntia.
Mitä opin oppitunnilla ”Äänen tallentaminen”?
Tallenna mikrofonin syöte tiedostoon. Harjoittelet Swift Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.
Tarvitsenko kokemusta aloittaakseni Swift Academy-opiskelun?
Aiempi kokemus ei ole tarpeen. CoddyKitin Swift Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.
Kuinka kauan ”Äänen tallentaminen”-oppitunnin suorittaminen kestää?
Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.
Voinko kirjoittaa ja suorittaa koodia tällä Swift Academy-oppitunnilla?
Kyllä. Jokainen Swift Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.
Kaikki tämän kurssin oppitunnit
- Median toistaminen AVPlayerilla
- Äänen tallentaminen
- AVAsset ja kompositio
- Soittimien upottaminen SwiftUIhin