美文网首页
iOS 跟随系统音量播放音效的问题

iOS 跟随系统音量播放音效的问题

作者: 一半晴天 | 来源:发表于2018-03-06 19:41 被阅读271次

根据 AudioServicesPlaySystemSoundWithCompletion 的文档的介绍。应该是跟随系统的音量的。写出如下代码:

 guard let fileUrl = Bundle.main.url(forResource: assetName, withExtension: "caf") else{
      log.error("sound \(rawValue) not found")
      return nil
    }
    var soundId:SystemSoundID = 0
    let osStatus = AudioServicesCreateSystemSoundID(fileUrl as NSURL, &soundId)
    if osStatus == kAudioServicesNoError{
       AudioServicesPlaySystemSoundWithCompletion(soundId) {
          log.info("\(self) play completed")
        }
    }

但是实际测试下来在 iOS 11 上的表现并没有跟随。静音上是有跟随。
给人感觉一般控制音量控制的是扬声器的音量,但是上面的播放代码播放的是跟随系统的铃声音量。

后面改为使用 AVAudioPlayer 来播放即可。
AVAudioPlayer 中的音量默认是 1.0 它中系统音量的关系是。
最终播放的音量是 AVAudioPlayer.volume * systemVolume

相关文章

网友评论

      本文标题:iOS 跟随系统音量播放音效的问题

      本文链接:https://www.haomeiwen.com/subject/ryrrfftx.html