我想改善我的App FM-Pod与Siri Intents快捷方式的集成。我已经完成了此应用程序的操作,可以在HomePod上收听广播,到目前为止,我已经能够开始播放,更改电台等了,但是我遇到了一个奇怪的问题,该问题导致音频播放停止大约1分钟后独自一人...
有人知道原因吗?怎么了?
这是Swift中利用AVAudioPlayer启动播放的代码:
open func handle(intent: StartFMPodIntent, completion: @escaping (StartFMPodIntentResponse) -> Void) {
DataManager.getStationDataWithSuccess(filename: "favorites") { (data) in
if debug { print("Stations JSON Found") }
guard let data = data, let jsonDictionary = try? JSONDecoder().decode([String: [RadioStation]].self, from: data), let stationsArray = jsonDictionary["station"]
else {
if debug { print("JSON Station Loading Error") }
return
}
HPRIntentHandler.stations = stationsArray
if !FRadioPlayer.shared.isPlaying {
FRadioPlayer.shared.radioURL = URL(string: HPRIntentHandler.stations![0].streamURL0!)
let response = StartFMPodIntentResponse(code: .success, userActivity: nil)
response.stationName = stationsArray[0].name
completion(response)
}
}
}
答案 0 :(得分:0)
代码完成运行后,扩展将被杀死。 由于getStationDataWithSuccess异步运行,因此其代码在异步功能完成运行之前到达末尾。 您必须找到其他地方来处理此问题。