【发布时间】:2017-12-11 11:20:48
【问题描述】:
我的项目有问题。我在 ViewWillAppear 中使用 AVPlayer 播放音频,它工作正常。我在播放器中有一个文本读取按钮,当我单击此按钮时,一个新的视图控制器即将出现并显示一些文本,但是当我按下返回按钮时,音频正在从头开始播放。我想连续播放。我不知道,会怎么做?我正在使用 Swift3。
// 播放器视图控制器
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
}
}
}
【问题讨论】:
-
请分享您的代码。
-
感谢您的回复,我添加了男女同校。 LinusGeffrath
标签: ios swift3 uiviewcontroller avplayer