質問するのが初めてなのでわかりにくかったらすみません。
ボタンを押した時に動画が背景で再生されるプログラミングがしたいです。
swift
1import UIKit 2import AVFoundation 3import AVKit 4 5class ViewController: UIViewController{ 6 7 8 9 override func viewDidLoad() { 10 11 super.viewDidLoad() 12 13 let path = Bundle.main.path(forResource: "tcontinude", ofType: "mp4")! 14 let video = AVPlayer(url:URL(fileURLWithPath: path)) 15 let videoPlayer = AVPlayerViewController() 16 videoPlayer.player = video 17 18//プレーヤーを作成 19 20 let playerLayer = AVPlayerLayer(player: video) 21 playerLayer.frame = view.bounds 22 playerLayer.videoGravity = .resizeAspectFill 23 playerLayer.zPosition = -1 24 view.layer.insertSublayer(playerLayer, at:0) 25 26 //レイヤーの設定 27 28 } 29 30 @IBAction func playerButton(_ sender: Any) { 31 32 videoplayer.play()//ここにエラーが出ます。 33 34 } 35 36 37} 38
エラーの内容が
Use of unresolved identifier 'videoplayer'
という物です。
viewDidLoad()で定義してあるのに使えないのは何故でしょうか。
また使えるようにするにはどうしたら良いでしょうか。
videoplayer の p は大文字では?
ご回答ありがとうございます。
大文字に修正いたしましたがエラー文が出てしまいます...
Use of unresolved identifier 'videoPlayer'
よく見たら AVPlayerViewController を使おうとしてたんですね。AVPlayerViewController は ViewController なので、たぶん別の画面に埋め込んで使うものではないと思います。
AVPlayerLayer を利用して PlayerView を自作する必要があるのではないかと。
https://qiita.com/yakimeron/items/34a65397c1041c0b2a0c#%E3%83%97%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%E3%83%93%E3%83%A5%E3%83%BC