AppleMusicApp [version 2]



我去看动作录像。


🏋🏻 テーマ

  • 前回作成したMainViewに続いてPlayerViewを構成する
  • メソッドでmp 3ファイルを直接再生/停止します.
  • 使用
  • SliderBarで音楽の再生時間を変更!
  • Apple Music App完了
  • 🐶 内容

  • 直接再生音楽生成SimplePlayer
  • メソッドタイプ
  • 現時点:現時点再生時間
  • 合計再生:総再生時間
  • isplaying:音楽は流れていますか?(T/F)
  • currentItem:今流れている曲を教えてください.
  • CurrentItemの置き換え:音楽変更用
  • addPeriodicTimeObserver:seekは、音楽再生時間の変化を1サイクルで特定できる関数です.
  • その他:一時停止、seek、play
  • PlayViewControllerを簡易プレイヤーで構成.
  • 簡易プレーヤはアプリケーション内のどこでも呼べる唯一のオブジェクトとして生成される싱글톤
  • 🧑🏻‍🚀 Logic

  • HomeViewで各セルをクリックするとPlayerViewに移動します.
  • 싱글톤対象単純プレイヤーを導入した後、ボタンで音楽を再生することができます.
  • SliderBarを使用してシークを行い、現在の再生時間を変更することができます.
  • 🧩 コード#コード#


    SimplePlayer

    class SimplePlayer {
        // 싱글톤 : 앱 내의 어디서든 불릴 수 있는 유일한 객체.
        static let shared = SimplePlayer()
        private let player = AVPlayer()
    
        var currentTime: Double {
            return player.currentItem?.currentTime().seconds ?? 0
        }
        
        var totalDurationTime: Double {
            return player.currentItem?.duration.seconds ?? 0
        }
        ... 이하생략
  • モノトーンを受信したオブジェクトを共有する.
  • currentTime:現在放送されている音楽の時間を受け付ける.受信できない場合は、0が返されます.
  • AVPlayer内部に存在する方法を用いて方法を構成した.
  • PlayerViewController

        override func viewWillAppear(_ animated: Bool) {
            super.viewWillAppear(animated)
            updateTrackInfo()
        }
        
        func updateTrackInfo() {
            // TODO: 트랙 정보 업데이트
            guard let track = simplePlayer.currentItem?.convertToTrack() else { return }
            thumbnailImageView.image = track.artwork
            titleLabel.text = track.title
            artistLabel.text = track.artist
        } 
  • viewWillAppear:ビューが現れる前に実行する必要がある論理を構成する.
  • ホームビューでCellを押し、PlayerViewが現れるまでホームビューコントローラが送信するindexPathに従ってPlayerViewを構成する.[title, artist, image, item]
  • 🔥 結果

  • Cloneコードは、AVPlayerViewにはまだ詳しくない.そのため、これからは自分で手を出す時間がかかるかもしれません.
  • UI CollectionViewを復習する観点から、UITAbleViewを使用してMelonプレイリストを作成します.
  • 次はTodoListなので、TableViewの復習は良いアイデアだと思います.
  • 今はビューとAutoLayoutの配置に慣れているようです.しかし、まだ知らない方法や文法がたくさんあるので、使い続けてこそ慣れることができます.