Merakam Audio
Tangkap input mikrofon ke dalam fail.
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 AVFoundationKebenaran 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 30sTahap 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 dBPerwakilan
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.
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.