在Swift 3中,我想使用int
播放音频,其中包含播放,暂停和重启音频的功能。
在教程中,此视图控制器中的代码成功播放并暂停,但在重新启动时会导致错误:
AVPlayer()
这会产生错误:import UIKit
//4 -
import AVKit
import AVFoundation
class Music1ViewController: UIViewController {
//5 -
var songPlayer = AVAudioPlayer()
var player = AVPlayer()
//15 -
var hasBeenPaused = false
@IBAction func play(_ sender: Any) {
let playerItem = AVPlayerItem(url: URL(string: "https://s3.amazonaws.com/kargopolov/kukushka.mp3")!)
player = AVPlayer(playerItem: playerItem)
player.play()
}
@IBAction func pause(_ sender: Any) {
player.pause()
}
@IBAction func restart(_ sender: Any) {
//17 -
if player.isPlaying || hasBeenPaused {
player.stop()
player.currentTime = 0
player.play()
} else {
player.play()
}
}
查看文档,我不知道我遗漏了什么,因为我认为我已经为Value of type 'AVPlayer' has no member 'isPlaying'
定义了变量而player
似乎接受了状态作为其模型的一部分。
是否有一种首选方式告诉AVPlayer
从某个值开始(在这种情况下,音频文件的0秒标记)?
答案 0 :(得分:1)
确实AVPlayer没有'isPlaying'或者'玩' 。我认为你应该使用' rate == 1'或者' timeControlStatus == AVPlayerTimeControlStatusPlaying'(iOS10或更高版本)检查现在是否正在播放。