2015-10-16 53 views
1

我一直在試圖實現AVPlayer,但我發現了一些問題。首先,在演示(https://developer.xamarin.com/recipes/ios/media/video_and_photos/play_a_video_using_avplayer/)沒有控制...這是正常的嗎?控制應該是默認啓用(蘋果文件)AVPlayer控件無法正常工作

在我的應用我重寫AVPlayerViewController類和控件上的風景,但在視頻後面可見。所以大部分滑塊不可見。這很奇怪。而且,在播放時,按鈕暫停實際上是按鈕播放並被禁用。點擊全屏顯示全屏視圖,我可以聽到播放的視頻,但只有黑屏。下面是我如何創建視頻播放器:

這個代碼是在AVPlayerViewController的一個子類,我把它的框架與父母的框架。它似乎工作正常,除了控件部分

playerItem = new AVPlayerItem (new NSUrl(url)); 
player = new AVPlayer (playerItem); 
playerLayer = AVPlayerLayer.FromPlayer (player); 
playerLayer.Frame = View.Bounds; 
View.Layer.AddSublayer (playerLayer); 

有沒有人見過這個?

回答

1

這個工作對我來說,如果你是繼承AVPlayerViewController將已經擁有的球員屬性,因此您不必再創建一個。

using System; 
using AVFoundation; 
using AVKit; 
using Foundation; 

namespace SOText 
{ 
    public partial class ViewController : AVPlayerViewController 
    { 
     public ViewController (IntPtr handle) : base (handle) 
     { 
     } 

     public override void ViewDidLoad() 
     { 
      base.ViewDidLoad(); 
      Player = new AVPlayer (NSUrl.FromFilename ("SampleVideo_320x240_1mb.3gp")); 
      AVPlayerLayer playerLayer = AVPlayerLayer.FromPlayer (Player); 
      playerLayer.Frame = View.Bounds; 
      Player.Play(); 
     } 
    } 
} 

讓我知道,如果這對你有用。

+1

這個工程!謝謝:) – nhenrique

+0

任何想法如何在全屏播放視頻? – nhenrique

+0

當我運行上面的代碼時,它會以全屏模式播放。我認爲唯一可以阻止它的是這行「playerLayer.Frame = View.Bounds;」你能夠檢查View.Bounds返回什麼? –