2016-05-20 8 views
2

Ich versuche, Sound zu einer iOS-App hinzuzufügen, die ich gerade schreibe. Ich erhalte die FehlermeldungHinzufügen von Sound zu einer iOS-App

"Incorrect argument label in call (have 'contentsOfURL:error:', expected "contentsOfURL:fileTypeHint:')".

ich auf verschiedene Weise mit ihm versucht haben, basteln, und ich kann sie nicht zu bauen. Hier ist mein Code:

import UIKit import AVFoundation 

class ViewController: UIViewController { 

    var Setup = NSURL(fileURLWithPath: NSBundle.mainBundle().pathForResource("DMSetup", ofType: "mp3")!) 
    var audioPlayer = AVAudioPlayer() 

    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 

     audioPlayer = AVAudioPlayer(contentsOfURL: Setup, error: nil) 
     audioPlayer.prepareToPlay() 

    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

    @IBAction func PlayKeySetup(sender: UIButton) { 
     audioPlayer.play() 
    } 


} 

Irgendwelche Vorschläge? Ich bin ein Neuling dabei, also bin ich mir sicher, dass ich etwas Offensichtliches vermisse. xCode 7.3.1, OSX 10.11.4

Danke.

Antwort

0

der Regel auf die Eigenschaften mit Groß nennen es als eine schlechte Haltung betrachtet hat, sollten Sie setup

Versuchen Sie diesen Code verwenden:

let setupUrl = NSBundle.mainBundle().URLForResource("DMSetup", withExtension: "mp3") 
if (setupUrl == nil) { 
    print("Could not find file: DMSetup.mp3") 
    return 
} 
do { audioPlayer = try AVAudioPlayer(contentsOfURL: Setup!, fileTypeHint: nil) } 
catch let error as NSError { print(error.description) } 

if let player = audioPlayer { 
    player.prepareToPlay() 
} 
-1

Versuchen Sie diesen Code:

var audioPlayer: AVAudioPlayer! 

let path = NSBundle.mainBundle().pathForResource("yourfilename", ofType: "format") 

let CREATE_ANY_VARIABLE = NSURL(fileURLWithPath: path!) 

do { 
     try audioPlayer = AVAudioPlayer(contentsOfURL: CREATE_ANY_VARIABLE) 

} catch let error as NSError { 
     print(error.debugDescription) 
    } 


audioPlayer.prepareToPlay() 

und dann Sie können überall in der Funktion spielen! Das Problem in Ihrem Code ist der Name Ihrer var Setup überschneidet sich mit einer anderen Setup-Methode aus der AVFoundation

+0

Versucht dies und endete mit mehr Fehlern. Da Sie gesagt haben, dass das Problem mit meiner Variablen zusammenhängt, änderte ich den Namen in etwas, das sich weniger wahrscheinlich mit etwas anderem überschneidet, und versuchte meinen ursprünglichen Code erneut. Jetzt bekomme ich 1 Fehlermeldung: "Kann werfen, aber es ist nicht mit 'versuchen' markiert und der Fehler wird nicht behandelt." Irgendwelche Vorschläge? –

Verwandte Themen