2016-03-26 32 views
-1

私はUdacityのに従っています。iOSアプリケーション開発の紹介はSwiftでですが、このエラーが発生しました。'PlaySoundsViewController'タイプの値に 'recordedAudio'というメンバーはありません

Value of type 'PlaySoundsViewController' has no member 'recordedAudio' 

84行にエラーがあります。

import UIKit 
import AVFoundation 

class RecordSoundsViewController: UIViewController , AVAudioRecorderDelegate { 

@IBOutlet weak var recordingInProgress: UILabel! 
@IBOutlet weak var stopButton: UIButton! 
@IBOutlet weak var recordButton: UIButton! 

var audioRecorder:AVAudioRecorder! 

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

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

override func viewWillAppear(animated: Bool) { 
    //TODO: Hide stop button 
    stopButton.hidden = true 
    //TODO: Enable recordButton 
    recordButton.enabled = true 
} 

@IBAction func recordAudio(sender: AnyObject) { 
    //TODO: Show text "recording in progress" 
    recordingInProgress.hidden = false 
    //TODO: Show stopButton 
    stopButton.hidden = false 
    //TODO: Record the user's voice 
    print("in recordAudio") 
    //TODO: Disable recording button 
    recordButton.enabled = false 

    let dirPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory,.UserDomainMask, true)[0] as String 
    let recordingName = "recordedVoice.wav" 
    let pathArray = [dirPath, recordingName] 
    let filePath = NSURL.fileURLWithPathComponents(pathArray) 
    print(filePath) 

    let session = AVAudioSession.sharedInstance() 
    try! session.setCategory(AVAudioSessionCategoryPlayAndRecord) 

    try! audioRecorder = AVAudioRecorder(URL: filePath!, settings: [:]) 
    audioRecorder.meteringEnabled = true 
    audioRecorder.prepareToRecord() 
    audioRecorder.record() 
} 

@IBAction func stopRecording(sender: AnyObject) { 
    //TODO: hide recordingInProgress label 
    recordingInProgress.hidden = true 
    recordButton.enabled = true 
    let audioSession = AVAudioSession.sharedInstance() 
    try! audioSession.setActive(false) 
} 

func audioRecorderDidFinishRecording(recorder: AVAudioRecorder, successfully flag: Bool) { 
    print("AVAudioRecorder finished saving recording") 
    if (flag) { 
     self.performSegueWithIdentifier("stopRecording", sender: audioRecorder.url) 
    } else { 
     print("Saving of recording failed") 
    } 
} 

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if (segue.identifier == "stopRecording") { 
     let playSoundsVC = segue.destinationViewController as! 
      PlaySoundsViewController 
     let recordedAudioURL = sender as! NSURL 
     playSoundsVC.recordedAudio = recordedAudioURL 
    } 
} 

}

答えて

0
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    if (segue.identifier == "stopRecording") { 
     let playSoundsVC = segue.destinationViewController as! PlaySoundViewController 
     let recordedAudioURL = sender as! NSURL 
     playSoundsVC.recordedAudioURL = recordedAudioURL 
    } 
} 
0

追加するvar recordedAudioURL:URL

playSoundsVC.recordedAudio = recordedAudioURL 

は、ここで全体のコードです! PlaySoundsViewControllerファイル は、現在のクラスから送信された次のクラスのURLを保持する変数です。 ハッピーコーディング:)

関連する問題