0Pricing
Swift Academy · Pelajaran

Merekam Audio

Tangkap masukan mikrofon ke dalam berkas.

Merekam Audio adalah pelajaran Swift Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Swift Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Swift Academy mencakup 4 pelajaran total.

Merekam dengan AVAudioRecorder

AVAudioRecorder menangkap audio dari mikrofon ke sebuah file dengan pengaturan minimal—ideal untuk memo suara dan perekam sederhana.

import AVFoundation

Izin Mikrofon

Perekaman memerlukan izin pengguna. Tambahkan NSMicrophoneUsageDescription ke Info.plist dan minta akses sebelum merekam.

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

Mengonfigurasi Sesi Audio

Atur kategori sesi ke .record atau .playAndRecord, lalu aktifkan agar sistem menyalurkan input mikrofon ke app Anda.

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

Memilih URL File

Rekaman ditulis ke sebuah file. Buat URL di direktori dokumen dengan ekstensi yang sesuai, seperti .m4a.

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

Pengaturan Perekam

Pengaturan menentukan format, laju sampel, jumlah kanal, dan kualitas melalui dictionary berisi kunci AVAudioRecorder.

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

Membuat Perekam

Inisialisasi AVAudioRecorder dengan URL dan pengaturan, lalu panggil prepareToRecord() untuk mengalokasikan sumber daya.

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

Memulai dan Menghentikan

Panggil record() untuk memulai dan stop() untuk menyelesaikan. Penghentian akan menyelesaikan dan menutup file audio.

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

Perekaman Berjangka dan Dijeda

Anda dapat merekam selama durasi tertentu dengan record(forDuration:), lalu menggunakan pause() / record() untuk melanjutkan ke file yang sama.

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

Level Meter

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

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

Delegasi

Sesuaikan dengan AVAudioRecorderDelegate untuk mengetahui kapan perekaman berhasil selesai atau terjadi error saat encoding.

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

Memutar Hasil Rekaman

Setelah merekam, putar file dengan AVAudioPlayer yang diarahkan ke URL yang sama—cara cepat untuk memverifikasi hasil tangkapan.

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

Pemeriksaan Singkat: Perekaman

Uji pemahaman Anda tentang perekaman audio.

Ringkasan: Merekam Audio

AVAudioRecorder menangkap audio mikrofon ke sebuah file setelah Anda meminta izin dan mengaktifkan AVAudioSession untuk perekaman. Berikan URL dan dictionary pengaturan (format, laju sampel, jumlah kanal, kualitas), panggil prepareToRecord(), lalu record()/stop().

Aktifkan metering untuk melihat level secara langsung, gunakan delegasi untuk mengetahui penyelesaian, dan putar kembali dengan AVAudioPlayer untuk memverifikasi hasilnya.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Merekam Audio” gratis?

Ya — teks lengkap “Merekam Audio” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Swift Academy, upgrade ke CoddyKit PRO. Kursus Swift Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Merekam Audio”?

Tangkap masukan mikrofon ke dalam berkas. Kamu berlatih Swift Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Swift Academy?

Tidak diperlukan pengalaman sebelumnya. Swift Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.

Berapa lama pelajaran “Merekam Audio” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Swift Academy ini?

Ya. Setiap pelajaran Swift Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Memutar Media dengan AVPlayer
  2. Merekam Audio
  3. AVAsset dan Komposisi
  4. Menyematkan Pemutar dalam SwiftUI
← Kembali ke Swift Academy