【发布时间】:2017-12-06 22:45:09
【问题描述】:
使用 AudioKit 进行声音管理,我注意到这段非常简单的代码存在问题(错误?)。
import AudioKit
class MainViewController: UIViewController {
var audioFile: AKAudioFile?
var audioPlayer: AKAudioPlayer?
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func onPlayButtonClick(_ sender: Any) {
do {
audioFile = try AKAudioFile(forReading: Bundle.main.url(forResource: "3e", withExtension: "mp3")!)
audioPlayer = try AKAudioPlayer(file: audioFile!)
AudioKit.output = audioPlayer
AudioKit.start()
audioPlayer!.play()
} catch {
print(error)
}
}
}
当使用 play() 方法启动播放时,日志和过程中一切正常(播放器持续时间,currentTime)。但我没有听到扬声器中的音频(只是一种风噪声)。一旦我插入耳机并再次点击按钮,我通常会听到音频。然后,我拔掉耳机并点击按钮,我听不到声音(只有风声)。
我在 iPhone 5S 上遇到这个问题。
我确实不在 iPad5 上面对这个,我确实不在模拟器上面对这个。我没有其他设备可以尝试复制。
两种设备:iOS 11.1.2 和 AudioKit:v4.0.4
注意:我的扬声器可以与任何其他应用程序正常工作,并且我已经检查了音量。未插入耳机时,默认 outputDevice 设置为 Speakers。
【问题讨论】:
-
你试过在 iPhone 5s 上切换静音开关吗?模拟器和 iPad 总是通过扬声器播放,但静音的 iPhone 通常只能通过耳机播放。
-
哇,我从来没有使用过这个静音按钮...是的,就是这样。是否可以忽略 Audiokit 中的静音按钮? (注意:您可以将此作为答案)
标签: core-audio audiounit audiokit