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
}
}
}
コードを共有してください。 – LinusGeffarth
返事ありがとう、私はcoedを追加しました。 LinusGeffrath –