我可以录制视频并将其保存为:
var doc = Environment.GetFolderPath (Environment.SpecialFolder.MyDocuments);
string filename = Path.GetRandomFileName () + ".mov";
var videopath = Path.Combine (doc, filename);
^这是我保存的视频路径,但我找不到如何播放文件中的视频。
mp = new MPMoviePlayerController(NSUrl.FromFilename("Movies/Showhouzreel2music.m4v"));
^我已经尝试了这个并且可以看到这个视频文件并播放它,但是这个视频是由我放置的,不适用于我拍摄的视频。
我会喜欢任何指示或帮助你们给予。
感谢您,如果您需要更多信息,请随时提出。
答案 0 :(得分:0)
你说你可以让MPMoviePlayerController使用你放置的文件吗?
如果是这样,那就试试吧。
string newVideoPath = Path.GetFileName(videopath);
mp = new MPMoviePlayerController(NSUrl.FromFilename(newVideoPath));
编辑(更详细的答案):
实施类似的东西。
public void PlayVideo(string videopath)
{
string name = Path.GetFileName(videopath);
Device.BeginInvokeOnMainThread(() =>
{
QLPreviewItemFileSystem prevItem = new QLPreviewItemFileSystem(name, videopath);
QLPreviewController previewController = new QLPreviewController();
previewController.DataSource = new PreviewControllerDS(prevItem);
UIApplication.SharedApplication.KeyWindow.RootViewController.PresentViewController(previewController, true, null);
});
}
public class PreviewControllerDS : QLPreviewControllerDataSource
{
private QLPreviewItem _item;
public PreviewControllerDS(QLPreviewItem item)
{
_item = item;
}
public override IQLPreviewItem GetPreviewItem(QLPreviewController controller, nint index)
{
return _item;
}
public override nint PreviewItemCount(QLPreviewController controller)
{
return 1;
}
}
public class QLPreviewItemFileSystem : QLPreviewItem
{
string _fileName, _filePath;
public QLPreviewItemFileSystem(string fileName, string filePath)
{
_fileName = fileName;
_filePath = filePath;
}
public override string ItemTitle
{
get
{
return _fileName;
}
}
public override NSUrl ItemUrl
{
get
{
return NSUrl.FromFilename(_filePath);
}
}
}
每当你需要打电话时,请使用:
PlayVideo(videopath);
这也允许您在将来选择时打开其他文件。 (如pdf,图像等)注意:您可能需要修改一些代码才能使其正常工作,因为我尚未对此进行测试。