Rox.Xamarin.Video 1.0.0

There is a newer version of this package available.
See the version list below for details.

Requires NuGet 2.8.1 or higher.

dotnet add package Rox.Xamarin.Video --version 1.0.0
NuGet\Install-Package Rox.Xamarin.Video -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Rox.Xamarin.Video" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Rox.Xamarin.Video --version 1.0.0
#r "nuget: Rox.Xamarin.Video, 1.0.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Rox.Xamarin.Video as a Cake Addin
#addin nuget:?package=Rox.Xamarin.Video&version=1.0.0

// Install Rox.Xamarin.Video as a Cake Tool
#tool nuget:?package=Rox.Xamarin.Video&version=1.0.0

View videos in Xamarin Forms with the VideoView control. Supports Android, iOS, and UWP only.

The VideoView control in its simplest form can be used with the built-in controller. The VideoView control can also be bound to your own custom controller. It is not currently recommended that both the built-in controller and a custom controller are used at the same time.

The VideoView control is now ready to be used with ShowController set to True and a valid URI VideoSource. The external bindings are ready for UWP only.

XAML Usage:


<roxv:VideoView AutoPlay="True" LoopPlay="True" ShowController="True" VideoSource="" />

In your iOS project "AppDelegate" code file, you must call "Rox.VideoIos.Init()" before "Xamarin.Forms.Forms.Init()". It should look something like:



LoadApplication(new MyVideoApplication());


The VideoView has the following methods:
- Task Start(); (Start playing the video)
- Task Pause(); (Pause and Resume playing of video)
- Task Stop(); (Stop playing the video)

The VideoView has the following bindable properties:
- bool AutoPlay { get; set; } (Automatically starts playing the video, when video has finished loading)
- bool LoopPlay { get; set; } (Start playing the video again from the start, once it has finished)
- bool Muted { get; set; } (Mutes the volume)
- bool ShowController { get; set; } (Determines if the built-in controller is visible)
- VideoStateType VideoState { get; } (Empty, Error, Buffering, Playing, Paused, Stopped)
- string VideoSource { get; set; } (Must be a valid URI)
- double Volume { get; set; } (The sound level of the audio, from 0 to 1)

Common Questions:
Q: Why is the pcl named ".Portable"?
A: There is a .NETStandardv1.4 version ready to go, I am just waiting to see what happens with "project.json".

Q: Do I get paid cos you used a picture of my dog?
A: You can have all the profits made from this component. So, no Tim, you don't.

Q: Would you like another coffee?
A: Don't ask, give.

What people are saying about the VideoView control:
- "It is awesome" - me
- "I don't know what you're talking about" - random guy on the street
- "I wanna punch that rabbit in the head" - my brother
- "That's nice, dear" - my mum
- "It's better than Lego™" - me
- "But I can already watch p0rn on my phone" - name withheld (see I didn't tell them your name, Gav)
- "I don't know what you're talking about, and NO! I do not want to go back to your place and make our own video, creep" - random girl on the street
- "I am pretty sure this will revolutionise the IT industry" - me
- "If you don't shut up I will punch YOU in the head" - my brother
- "What do you mean by a zammering video? Sounds like something I can't click on at work." - Sid
- "Do you have to keep playing that same stupid rabbit video over and over?" - Tim
- "I think your dog wants to eat that rabbit" - John (to Tim)
- "Hey, this isn't the place to have a conversation" - me

NOTE: All Rox.Xamarin components support Xamarin.Forms for Android, iOS, and UWP only. Possible future support for OSX.

Product Versions
MonoAndroid monoandroid10
Universal Windows Platform uap10
Xamarin.iOS xamarinios10
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.1.0 48,610 10/18/2016
2.0.0 1,906 8/3/2016
1.0.0 1,757 7/17/2016

- Moved to first release

Known Issues:
- VideoState property is not implemented for Android and iOS (Works for UWP)
- Volume property is not implemented on Android and iOS (Works for UWP)
- Muted property is not implemented on Android and iOS (Works for UWP)
- If you use binding for your own controller AND use ShowController set to True some changes will not be reflected from the built-in controller (eg Volume). It is currently recommended that if you use bindings for your own controller then make sure ShowController is set to False
- The VideoSource must be a valid URI for UWP, but can be a valid URI or a FileName in Android and iOS
- Create sample XAML project

- Moved into beta version, as is working solid with ShowController set to true

- Did some testing on all platforms and fixed stuff
- Fixed Android bug that stopped it working in alpha6
- Fixed Android LoopPlay property, which was not working correctly
- Fixed UWP AutoPlay property, which was not working correctly

- Added ShowController property

- LoopPlay for Android implemented
- The VideoSource for iOS can now be a FileName
- VideoState property implemented for UWP
- Added Volume and Muted properties

- Now listening for property changes in native renderers for VideoView properties

- iOS supports LoopPlay
- iOS video controller buttons are no longer shown

- Dependency on Xamarin Forms (This could be lower, need to test)
- Supports AutoPlay, Start, Pause, Stop
- UWP Supports LoopPlay