[英]Issue in View controller transition?
I'm having some issue with my project. 我的项目有问题。 I'm Playing audio using AVPlayer in ViewWillAppear and It is working fine.
我正在ViewWillAppear中使用AVPlayer播放音频,并且工作正常。 I have a text read button in player, when i'm click this button, a new view controller is coming and showing some text, but when i am pressing back button, audio is playing from start.
我在播放器中有一个文本读取按钮,当我单击此按钮时,将出现一个新的视图控制器并显示一些文本,但是当我按“后退”按钮时,音频将从头开始播放。 I want to play it continously.
我想连续播放。 I have no idea, how will do?
我不知道该怎么办? I am using Swift3.
我正在使用Swift3。
// PlayerViewController // 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 // 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
}
}
}
Done by Creating a subview of PlayerViewController. 通过创建PlayerViewController的子视图完成。 Now i can easily play the audio as well as read the text.
现在,我可以轻松播放音频以及阅读文本。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.