2
私はちょうどSwift 3に変換しました。このエラーで助けが必要です。私は昨日3スイフトに変換したときにこのエラーが発生し、この完全なコードは素晴らしい仕事をしていた。私は試してみましたか?その中にエラーを修正しなかったのは同じです。キャッチなしSwift 3.0:引数ラベル '(_ :)は使用可能なオーバーロードと一致しません
do {
try AVAudioSession.sharedInstance().setActive(true)
} catch {
}
:
import Foundation
import AVFoundation
class AudioHelper: NSObject, AVAudioPlayerDelegate {
var player : AVAudioPlayer?
class var defaultHelper : AudioHelper {
struct Static {
static let instance : AudioHelper = AudioHelper()
}
return Static.instance
}
override init() {
super.init()
}
func initializeAudio() {
let url = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("", ofType: "")!)
self.player = try! AVAudioPlayer(contentsOfURL: url, fileTypeHint: nil)
self.player?.numberOfLoops = -1
self.player?.play()
}
func stopAudio() {
self.player?.stop()
self.player?.prepareToPlay()
}
func startAudio() {
AVAudioSession.sharedInstance().setActive(true, error: nil)
self.player?.play()
}
func audioPlayerDidFinishPlaying(player: AVAudioPlayer, successfully flag: Bool) {
AVAudioSession.sharedInstance().setActive(false, error: nil)
}
}
http://i.stack.imgur.com/irdef.pngの画像 – Bran
'setActive(_ :)'メソッドの[documentation](https://developer.apple.com/reference/avfoundation/avaudiosession/1616597-setactive)を見てください。エラーパラメータを取る代わりにスローします。したがって、エラーパラメータを削除して、エラーがスローされても気にしない場合は、 'try?'を呼び出しの前に付けてください。 – Hamish
また、おそらくより良いdupeターゲット[Swift 2 AVAudioSession setCategory余分な引数 'error'](http://stackoverflow.com/questions/32878965/swift-2-avaudiosession-setcategory-extra-argument-error) – Hamish