Swift Academy · Pelajaran

Merakam Audio

Tangkap input mikrofon ke dalam fail.

Pelajaran 2 daripada 413 langkah

Merakam Audio ialah pelajaran Swift Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Swift Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Swift Academy merangkumi sejumlah 4 pelajaran.

Merakam dengan AVAudioRecorder

AVAudioRecorder menangkap audio daripada mikrofon ke dalam fail dengan persediaan minimum—sesuai untuk memo suara dan perakam ringkas.

import AVFoundation

Kebenaran Mikrofon

Rakaman memerlukan kebenaran pengguna. Tambahkan NSMicrophoneUsageDescription pada Info.plist dan minta akses sebelum merakam.

AVAudioApplication.requestRecordPermission { granted in
    if granted { /* start recording */ }
}

Mengkonfigurasi Sesi Audio

Tetapkan kategori sesi kepada .record atau .playAndRecord dan aktifkannya supaya sistem menyalurkan input mikrofon kepada aplikasi Anda.

let session = AVAudioSession.sharedInstance()
try session.setCategory(.playAndRecord)
try session.setActive(true)

Memilih URL Fail

Rakaman ditulis ke dalam fail. Bina URL dalam direktori dokumen dengan sambungan yang sesuai seperti .m4a.

let dir = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
let url = dir.appendingPathComponent("memo.m4a")

Tetapan Perakam

Tetapan menentukan format, kadar sampel, saluran dan kualiti melalui kamus kekunci AVAudioRecorder.

let settings: [String: Any] = [
    AVFormatIDKey: Int(kAudioFormatMPEG4AAC),
    AVSampleRateKey: 44100,
    AVNumberOfChannelsKey: 1,
    AVEncoderAudioQualityKey: AVAudioQuality.high.rawValue
]

Mencipta Perakam

Mulakan AVAudioRecorder dengan URL dan tetapan, kemudian panggil prepareToRecord() untuk memperuntukkan sumber.

let recorder = try AVAudioRecorder(url: url, settings: settings)
recorder.prepareToRecord()

Memulakan dan Menghentikan

Panggil record() untuk bermula dan stop() untuk selesai. Penghentian memuktamadkan dan menutup fail audio.

recorder.record()
// later
recorder.stop()

Rakaman Berjangka dan Dijeda

Anda boleh merakam selama tempoh tetap dengan record(forDuration:), serta menggunakan pause() / record() untuk menyambung semula ke dalam fail yang sama.

recorder.record(forDuration: 30) // stop after 30s

Tahap Meter

Aktifkan isMeteringEnabled, kemudian panggil updateMeters() dan baca averagePower(forChannel:) untuk menggerakkan meter tahap secara langsung.

recorder.isMeteringEnabled = true
recorder.updateMeters()
let power = recorder.averagePower(forChannel: 0) // in dB

Perwakilan

Patuhi AVAudioRecorderDelegate untuk mengetahui apabila rakaman selesai dengan jayanya atau ralat pengekodan berlaku.

func audioRecorderDidFinishRecording(_ recorder: AVAudioRecorder,
                                     successfully flag: Bool) {
    print("finished: \(flag)")
}

Memainkan Hasil Rakaman

Selepas merakam, mainkan fail dengan AVAudioPlayer yang menunjuk kepada URL yang sama—cara pantas untuk mengesahkan tangkapan audio.

let player = try AVAudioPlayer(contentsOf: url)
player.play()

Semakan Pantas: Rakaman

Uji pemahaman Anda tentang rakaman audio.

Imbas Kembali: Merakam Audio

AVAudioRecorder menangkap audio mikrofon ke dalam fail selepas Anda meminta kebenaran dan mengaktifkan AVAudioSession rakaman. Berikan URL dan kamus tetapan (format, kadar sampel, saluran, kualiti), panggil prepareToRecord(), kemudian record()/stop().

Aktifkan pemeteran untuk melihat tahap secara langsung, gunakan perwakilan untuk mengetahui penyelesaian, dan mainkan semula dengan AVAudioPlayer untuk mengesahkan rakaman.

Percuma untuk bermula

Pelajari Swift dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
122
Pelajaran
409

Soalan Lazim

Adakah pelajaran “Merakam Audio” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Swift Academy, termasuk “Merakam Audio”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Swift Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Merakam Audio”?

Tangkap input mikrofon ke dalam fail. Anda berlatih Swift Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Swift Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Swift Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Merakam Audio” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Swift Academy ini?

Ya. Setiap pelajaran Swift Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Memainkan Media dengan AVPlayer
  2. Merakam Audio
  3. AVAsset dan Gubahan
  4. Benamkan Pemain dalam SwiftUI
← Kembali ke Swift Academy