UIViewに動画を再生したいのですがググっても良さそうな手本が見つからないので教えて頂きたいです
ViewController内にあるLabelがりんごだった時にURLの動画を再生したいです(テキストの文字によって再生する動画を分けたいと考えています)
IBOutletで繋いだUIViewとどのようにして動画を再生するプログラムと繋げれば良いかわからないので教えて下さい。
import UIKit import AVFoundation class ViewController: UIViewController { @IBOutlet weak var label: UILabel! @IBOutlet weak var Play_View: UIView! override func viewDidLoad() { super.viewDidLoad() Play() } func Audio(){ // 動画ファイルのURLを取得 let url = URL(string: "動画URL") // 生成 let player = AVPlayer(url: url!) // レイヤーの追加 let playerLayer = AVPlayerLayer(player: player) playerLayer.frame = self.Play_View.bounds self.Play_View.layer.addSublayer(playerLayer) // 再生 player.play() } func Play(){ if label.text == "りんご"{ Audio() } } }
少なくとも動画の再生は上記のコードのままで実行できる(UIViewに表示ができる)ことは確認できたのですが、具体的に何が問題になっているのでしょうか。
実行しても再生されないのです。
動画URLはYouTubeから引用しています。(このコードではローカルしか再生されないですか?)
そもそも、YouTubeの動画はそのまま外部で再生できるのでしょうか。
外部のPlayerでも再生できるようなURLの例は何かありますでしょうか。あれば検証できるかもしれません。
調べてみたところ、frameworkを使わないと見れないようでした、すみません
質問用にわかりやすくyoutubeの動画を使用して投稿したのですが本来は自分のgoogledriveにアップした動画を再生するというのが目的です(その動画のリンク共有はオンになっていて、そのリンクを"動画URL"に張り付けています。自分で録画したものです。拡張子は.MOVです)
しかしその動画も再生することができません。
Creating a Basic Video Player (iOS and tvOS)
https://developer.apple.com/documentation/avfoundation/media_playback_and_selection/creating_a_basic_video_player_ios_and_tvos
提示されたコードとほぼ同じなのですが、このページにあるデモビデオのURLは再生できますでしょうか。
あるいは、ここで書かれた手順と同じ方法でアプリケーションを作っても再生できませんでしょうか。
そのページのビデオは再生できました。
googledriveにアップされた動画のリンクをどうにかしてアプリ内で再生させるようにする必要があるみたいですね。調べて分からない場合にはまた質問してみようと思います。
この投稿に対する答えは出たので回答して頂ければベストアンサーをさせて頂きたいと思います。
ありがとうございました。
私は直接的な回答を申し上げたわけではないので、ベストアンサーをいただけるほどではないかと思います。
teratailでは自己解決も推奨されているので、むしろ自己解決にされてはいかがでしょうか。
回答1件
あなたの回答
tips
プレビュー