【发布时间】:2021-01-02 19:26:28
【问题描述】:
我有一个愚蠢的问题,但由于某种原因我无法解决它。我尝试使用 AVAudioPlayer 播放声音,但听不到任何声音。没有错误,但我的应用程序仍然是静默的。它使用 SwiftUI 构建。这是一段代码:
struct SoundsListView: View {
var body: some View {
List(Helpers.shared.sounds, id:\.self) { item in
Text(item)
Spacer()
Button(action: {
var soundPlayer: AVAudioPlayer?
guard let audioFile: URL = Bundle.main.url(forResource: "Analog watch", withExtension: "mp3") else { return }
do {
soundPlayer = try AVAudioPlayer(contentsOf: audioFile)
print(soundPlayer)
guard let player = soundPlayer else { return }
player.play()
} catch let error {
print("Cannot play sound")
}
}) {
Image(systemName: "play")
} //: BUTTON
}
}
}
没有错误,声音文件也设置了目标成员资格。 (奇怪的是,同一段代码也适用于我的旧项目,但用 Swift + Storyboards 编写)
模拟器和硬件设备都没有声音。静音模式关闭,音量设置为最大。 我不知道这里出了什么问题。
顺便说一句:这个应用程序向用户发送通知并且声音正常。但不是在这段代码中
【问题讨论】:
-
嗨,是否调用了任何打印命令?另外,当您按下按钮时,您能否看到您的视图是否正在重新渲染?
标签: ios xcode swiftui avaudioplayer