AVPlayer控件无法正常工作

时间:2015-10-16 10:57:02

标签: ios xamarin avplayer avplayerlayer avplayerviewcontroller

我一直试图实施AVPlayer,但我发现了一些问题。首先,在演示(https://developer.xamarin.com/recipes/ios/media/video_and_photos/play_a_video_using_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 个答案:

答案 0 :(得分:2)

这适用于我,如果你是AVPlayerViewController的子类,它将具有Player属性,因此你不需要创建另一个属性。

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();
        }
    }
}

请告诉我这是否适合您。