Rox.Xamarin.Video
1.0.0
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
<PackageReference Include="Rox.Xamarin.Video" Version="1.0.0" />
paket add Rox.Xamarin.Video --version 1.0.0
#r "nuget: Rox.Xamarin.Video, 1.0.0"
// 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:
----------------
xmlns:roxv="clr-namespace:Rox;assembly=Rox.Xamarin.Video.Portable"
<roxv:VideoView AutoPlay="True" LoopPlay="True" ShowController="True" VideoSource="http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4" />
----------------
In your iOS project "AppDelegate" code file, you must call "Rox.VideoIos.Init()" before "Xamarin.Forms.Forms.Init()". It should look something like:
----------------
Rox.VideoIos.Init();
global::Xamarin.Forms.Forms.Init();
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 Compatible and additional computed target framework versions. |
---|---|
MonoAndroid | monoandroid10 is compatible. |
Universal Windows Platform | uap10 is compatible. |
Xamarin.iOS | xamarinios10 is compatible. |
-
- Xamarin.Forms (>= 2.3.0.107)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
[1.0.0]
- 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
[1.0.0-beta1]
- Moved into beta version, as is working solid with ShowController set to true
[1.0.0-alpha7]
- 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
[1.0.0-alpha6]
- Added ShowController property
[1.0.0-alpha5]
- LoopPlay for Android implemented
- The VideoSource for iOS can now be a FileName
- VideoState property implemented for UWP
- Added Volume and Muted properties
[1.0.0-alpha4]
- Now listening for property changes in native renderers for VideoView properties
[1.0.0-alpha3]
- iOS supports LoopPlay
- iOS video controller buttons are no longer shown
[1.0.0-alpha2]
- Dependency on Xamarin Forms 2.3.0.107 (This could be lower, need to test)
- Supports AutoPlay, Start, Pause, Stop
- UWP Supports LoopPlay