제가 Swift2로 녹음하고 재생할 수 있는 간이 녹음기를 만들어 봤어요.
시도해 본 일
실시간으로 소리를 감시할 수 있는 앱을 만들기 위해 "녹음하고 틀어주세요!"인터넷에서 찾아보면서 샘플 앱을 만들어 봤어요.
나는 그것을 녹음하고 재생하는 최소한의 기능만 했다.상태 변경 버튼에 표시되지 않습니다.
이 기사가 참고가 될 수도 있어요.
너는 이런 물건을 만들 수 있다

약간의 해설 소스 코드
단지 원본 코드에 논평의 해설을 추가했을 뿐이다.
만약 모르는 점이 있으면 사양하지 말고 이 보도에 대한 평론에서 질문하세요.
//
// ViewController.swift
// AVRecorderSample
//
// Created by yokoyama.tatsuya on 2016/02/13.
// Copyright © 2016年 yokoyama.tatsuya. All rights reserved.
//
import UIKit
import AVFoundation
class ViewController: UIViewController {
// file操作をするときに役立つNSFileManager
// 録音したファイルをDocmentsディレクトリに保存しています。
// 他にもtmpディレクトリやLibrary/Cachesディレクトリなんかがあるので、
// 興味あればググってください
let fileManager = NSFileManager()
var audioRecorder: AVAudioRecorder?
var audioPlayer: AVAudioPlayer?
let fileName = "sample.caf"
@IBOutlet weak var recordButton: UIButton!
@IBOutlet weak var playButton: UIButton!
override func viewDidLoad() {
super.viewDidLoad()
self.setupAudioRecorder()
}
// 録音ボタンを押した時の挙動
@IBAction func pushRecordButton(sender: AnyObject) {
audioRecorder?.record()
}
// 再生ボタンを押した時の挙動
@IBAction func pushPlayButton(sender: AnyObject) {
self.play()
}
// 録音するために必要な設定を行う
// viewDidLoad時に行う
func setupAudioRecorder() {
// 再生と録音機能をアクティブにする
let session = AVAudioSession.sharedInstance()
try! session.setCategory(AVAudioSessionCategoryPlayAndRecord)
try! session.setActive(true)
let recordSetting : [String : AnyObject] = [
AVEncoderAudioQualityKey : AVAudioQuality.Min.rawValue,
AVEncoderBitRateKey : 16,
AVNumberOfChannelsKey: 2,
AVSampleRateKey: 44100.0
]
do {
try audioRecorder = AVAudioRecorder(URL: self.documentFilePath(), settings: recordSetting)
} catch {
print("初期設定でerror出たよ(-_-;)")
}
}
// 再生
func play() {
do {
try audioPlayer = AVAudioPlayer(contentsOfURL: self.documentFilePath())
} catch {
print("再生時にerror出たよ(´・ω・`)")
}
audioPlayer?.play()
}
// 録音するファイルのパスを取得(録音時、再生時に参照)
// swift2からstringByAppendingPathComponentが使えなくなったので少し面倒
func documentFilePath()-> NSURL {
let urls = fileManager.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask) as [NSURL]
let dirURL = urls[0]
return dirURL.URLByAppendingPathComponent(fileName)
}
}
guthub도 드릴게요.
Reference
이 문제에 관하여(제가 Swift2로 녹음하고 재생할 수 있는 간이 녹음기를 만들어 봤어요.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yoda2020/items/2abc7ce9d7f598bf6409텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)