-
app
开启后台运行权限,定位或者录音等都可以
- 设置
AVAudioSession
时,mode
设置为voiceChat
- 手机震动调用
AudioServicesPlaySystemSoundWithCompletion(kSystemSoundID_Vibrate, nil)
import UIKit
import AVFoundation
class ViewController: UIViewController {
var recorder: AVAudioRecorder?
override func viewDidLoad() {
super.viewDidLoad()
let session = AVAudioSession.sharedInstance()
try? session.setCategory(.playAndRecord, mode: .voiceChat, options: [])
try? session.setActive(true)
/**
AVAudioSession.category = playAndRecord
mode = defualt, 震动不生效
mode = voiceChat, 可以震动
*/
let url = URL(fileURLWithPath: NSTemporaryDirectory().appending("/abc.caf"))
recorder = try? AVAudioRecorder(url: url, settings: [:])
recorder?.prepareToRecord()
recorder?.record()
}
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
Timer.scheduledTimer(withTimeInterval: 3, repeats: true) { _ in
AudioServicesPlaySystemSoundWithCompletion(1521, nil)
//AudioServicesPlaySystemSoundWithCompletion(kSystemSoundID_Vibrate, nil)
}
}
}