Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/112.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios AVPlayer控件工作不正常_Ios_Xamarin_Avplayer_Avplayerlayer_Avplayerviewcontroller - Fatal编程技术网

Ios AVPlayer控件工作不正常

Ios AVPlayer控件工作不正常,ios,xamarin,avplayer,avplayerlayer,avplayerviewcontroller,Ios,Xamarin,Avplayer,Avplayerlayer,Avplayerviewcontroller,我一直在尝试实现AVPlayer,但发现了一些问题。首先,在demo()上没有控件……这正常吗?默认情况下应启用控件(apple文档) 在我的应用程序中,我覆盖了AVPlayServiceWController类,这些控件在横向视图中可见,但在视频后面。因此,滑块的大部分不可见。这很奇怪。此外,在播放时,按钮暂停实际上是按钮播放,并且被禁用。点击全屏显示全屏视图,我可以听到视频播放,但只有一个黑屏。下面是我创建视频播放器的方法: 这段代码是avplayervewcontroller的一个子类,我

我一直在尝试实现AVPlayer,但发现了一些问题。首先,在demo()上没有控件……这正常吗?默认情况下应启用控件(apple文档)

在我的应用程序中,我覆盖了AVPlayServiceWController类,这些控件在横向视图中可见,但在视频后面。因此,滑块的大部分不可见。这很奇怪。此外,在播放时,按钮暂停实际上是按钮播放,并且被禁用。点击全屏显示全屏视图,我可以听到视频播放,但只有一个黑屏。下面是我创建视频播放器的方法:

这段代码是avplayervewcontroller的一个子类,我用父帧设置它的帧。除了控制部分,它似乎工作正常

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

以前有人看到过吗?

这对我来说很有用,如果你是avplayervewcontroller的子类,它已经有了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();
        }
    }
}

让我知道这是否适合您。

知道如何全屏播放视频吗?当我运行上面的代码时,它将全屏播放。我认为唯一可以阻止它的是这一行“playerLayer.Frame=View.Bounds”;你能检查View.Bounds返回的是什么吗?喂bro@IainSmith,你能帮我找到这个解决方案吗?