Xamarin.iOS 应用中未显示 AVPlayerViewController

AVPlayerViewController not presenting in Xamarin.iOS app

我是 Xamarin.i 的新手,我正在尝试使用列表 Xamrin.iOS 中的 AVPlayerViewController 播放声音 view.Here 是我的按钮操作。

var playBtn = new Button () {
WidthRequest = 50,
HeightRequest = 50,
BackgroundColor = Color.Transparent,
Command = new Command(() =>{
DependencyService.Get().PlayAudioFile("Audio.mp3");
})

playBtn 是自定义单元格 button.Cell 数据使用 XAML 填充 "PlayAudioFile" 是一个接口,是平台 specific.i 目前正在将其用于 iOS。 这是我的 iOS UIViewController 代码

public void PlayAudioFile(string fileName)
{
string sFilePath = NSBundle.MainBundle.PathForResource(Path.GetFileNameWithoutExtension(fileName), Path.GetExtension(fileName));
var url = NSUrl.FromString (sFilePath);
var player = new AVPlayer (url);
player.Rate = 0.25f;
var playerVC = new AVPlayerViewController();
playerVC.Player = player;
playerVC.AllowsPictureInPicturePlayback = true;
playerVC.View.Frame = this.View.Frame;
player.Play ();
this.PresentViewController (playerVC, true, null);
}

但是 AVPlayerViewController 没有播放音频,也没有在视图中呈现 controller.What 我做错了吗? 提前致谢。

我发现一个问题是您创建的方式 url。您正在使用包中的文件,这意味着它的本地文件。 使用 NSUrl.FromFilename(sFilePath) 而不是 NSUrl.FromString (sFilePath);

NSUrl.FromString 将创建 url,如 http://yourfolder/subfolder/fielname.extension,这在您的情况下是无效的。而 NSUrl.FromFilename 会像 file://yourfolder/subfolder/filesname.extension 一样创建 url。这对你的情况有效。