2016-08-10 13 views
0

xamarin iOSのAVPlayerLayerとAVPlayerViewControlerを使用してビデオを再生する方法は?xamarin iOSのAVPlayerViewController(AVKit)でビデオを再生する方法

playerItem = new AVPlayerItem(new NSUrl("https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")); 
     player = new AVPlayer(playerItem); 
     AVcontroller.Player = player; 
     AVcontroller.View.Layer.Frame = this.View.Bounds; 
     this.View.AddSubview(AVcontroller.View); 
     //AVcontroller.SetFullscreen(true, true); 
     AVcontroller.Player.Play(); 
+1

https://developer.xamarin.com/recipes/ios/media/video_and_photos/play_a_video_using_avplayer/ – Krumelur

答えて

2
AVPlayer avp; 
AVPlayerViewController avpvc; 


var url = NSUrl.FromString(yourURL); 
      avp = new AVPlayer(url); 
      avpvc = new AVPlayerViewController(); 
      avpvc.Player = avp; 
      AddChildViewController(avpvc); 
      View.AddSubview(avpvc.View); 
      avpvc.View.Frame = View.Frame; 
      avpvc.ShowsPlaybackControls = true; 
      avp.Play(); 

これは、すべてviewDidLoadで実行され、正常に機能しています。

3

コードのように、それらのいずれかを選択し、動画を再生するには、2つの方法があります。

public override void ViewDidLoad() 
    { 
     //Set the movie file path 
     string moviePath = NSBundle.MainBundle.PathForResource ("loadingAnimation", "mov"); 
     NSUrl movieUrl = NSUrl.FromFilename (moviePath); 

     //Using MPMoviePlayerController(using MediaPlayer) 
     MPMoviePlayerController mpC = new MPMoviePlayerController (movieUrl); 
     mpC.ControlStyle = MPMovieControlStyle.None; 
     mpC.View.Frame = new CGRect (50, 50, 200, 200); 
     mpC.View.BackgroundColor = UIColor.Clear; 
     mpC.ShouldAutoplay = true; 
     this.Add (mpC.View); 
     mpC.Play(); 

     //Using AVPlayer(using AVFoundation) 
     AVPlayer avPlayer; 
     AVPlayerLayer playerLayer; 
     AVAsset asset; 
     AVPlayerItem playerItem; 
     asset = AVAsset.FromUrl (movieUrl); 
     playerItem = new AVPlayerItem (asset); 
     avPlayer = new AVPlayer (playerItem); 
     playerLayer = AVPlayerLayer.FromPlayer (avPlayer); 
     playerLayer.Frame = new CGRect (50, 300, 200, 200); 
     View.Layer.AddSublayer (playerLayer); 
     avPlayer.Play(); 
    } 

は、それはあなたを助けることができると思います。

+0

ご協力ありがとうございます。しかし私はAVPlayerLayerとAVPlayerViewControllerを使いたい。 –

+0

あなたは何を意味するのかわかりません、私の答えにはAVPlayerのサンプルがありますが、あなたがそれを作ったことを知ってうれしく思います。 –

+0

実際にAVPlayerとAVPlayerControllerとの違いはありませんが、AVPlayerControllerはUIViewControllerにAVPlayerを含むだけです。 –

関連する問題