【问题标题】:Play audio and vibration simultaneously on ios using swift使用 swift 在 ios 上同时播放音频和振动
【发布时间】:2018-04-09 13:17:28
【问题描述】:

有什么方法可以播放音频文件并在音频开始时振动 iphone 并在音频停止播放时停止振动?

目前此代码正在运行,但它会播放音频,当音频停止时它会振动手机,我希望两者(音频和振动)一起播放。

var alertSoundEffect: AVAudioPlayer?

let path = Bundle.main.path(forResource: "alert.mp3", ofType:nil)!
let url = URL(fileURLWithPath: path)

do {
    alertSoundEffect = try AVAudioPlayer(contentsOf: url)
    alertSoundEffect?.prepareToPlay()
    alertSoundEffect?.play()
} catch {
    return
}

let vib = SystemSoundID(1519)
AudioServicesPlayAlertSound(SystemSoundID(vib))
AudioServicesRemoveSystemSoundCompletion(vib)

【问题讨论】:

标签: ios swift avfoundation audiotoolbox


【解决方案1】:

你可以试试

 DispatchQueue.global().async 
 {
      var alertSoundEffect: AVAudioPlayer?

      let path = Bundle.main.path(forResource: "alert.mp3", ofType:nil)!
        let url = URL(fileURLWithPath: path)

        do {
            alertSoundEffect = try AVAudioPlayer(contentsOf: url)
            alertSoundEffect?.prepareToPlay()
            alertSoundEffect?.play()
        } catch {
            return
        }

 }

【讨论】:

  • 但还是有点问题,我可以手动停止振动吗?或者当音频停止时,振动也应该停止?
  • 我认为你不能手动停止它播放的振动,你可以与它同步mp3的时间
  • 好的最后一件事..我们可以改变振动的持续时间..我想振动很短的时间,比如 0.1 秒
  • 对不起,你不能,但 1519 和 1520 是最低的
猜你喜欢
  • 1970-01-01
  • 2016-08-26
  • 2017-10-17
  • 2017-05-13
  • 2019-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-21
相关资源
最近更新 更多