簡體   English   中英

視頻未在iOS項目中播放

[英]Video is not played in iOS project

我在Xamarin.Forms應用程序中使用了Plugin.MediaManager。 它在Android項目中完美運行,但在iOS項目中則無效。

我已經添加了

VideoViewRenderer.Init();

在AppDelegate中,這是視圖中的代碼:

    async void PlayStop_Clicked(object sender, System.EventArgs e)
    {
        if (this.BtnPlayStop.Text == "Start Video")
        {
            string video = Path.Combine(_videoPath, this.viewModel.Item.Video);

            if (File.Exists(video))
            {
                await CrossMediaManager.Current.Play(video, MediaFileType.Video);

                this.BtnPlayStop.Text = "Stop Video";
            }
        }
        else
        {
            await CrossMediaManager.Current.Stop();

            this.BtnPlayStop.Text = "Start Video";
        }
    }

如果因為按鈕將其文本更改為“停止視頻”而沒有視頻出現,則代碼進入第一個。 該視頻是本地mp4文件。

就像我說的那樣,這在Android上非常完美。

怎么了?

謝謝

海梅

我已用此方法替換了播放或停止視頻的方法:

    async void PlayStop_Clicked(object sender, System.EventArgs e)
    {
        if (this.BtnPlayStop.Text == "Iniciar Video")
        {
            string video = Path.Combine(_videoPath, this.viewModel.Item.Video);

            if (File.Exists(video))
            {
                Device.BeginInvokeOnMainThread(() =>
                {
                    _ = CrossMediaManager.Current.Play("file://" + video, MediaFileType.Video);
                });

                this.BtnPlayStop.Text = "Detener Video";
            }
        }
        else
        {
            await CrossMediaManager.Current.Stop();

            this.BtnPlayStop.Text = "Iniciar Video";
        }
    }

加載本地媒體文件時,“ file://”部分很重要。

使用這種方法,它可以在Android和iOS上運行。

問候海梅

問候海梅

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM