![]() |
Neste artigo eu vou mostrar como podemos reproduzir vídeos uma aplicação Xamarin Forms. |
Para reproduzir vídeos em uma aplicação Xamarin Forms vamos usar o plugin MediaManger. Segundo a documentação que você pode acessar neste link o pacote usa a API CrossMediaManager.Current.Play para reproduzir vídeo/áudio.
No
Android você deverá definir as seguintes permissões no arquivo Manifest :
AccessWifiState, Internet, MediaContentControl e WakeLock
Para mais detalhes consulte a documentação do componente.
Recursos Usados
Criando o projeto Xamarin Forms
Abra o VS 2017 Community update 15.5 e clique em New Project e a seguir escolha Cross Platform -> Cross Platform App (Xamarin.Forms) e informe o nome XF_Video.
Ao criar um projeto Xamarin Forms em uma versão anterior à atualização 15.5, você tinha duas opções para compartilhar o código entre as plataformas:
Pois a partir da versão 15.5 do Visual Studio(lançada em dezembro/2017) a opção Portable Class Library (PCL) foi substituida pela .NET Standard:
![]() |
Marque as opções Android e/ou iOS, marque Xamarin Forms e a seguir marque .NET Standard e clique no botão OK.
Pronto nosso projeto já esta criado.
Incluindo o pacote Plugin.MediaManager.Forms no projeto
Vamos agora incluir o plugin em nosso projeto. No menu Tools abra o gerenciador de pacotes do Nuget para a Solution e clique em Browse selecionando o pacote: Plugin.MediaManager.Forms
Instale o pacote em todos os projetos clicando em Install.
Definindo o código da MainPage.xaml
Abra o arquivo MainPage.xaml e inclua no código abaixo:
<?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:local="clr-namespace:XF_Video"
xmlns:forms="clr-namespace:Plugin.MediaManager.Forms;assembly=Plugin.MediaManager.Forms"
x:Class="XF_Video.MainPage">
<StackLayout>
<Button x:Name="btnPlayStop" Text="Reproduzir" Clicked="btnPlayStop_Clicked" />
<forms:VideoView HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand" AspectMode="AspectFill" />
</StackLayout>
</ContentPage>
|
Neste código temos:
Um controle StackLayout que esta empilhando os controles :
- 1 Button onde temos o evento btnPlayStop_Clicked que iremos tratar no code-behind a execução e a pausa na reprodução do vídeo;
- 1 VideoView onde iremos exibir o vídeo;
Observe que definimos o namespace para o pacote:
xmlns:forms="clr-namespace:Plugin.MediaManager.Forms;assembly=Plugin.MediaManager.Forms"
No arquivo
MainPage.xaml.cs temo o código do evento
Clicked do botão de comando que é visto a seguir:
using Plugin.MediaManager;
using System;
using Xamarin.Forms;
namespace XF_Video
{
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private string videoUrl = "https://archive.org/download/BigBuckBunny_328/BigBuckBunny_512kb.mp4";
private void btnPlayStop_Clicked(object sender,EventArgs e)
{
if(btnPlayStop.Text == "Reproduzir")
{
btnPlayStop.Text = "Parar";
CrossMediaManager.Current.Play(videoUrl, Plugin.MediaManager.Abstractions.Enums.MediaFileType.Video);
}
else if (btnPlayStop.Text == "Parar")
{
btnPlayStop.Text = "Reproduzir";
CrossMediaManager.Current.Stop();
}
}
}
}
|
Aqui usamos os recursos do plugin reproduzir/parar o vídeo.
Executando o projeto
usando o emulador Genymotion para o Android
iremos obter o seguinte resultado:
![]() |
Este exemplo é bem simples e foi feito apenas para mostrar como usar o plugin.
Pegue o código do projeto
compartilhado aqui :
XF_Video.zip (sem as referências)
"Jesus
disse-lhes: A minha comida é fazer a vontade daquele que
me enviou, e realizar a sua obra."
João 4:34
Referências:
Xamarin Android - Apresentando o controle ProgressBar - Macoratti.net
Xamarin Android - Usando o serviço de Alarme - Macoratti.net
Xamarin.Forms - Usando a view ActivityIndicator - Macoratti.net