我在我的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";
}
}代码输入第一个if,Stop按钮将其文本更改为“Stop video”,但没有显示视频。该视频是一个本地mp4文件。
正如我所说的,这在Android上工作得很好。
怎么了?
谢谢
詹姆
发布于 2019-07-15 21:22:55
我用下面的方法替换了播放或停止视频的方法:
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://“部分在加载本地媒体文件时很重要。
通过这种方法,它可以在安卓和iOS上运行。
致敬詹姆
致敬詹姆
https://stackoverflow.com/questions/57023902
复制相似问题