如何用Xamarin表格播放视频?

时间:2015-03-16 22:20:05

标签: video xamarin xamarin.forms xamarin.forms.labs

我在这里实现了这些示例: https://github.com/XLabs/Xamarin-Forms-Labs/wiki/Camera 并且能够成功从相机中获取图像。

此外,我已经实现了选择视频 - 但无法播放视频......

我最终建立了一个浏览器窗口,并在上传后从删除页面播放视频。但是,这不是主意,我想在从文件系统或相机本身选择视频后在应用程序中播放视频。

有没有人设法做这个xamarin表单/表单实验室而不必手动在每个平台上实现它?

如果这是唯一的方法,那么这个例子呢? 非常感谢你!

2 个答案:

答案 0 :(得分:3)

尝试使用Media Plugin

这个易于使用,方便查看上页给出的文档

media Plugin是一个简单的跨平台插件,用于拍摄照片和视频,或者从共享代码库中选择它们。

<强>用法

通过带有按钮和图像的Xamarin.Forms项目拍摄照片:

  takePhoto.Clicked += async (sender, args) =>
    {

      if (!CrossMedia.Current.IsCameraAvailable || !CrossMedia.Current.PhotosSupported)
      {
        DisplayAlert("No Camera", ":( No camera avaialble.", "OK");
        return;
      }

      var file = await CrossMedia.Current.TakePhotoAsync(new Media.Plugin.Abstractions.StoreCameraMediaOptions
        {

          Directory = "Sample",
          Name = "test.jpg"
        });

      if (file == null)
        return;

      DisplayAlert("File Location", file.Path, "OK");

      image.Source = ImageSource.FromStream(() =>
      {
        var stream = file.GetStream();
        file.Dispose();
        return stream;
      }); 
    };

答案 1 :(得分:2)

您可以在Xamarin Forms组件商店中查看视频播放器组件。它允许您在iOS,Android和Windows Phone上呈现本机视频播放器。下面的代码片段显示了将其放入并使用它的最简单示例。您还可以连接诸如播放,暂停,停止,完成等事件。您可以控制音量,自动播放和重复等。

https://github.com/adamfisher/Xamarin.Forms.VideoPlayer

<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:o="clr-namespace:Octane.Xam.VideoPlayer;assembly=Octane.Xam.VideoPlayer"
             x:Class="VideoPlayerSamples.VideoPlayerBasicExamplePage"
             Title="Basic Video Player">

    <o:VideoPlayer Source="http://vjs.zencdn.net/v/oceans.mp4" />

</ContentPage>

免责声明:这是我的组件。