0
私はAVAudioPlayerを持つtvOS用の音楽アプリを作っています。 Apple TVの再生/一時停止ボタンでAVAudioPlayerを再生/一時停止する方法を知りましたか?ここに私の現在のコードがあります:Apple TVの再生/一時停止ボタンを再生/一時停止する方法AVAudioPlayer
import UIKit
import AVFoundation
class MusicViewController: UIViewController, AVAudioPlayerDelegate {
@IBOutlet weak var progressView: UIProgressView!
var audioPlayer = AVAudioPlayer()
override func viewDidLoad() {
super.viewDidLoad()
do {
audioPlayer = try AVAudioPlayer(contentsOf: URL.init(fileURLWithPath: Bundle.main.path(forResource: "Roots", ofType: "mp3")!))
audioPlayer.prepareToPlay()
var audioSession = AVAudioSession.sharedInstance()
Timer.scheduledTimer(timeInterval: 0.01, target: self, selector: #selector(updateAudioProgressView), userInfo: nil, repeats: true)
progressView.setProgress(Float(audioPlayer.currentTime/audioPlayer.duration), animated: false)
do {
try audioSession.setCategory(AVAudioSessionCategoryPlayback)
}
}
catch {
print(error)
}
audioPlayer.delegate = self
}
// Set the music to automaticly play and stop
override func viewDidAppear(_ animated: Bool) {
audioPlayer.play()
}
override func viewDidDisappear(_ animated: Bool) {
audioPlayer.stop()
}
func updateAudioProgressView()
{
if audioPlayer.isPlaying
{
// Update progress
progressView.setProgress(Float(audioPlayer.currentTime/audioPlayer.duration), animated: true)
}
}
}
私はこれを理解しようとしています。私は前にtvOSで仕事をしていないので、これは私にとっては新しいものです。助けてくれてありがとう!
Ok!本当にありがとう!しかし、どうすればaudioPlayer.play()とaudioPlayer.pause()の間で切り替えることができますか? – iFunnyVlogger
更新を参照してください。あなたは何をやっているかに応じてここに追加の論理が必要かもしれませんが、これはあなたを動かすはずです。 – picciano
ありがとう!唯一の問題は、App DelegateがaudioPlayerについて認識していないことです。 – iFunnyVlogger