iOS播放系统声音

iOS播放系统声音

简介

iOS 播放声音有很多种方式,其中系统声音服务应该是最简单的了。但我们使用起来要小心,因为使用系统声音服务时会有一些限制

  • 声音不能超过30秒
  • 支持格式有限, caf, aif, pcm或者ima/adpcm数据的wav文件

三种类型

播放系统声音有三种类型:

  • 声音:播放一个声音文件。但是如果手机静音,用户什么也听不见。
  • 提醒:播放一个声音文件,如果手机设为静音或震动,这时会通过震动提醒用户。
  • 震动:震动手机,而不考虑其他设置。

声音类型

import AudioToolbox

let path = Bundle.main.path(forResource: "test", ofType: "caf")!
let url = URL(fileURLWithPath: path)
AudioServicesCreateSystemSoundID(url as CFURL, &soundID)
AudioServicesPlaySystemSound(soundID)

提醒类型

import AudioToolbox

let path = Bundle.main.path(forResource: "test", ofType: "caf")!
let url = URL(fileURLWithPath: path)
AudioServicesCreateSystemSoundID(url as CFURL, &soundID)
AudioServicesPlayAlertSound(soundID)

震动类型

import AudioToolbox

let soundID = SystemSoundID(kSystemSoundID_Vibrate)
AudioServicesPlaySystemSound(soundID)

结束回调

AudioServicesAddSystemSoundCompletion(soundID, nil, nil, { (soundID, clientData) in
    print("End of playing voice.")
}, nil)

你可能感兴趣的:(iOS播放系统声音)