带有以下错误消息的App崩溃
2019-10-12 20:01:34.332334-0700 Awesome App[26368:3535170] [plugin] AddInstanceForFactory: No factory registered for id <CFUUID 0x600002903280> F8BB1C28-BAE8-11D6-9C31-00039315CD46
崩溃时的断点似乎与AVAudioPlayer有关
let path = Bundle.main.path(forResource: "menu_background.mp3", ofType:nil)!
audioPlayer = try AwesomeAudioPlayer(contentsOf: URL(fileURLWithPath: path)) ---> breakpoint
发布于 2019-10-15 10:21:31
我在另一个关于AVAudioPlayer的堆栈溢出线程中找到了解决方案,如下所示:
如果您将AVAudioPlayer
初始化为
var wrongMusicPlayer: AVAudioPlayer = AVAudioPlayer()
或wrongMusicPlayer = AVAudioPlayer()
在任何方法中都请删除,并声明为var wrongMusicPlayer: AVAudioPlayer
!
发布于 2020-04-09 22:37:28
我相信大家都可能已经将AVFoundation
添加到Project选项卡中的框架列表中。
错误代码如下:
import SwiftUI
import AVFoundation
struct PlayerDetailView: View {
@State private var downloadedFilePath: URL = nil
var audioPlayer: AVAudioPlayer
var body: some View {
在我将var audioPlayer: AVAudioPlayer
声明移到import AVFoundation
行之后,它似乎正在工作。
因此,下面的代码在一个SwiftUI
项目中为我工作:
import SwiftUI
import AVFoundation
var audioPlayer: AVAudioPlayer!
struct PlayerDetailView: View {
@State private var downloadedFilePath: URL = nil
var body: some View {
VStack {
Button("Play the Downloaded Track") {
if let downloadedPath = self.downloadedFilePath?.path, FileManager().fileExists(atPath: downloadedPath) {
do {
audioPlayer = try AVAudioPlayer(contentsOf: self.downloadedFilePath!)
guard let player = audioPlayer else { return }
player.prepareToPlay()
player.play()
} catch let error {
print(error.localizedDescription)
}
} else {
print("The file doesn not exist at path || may not have been downloaded yet")
}
}
}
}
}
我最初是在学习CodeWithChris的这个教程,它的讨论也导致了上面的变化。如果您需要更多的示例,也可以签出以下教程。
希望这会对你们中的一些人有所帮助!
干杯!
发布于 2019-12-03 08:10:18
我认为错误信息是对模拟器的警告,因此它并不重要。
我认为您的问题是代码中的一个bug。应该是这样的:
let path = Bundle.main.path(forResource: "menu_background", ofType:"mp3") audioPlayer = try AwesomeAudioPlayer(contentsOf: URL(fileURLWithPath: path!)) ---> breakpoint
其中forResource是文件的名称,ofType是扩展名。您还可以使用Bundle.main.url,它如下所示:
let path = Bundle.main.url(forResource: "menu_background", withExtension:"mp3") audioPlayer = try AwesomeAudioPlayer(contentsOf: URL(fileURLWithPath: path!)) ---> breakpoint
https://stackoverflow.com/questions/58360765
复制相似问题