2017-07-07 7 views
0

私のプロジェクトに問題があります。私はViewWillAppearでAVPlayerを使ってオーディオを再生していますが、うまくいきます。このボタンをクリックすると、新しいView Controllerが表示され、テキストが表示されますが、戻るボタンを押すと、最初からオーディオが再生されています。私はそれを継続的に演奏したい。私は分かりません、どうしますか?私はSwift3を使用しています。Viewコントローラの切り替えで問題が発生しましたか?

// PlayerViewController

import UIKit 
import AVFoundation 
import AVKit 

class PlayerViewController: UIViewController, URLSessionDownloadDelegate { 

var audioFileURL : NSURL! 


func play() { 

    RemoteModel.sharedInstanceRemoteModel.audioPlayer.play() 
} 

func pause() { 
    RemoteModel.sharedInstanceRemoteModel.audioPlayer.pause() 
} 

override func viewWillAppear(_ animated: Bool) { 

    super.viewWillAppear(animated) 

     if (audioFileURL != nil){ 
        playSound(url: audioFileURL as NSURL) 
        } 
     } 

// MARK:- Play Sound 

func playSound(url:NSURL){ 

    showHUD("Loading...") 
    startTime = Date() 

    print("geturl \(url)\n") 
    DispatchQueue.main.async { 
     let asset = AVURLAsset(url: url as URL, options: nil) 
     // print("Testing line 725== \(asset)") 

     let playerItem = AVPlayerItem(asset: asset) 


    RemoteModel.sharedInstanceRemoteModel.audioPlayer.replaceCurrentItem(with: playerItem) 

     RemoteModel.sharedInstanceRemoteModel.audioPlayer.play() 

    } 
} 

@IBAction func VolumeControl(_ sender: UISlider) { 

    RemoteModel.sharedInstanceRemoteModel.audioPlayer.volume = sender.value 
} 

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



// MARK: - ibutton Action 


@IBAction func ibuttonAction(_ sender: UIButton) { 

    self.performSegue(withIdentifier: "ibutton", sender: self) 
    } 

} 

// iButtonViewController

import UIKit 
    import AVFoundation 

    class MusicTextViewController: UIViewController, { 

    @IBOutlet var textView: UITextView! 


override func viewDidLoad() { 
    super.viewDidLoad() 

} 

override func didReceiveMemoryWarning() { 
super.didReceiveMemoryWarning() 

} 

@IBAction func BackAction(_ sender: UIButton) { 

    // self.dismiss(animated : true, completion : nil) 


    self.performSegue(withIdentifier: "goToPlayerViewFromTextView", sender: self) 
} 

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    if segue.identifier == "goToPlayerViewFromTextView" { 

     let playerVC = segue.destination as! PlayerViewController 

     playerVC.comingFromPlayerTextView = true 

     } 
    } 
    } 
+2

コードを共有してください。 – LinusGeffarth

+0

返事ありがとう、私はcoedを追加しました。 LinusGeffrath –

答えて

0

PlayerViewControllerのサブビューを作成することによって行います。今、私は簡単にオーディオを再生するだけでなく、テキストを読むことができます。

関連する問題