├── .gitignore
├── LICENSE
├── Rox.Xamarin.Video.Sample.sln
├── Sample
├── Android
│ ├── Assets
│ │ └── AboutAssets.txt
│ ├── MainActivity.cs
│ ├── Properties
│ │ ├── AndroidManifest.xml
│ │ └── AssemblyProject.cs
│ ├── Resources
│ │ ├── AboutResources.txt
│ │ ├── drawable-hdpi
│ │ │ └── icon.png
│ │ ├── drawable-xhdpi
│ │ │ └── icon.png
│ │ ├── drawable-xxhdpi
│ │ │ └── icon.png
│ │ ├── drawable
│ │ │ └── icon.png
│ │ ├── layout
│ │ │ ├── Tabbar.axml
│ │ │ └── Toolbar.axml
│ │ └── values
│ │ │ └── styles.xml
│ ├── Rox.Xamarin.Video.Sample.Android.csproj
│ └── project.json
├── Ios
│ ├── AppDelegate.cs
│ ├── Entitlements.plist
│ ├── Info.plist
│ ├── Main.cs
│ ├── Properties
│ │ └── AssemblyProject.cs
│ ├── Resources
│ │ ├── Default-568h@2x.png
│ │ ├── Default-Portrait.png
│ │ ├── Default-Portrait@2x.png
│ │ ├── Default.png
│ │ ├── Default@2x.png
│ │ ├── Icon-60@2x.png
│ │ ├── Icon-60@3x.png
│ │ ├── Icon-76.png
│ │ ├── Icon-76@2x.png
│ │ ├── Icon-Small-40.png
│ │ ├── Icon-Small-40@2x.png
│ │ ├── Icon-Small-40@3x.png
│ │ ├── Icon-Small.png
│ │ ├── Icon-Small@2x.png
│ │ ├── Icon-Small@3x.png
│ │ └── LaunchScreen.storyboard
│ ├── Rox.Xamarin.Video.Sample.Ios.csproj
│ ├── iTunesArtwork
│ ├── iTunesArtwork@2x
│ └── project.json
├── Portable
│ ├── MainView.xaml
│ ├── MainView.xaml.cs
│ ├── MainViewModel.cs
│ ├── Properties
│ │ └── AssemblyProject.cs
│ ├── Rox.Xamarin.Video.Sample.Portable.csproj
│ ├── VideoApplication.xaml
│ ├── VideoApplication.xaml.cs
│ └── project.json
└── Uwp
│ ├── App.xaml
│ ├── App.xaml.cs
│ ├── Assets
│ ├── LockScreenLogo.scale-200.png
│ ├── SplashScreen.scale-200.png
│ ├── Square150x150Logo.scale-200.png
│ ├── Square44x44Logo.scale-200.png
│ ├── Square44x44Logo.targetsize-24_altform-unplated.png
│ ├── StoreLogo.png
│ └── Wide310x150Logo.scale-200.png
│ ├── MainPage.xaml
│ ├── MainPage.xaml.cs
│ ├── Package.appxmanifest
│ ├── Properties
│ ├── AssemblyProject.cs
│ └── Default.rd.xml
│ ├── Rox.Xamarin.Video.Sample.Uwp.csproj
│ ├── Rox.Xamarin.Video.Sample.Uwp.pfx
│ └── project.json
├── Shared
├── AssemblySolution.cs
└── AssemblyVersion.cs
├── git-clean.sh
├── nuget
└── Rox.Video.Xamarin.nuspec
├── readme.md
└── res
├── nuget-license.txt
├── nuget-logo.png
└── nuget-readme.md
/.gitignore:
--------------------------------------------------------------------------------
1 | \.vs
2 | \.vscode
3 | \bin
4 | \obj
5 |
6 | # Android
7 | Resource.Designer.cs
8 |
9 | # # Compressed
10 | # *.bak
11 | # *.trn
12 | # *.zip
13 | # *.rar
14 | # *.7z
15 | # *.iso
16 |
17 | # # Old
18 | # \packages
19 | # \[B|b]ack[U|u]p
20 | # *.csproj.user
21 | # *.lock.json
22 | # *.nuget.cache
23 | # *.nuget.props
24 | # *.nuget.targets
25 |
26 | # # Old
27 | DTAR_*/
28 | *.suo
29 | *.user
30 |
31 | # Backup
32 | *.bak
33 | *.trn
34 |
35 | # Zip
36 | *.zip
37 | *.rar
38 | *.7z
39 | *.iso
40 |
41 | # Asp.Net Core
42 | *.lock.json
43 | *.nuget.props
44 | *.nuget.targets
45 | artifacts/
46 | node_modules/
47 |
48 | # Asp.Net
49 | ClientBin/
50 | Generated_Code/
51 |
52 | # Test project
53 | TestResults/
54 |
55 | # Database project
56 | *.dbmdl
57 | Import Schema Logs/
58 |
59 | # Database
60 | *.dsn
61 | *.accdb
62 |
63 | # Nuget
64 | packages/
65 | # Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
66 | # !packages/*/build/
67 |
68 | # Resharper
69 | _ReSharper*/
70 | *.[Rr]e[Ss]harper
71 |
72 | # Old VS Installer
73 | # [Dd]ebug/
74 | # [Rr]elease/
75 |
76 | # TFS
77 | *.vspscc
78 | *.vssscc
79 | *.scc
80 |
81 | # OS
82 | Thumbs.db
83 | ehthumbs.db
84 | Desktop.ini
85 | $RECYCLE.BIN/
86 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Rox Video Control for Xamarin.Forms
2 |
3 | The MIT License (MIT)
4 |
5 | Copyright (c) 2016-2021 AiRoBo Software
6 |
7 | All rights reserved.
8 |
9 | Permission is hereby granted, free of charge, to any person obtaining a copy
10 | of this software and associated documentation files (the "Software"), to deal
11 | in the Software without restriction, including without limitation the rights
12 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | copies of the Software, and to permit persons to whom the Software is
14 | furnished to do so, subject to the following conditions:
15 |
16 | The above copyright notice and this permission notice shall be included in all
17 | copies or substantial portions of the Software.
18 |
19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25 | SOFTWARE.
26 |
--------------------------------------------------------------------------------
/Rox.Xamarin.Video.Sample.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 14
4 | VisualStudioVersion = 14.0.25420.1
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Rox.Xamarin.Video.Sample.Android", "Sample\Android\Rox.Xamarin.Video.Sample.Android.csproj", "{DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}"
7 | EndProject
8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Rox.Xamarin.Video.Sample.Ios", "Sample\Ios\Rox.Xamarin.Video.Sample.Ios.csproj", "{D60BF384-3F1A-46F4-ADC3-3447E8109E4D}"
9 | EndProject
10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Rox.Xamarin.Video.Sample.Uwp", "Sample\Uwp\Rox.Xamarin.Video.Sample.Uwp.csproj", "{A1A4CCFF-1691-43EF-9352-6481E15042CA}"
11 | EndProject
12 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Rox.Xamarin.Video.Sample.Portable", "Sample\Portable\Rox.Xamarin.Video.Sample.Portable.csproj", "{3E06D134-E923-4AEF-8127-8CEF6995DC0A}"
13 | EndProject
14 | Global
15 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
16 | Ad-Hoc|Any CPU = Ad-Hoc|Any CPU
17 | Ad-Hoc|ARM = Ad-Hoc|ARM
18 | Ad-Hoc|iPhone = Ad-Hoc|iPhone
19 | Ad-Hoc|iPhoneSimulator = Ad-Hoc|iPhoneSimulator
20 | Ad-Hoc|x64 = Ad-Hoc|x64
21 | Ad-Hoc|x86 = Ad-Hoc|x86
22 | AppStore|Any CPU = AppStore|Any CPU
23 | AppStore|ARM = AppStore|ARM
24 | AppStore|iPhone = AppStore|iPhone
25 | AppStore|iPhoneSimulator = AppStore|iPhoneSimulator
26 | AppStore|x64 = AppStore|x64
27 | AppStore|x86 = AppStore|x86
28 | Debug|Any CPU = Debug|Any CPU
29 | Debug|ARM = Debug|ARM
30 | Debug|iPhone = Debug|iPhone
31 | Debug|iPhoneSimulator = Debug|iPhoneSimulator
32 | Debug|x64 = Debug|x64
33 | Debug|x86 = Debug|x86
34 | Release|Any CPU = Release|Any CPU
35 | Release|ARM = Release|ARM
36 | Release|iPhone = Release|iPhone
37 | Release|iPhoneSimulator = Release|iPhoneSimulator
38 | Release|x64 = Release|x64
39 | Release|x86 = Release|x86
40 | EndGlobalSection
41 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
42 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
43 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
44 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Ad-Hoc|Any CPU.Deploy.0 = Release|Any CPU
45 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU
46 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Ad-Hoc|ARM.Build.0 = Release|Any CPU
47 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Ad-Hoc|ARM.Deploy.0 = Release|Any CPU
48 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
49 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
50 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Ad-Hoc|iPhone.Deploy.0 = Release|Any CPU
51 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
52 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
53 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|Any CPU
54 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU
55 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Ad-Hoc|x64.Build.0 = Release|Any CPU
56 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Ad-Hoc|x64.Deploy.0 = Release|Any CPU
57 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
58 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Ad-Hoc|x86.Build.0 = Release|Any CPU
59 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Ad-Hoc|x86.Deploy.0 = Release|Any CPU
60 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
61 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.AppStore|Any CPU.Build.0 = Release|Any CPU
62 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.AppStore|Any CPU.Deploy.0 = Release|Any CPU
63 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.AppStore|ARM.ActiveCfg = Release|Any CPU
64 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.AppStore|ARM.Build.0 = Release|Any CPU
65 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.AppStore|ARM.Deploy.0 = Release|Any CPU
66 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.AppStore|iPhone.ActiveCfg = Release|Any CPU
67 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.AppStore|iPhone.Build.0 = Release|Any CPU
68 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.AppStore|iPhone.Deploy.0 = Release|Any CPU
69 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
70 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
71 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.AppStore|iPhoneSimulator.Deploy.0 = Release|Any CPU
72 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.AppStore|x64.ActiveCfg = Release|Any CPU
73 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.AppStore|x64.Build.0 = Release|Any CPU
74 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.AppStore|x64.Deploy.0 = Release|Any CPU
75 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.AppStore|x86.ActiveCfg = Release|Any CPU
76 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.AppStore|x86.Build.0 = Release|Any CPU
77 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.AppStore|x86.Deploy.0 = Release|Any CPU
78 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
79 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
80 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
81 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Debug|ARM.ActiveCfg = Debug|Any CPU
82 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Debug|ARM.Build.0 = Debug|Any CPU
83 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Debug|ARM.Deploy.0 = Debug|Any CPU
84 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Debug|iPhone.ActiveCfg = Debug|Any CPU
85 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Debug|iPhone.Build.0 = Debug|Any CPU
86 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Debug|iPhone.Deploy.0 = Debug|Any CPU
87 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
88 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
89 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Debug|iPhoneSimulator.Deploy.0 = Debug|Any CPU
90 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Debug|x64.ActiveCfg = Debug|Any CPU
91 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Debug|x64.Build.0 = Debug|Any CPU
92 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Debug|x64.Deploy.0 = Debug|Any CPU
93 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Debug|x86.ActiveCfg = Debug|Any CPU
94 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Debug|x86.Build.0 = Debug|Any CPU
95 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Debug|x86.Deploy.0 = Debug|Any CPU
96 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
97 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Release|Any CPU.Build.0 = Release|Any CPU
98 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Release|Any CPU.Deploy.0 = Release|Any CPU
99 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Release|ARM.ActiveCfg = Release|Any CPU
100 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Release|ARM.Build.0 = Release|Any CPU
101 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Release|ARM.Deploy.0 = Release|Any CPU
102 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Release|iPhone.ActiveCfg = Release|Any CPU
103 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Release|iPhone.Build.0 = Release|Any CPU
104 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Release|iPhone.Deploy.0 = Release|Any CPU
105 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
106 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
107 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Release|iPhoneSimulator.Deploy.0 = Release|Any CPU
108 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Release|x64.ActiveCfg = Release|Any CPU
109 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Release|x64.Build.0 = Release|Any CPU
110 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Release|x64.Deploy.0 = Release|Any CPU
111 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Release|x86.ActiveCfg = Release|Any CPU
112 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Release|x86.Build.0 = Release|Any CPU
113 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}.Release|x86.Deploy.0 = Release|Any CPU
114 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Ad-Hoc|Any CPU.ActiveCfg = Ad-Hoc|iPhone
115 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Ad-Hoc|ARM.ActiveCfg = Ad-Hoc|iPhone
116 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Ad-Hoc|iPhone.ActiveCfg = Ad-Hoc|iPhone
117 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Ad-Hoc|iPhone.Build.0 = Ad-Hoc|iPhone
118 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Ad-Hoc|iPhoneSimulator
119 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Ad-Hoc|iPhoneSimulator.Build.0 = Ad-Hoc|iPhoneSimulator
120 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Ad-Hoc|x64.ActiveCfg = Ad-Hoc|iPhone
121 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Ad-Hoc|x86.ActiveCfg = Ad-Hoc|iPhone
122 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.AppStore|Any CPU.ActiveCfg = AppStore|iPhone
123 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.AppStore|ARM.ActiveCfg = AppStore|iPhone
124 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.AppStore|iPhone.ActiveCfg = AppStore|iPhone
125 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.AppStore|iPhone.Build.0 = AppStore|iPhone
126 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.AppStore|iPhoneSimulator.ActiveCfg = AppStore|iPhoneSimulator
127 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.AppStore|iPhoneSimulator.Build.0 = AppStore|iPhoneSimulator
128 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.AppStore|x64.ActiveCfg = AppStore|iPhone
129 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.AppStore|x86.ActiveCfg = AppStore|iPhone
130 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Debug|Any CPU.ActiveCfg = Debug|iPhone
131 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Debug|ARM.ActiveCfg = Debug|iPhone
132 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Debug|iPhone.ActiveCfg = Debug|iPhone
133 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Debug|iPhone.Build.0 = Debug|iPhone
134 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Debug|iPhoneSimulator.ActiveCfg = Debug|iPhoneSimulator
135 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Debug|iPhoneSimulator.Build.0 = Debug|iPhoneSimulator
136 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Debug|x64.ActiveCfg = Debug|iPhone
137 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Debug|x86.ActiveCfg = Debug|iPhone
138 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Release|Any CPU.ActiveCfg = Release|iPhone
139 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Release|ARM.ActiveCfg = Release|iPhone
140 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Release|iPhone.ActiveCfg = Release|iPhone
141 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Release|iPhone.Build.0 = Release|iPhone
142 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Release|iPhoneSimulator.ActiveCfg = Release|iPhoneSimulator
143 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Release|iPhoneSimulator.Build.0 = Release|iPhoneSimulator
144 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Release|x64.ActiveCfg = Release|iPhone
145 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}.Release|x86.ActiveCfg = Release|iPhone
146 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Ad-Hoc|Any CPU.ActiveCfg = Release|x86
147 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Ad-Hoc|Any CPU.Build.0 = Release|x86
148 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Ad-Hoc|Any CPU.Deploy.0 = Release|x86
149 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Ad-Hoc|ARM.ActiveCfg = Release|ARM
150 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Ad-Hoc|ARM.Build.0 = Release|ARM
151 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Ad-Hoc|ARM.Deploy.0 = Release|ARM
152 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Ad-Hoc|iPhone.ActiveCfg = Release|x86
153 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Ad-Hoc|iPhone.Build.0 = Release|x86
154 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Ad-Hoc|iPhone.Deploy.0 = Release|x86
155 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|x86
156 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|x86
157 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Ad-Hoc|iPhoneSimulator.Deploy.0 = Release|x86
158 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Ad-Hoc|x64.ActiveCfg = Release|x64
159 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Ad-Hoc|x64.Build.0 = Release|x64
160 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Ad-Hoc|x64.Deploy.0 = Release|x64
161 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Ad-Hoc|x86.ActiveCfg = Release|x86
162 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Ad-Hoc|x86.Build.0 = Release|x86
163 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Ad-Hoc|x86.Deploy.0 = Release|x86
164 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.AppStore|Any CPU.ActiveCfg = Release|x86
165 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.AppStore|Any CPU.Build.0 = Release|x86
166 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.AppStore|Any CPU.Deploy.0 = Release|x86
167 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.AppStore|ARM.ActiveCfg = Release|ARM
168 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.AppStore|ARM.Build.0 = Release|ARM
169 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.AppStore|ARM.Deploy.0 = Release|ARM
170 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.AppStore|iPhone.ActiveCfg = Release|x86
171 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.AppStore|iPhone.Build.0 = Release|x86
172 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.AppStore|iPhone.Deploy.0 = Release|x86
173 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.AppStore|iPhoneSimulator.ActiveCfg = Release|x86
174 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.AppStore|iPhoneSimulator.Build.0 = Release|x86
175 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.AppStore|iPhoneSimulator.Deploy.0 = Release|x86
176 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.AppStore|x64.ActiveCfg = Release|x64
177 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.AppStore|x64.Build.0 = Release|x64
178 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.AppStore|x64.Deploy.0 = Release|x64
179 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.AppStore|x86.ActiveCfg = Release|x86
180 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.AppStore|x86.Build.0 = Release|x86
181 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.AppStore|x86.Deploy.0 = Release|x86
182 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Debug|Any CPU.ActiveCfg = Debug|x86
183 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Debug|ARM.ActiveCfg = Debug|ARM
184 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Debug|ARM.Build.0 = Debug|ARM
185 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Debug|ARM.Deploy.0 = Debug|ARM
186 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Debug|iPhone.ActiveCfg = Debug|x86
187 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Debug|iPhoneSimulator.ActiveCfg = Debug|x86
188 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Debug|x64.ActiveCfg = Debug|x64
189 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Debug|x64.Build.0 = Debug|x64
190 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Debug|x64.Deploy.0 = Debug|x64
191 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Debug|x86.ActiveCfg = Debug|x86
192 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Debug|x86.Build.0 = Debug|x86
193 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Debug|x86.Deploy.0 = Debug|x86
194 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Release|Any CPU.ActiveCfg = Release|x86
195 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Release|ARM.ActiveCfg = Release|ARM
196 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Release|ARM.Build.0 = Release|ARM
197 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Release|ARM.Deploy.0 = Release|ARM
198 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Release|iPhone.ActiveCfg = Release|x86
199 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Release|iPhoneSimulator.ActiveCfg = Release|x86
200 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Release|x64.ActiveCfg = Release|x64
201 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Release|x64.Build.0 = Release|x64
202 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Release|x64.Deploy.0 = Release|x64
203 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Release|x86.ActiveCfg = Release|x86
204 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Release|x86.Build.0 = Release|x86
205 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}.Release|x86.Deploy.0 = Release|x86
206 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
207 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
208 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Ad-Hoc|ARM.ActiveCfg = Release|Any CPU
209 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Ad-Hoc|ARM.Build.0 = Release|Any CPU
210 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
211 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
212 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
213 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
214 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Ad-Hoc|x64.ActiveCfg = Release|Any CPU
215 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Ad-Hoc|x64.Build.0 = Release|Any CPU
216 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Ad-Hoc|x86.ActiveCfg = Release|Any CPU
217 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Ad-Hoc|x86.Build.0 = Release|Any CPU
218 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
219 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.AppStore|Any CPU.Build.0 = Release|Any CPU
220 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.AppStore|ARM.ActiveCfg = Release|Any CPU
221 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.AppStore|ARM.Build.0 = Release|Any CPU
222 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.AppStore|iPhone.ActiveCfg = Release|Any CPU
223 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.AppStore|iPhone.Build.0 = Release|Any CPU
224 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
225 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
226 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.AppStore|x64.ActiveCfg = Release|Any CPU
227 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.AppStore|x64.Build.0 = Release|Any CPU
228 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.AppStore|x86.ActiveCfg = Release|Any CPU
229 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.AppStore|x86.Build.0 = Release|Any CPU
230 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
231 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Debug|Any CPU.Build.0 = Debug|Any CPU
232 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Debug|ARM.ActiveCfg = Debug|Any CPU
233 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Debug|ARM.Build.0 = Debug|Any CPU
234 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Debug|iPhone.ActiveCfg = Debug|Any CPU
235 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Debug|iPhone.Build.0 = Debug|Any CPU
236 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
237 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
238 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Debug|x64.ActiveCfg = Debug|Any CPU
239 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Debug|x64.Build.0 = Debug|Any CPU
240 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Debug|x86.ActiveCfg = Debug|Any CPU
241 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Debug|x86.Build.0 = Debug|Any CPU
242 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Release|Any CPU.ActiveCfg = Release|Any CPU
243 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Release|Any CPU.Build.0 = Release|Any CPU
244 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Release|ARM.ActiveCfg = Release|Any CPU
245 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Release|ARM.Build.0 = Release|Any CPU
246 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Release|iPhone.ActiveCfg = Release|Any CPU
247 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Release|iPhone.Build.0 = Release|Any CPU
248 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
249 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
250 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Release|x64.ActiveCfg = Release|Any CPU
251 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Release|x64.Build.0 = Release|Any CPU
252 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Release|x86.ActiveCfg = Release|Any CPU
253 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}.Release|x86.Build.0 = Release|Any CPU
254 | EndGlobalSection
255 | GlobalSection(SolutionProperties) = preSolution
256 | HideSolutionNode = FALSE
257 | EndGlobalSection
258 | EndGlobal
259 |
--------------------------------------------------------------------------------
/Sample/Android/Assets/AboutAssets.txt:
--------------------------------------------------------------------------------
1 | Any raw assets you want to be deployed with your application can be placed in
2 | this directory (and child directories) and given a Build Action of "AndroidAsset".
3 |
4 | These files will be deployed with you package and will be accessible using Android's
5 | AssetManager, like this:
6 |
7 | public class ReadAsset : Activity
8 | {
9 | protected override void OnCreate (Bundle bundle)
10 | {
11 | base.OnCreate (bundle);
12 |
13 | InputStream input = Assets.Open ("my_asset.txt");
14 | }
15 | }
16 |
17 | Additionally, some Android functions will automatically load asset files:
18 |
19 | Typeface tf = Typeface.CreateFromAsset (Context.Assets, "fonts/samplefont.ttf");
20 |
--------------------------------------------------------------------------------
/Sample/Android/MainActivity.cs:
--------------------------------------------------------------------------------
1 | using Android.App;
2 | using Android.Content.PM;
3 | using Android.OS;
4 |
5 | namespace Rox
6 | {
7 | [Activity(Label = "VideoApplication", Icon = "@drawable/icon", Theme = "@style/MainTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
8 | public class MainActivity
9 | : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
10 | {
11 | protected override void OnCreate(Bundle bundle)
12 | {
13 | TabLayoutResource = Resource.Layout.Tabbar;
14 | ToolbarResource = Resource.Layout.Toolbar;
15 |
16 | base.OnCreate(bundle);
17 |
18 | global::Xamarin.Forms.Forms.Init(this, bundle);
19 |
20 | LoadApplication(new VideoApplication());
21 | }
22 | }
23 | }
--------------------------------------------------------------------------------
/Sample/Android/Properties/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Sample/Android/Properties/AssemblyProject.cs:
--------------------------------------------------------------------------------
1 | [assembly: System.Reflection.AssemblyTitle("Rox.Xamarin.Video.Sample.Android")]
2 | [assembly: Android.App.UsesPermission(Android.Manifest.Permission.Internet)]
3 | [assembly: Android.App.UsesPermission(Android.Manifest.Permission.WriteExternalStorage)]
--------------------------------------------------------------------------------
/Sample/Android/Resources/AboutResources.txt:
--------------------------------------------------------------------------------
1 | Images, layout descriptions, binary blobs and string dictionaries can be included
2 | in your application as resource files. Various Android APIs are designed to
3 | operate on the resource IDs instead of dealing with images, strings or binary blobs
4 | directly.
5 |
6 | For example, a sample Android app that contains a user interface layout (main.xml),
7 | an internationalization string table (strings.xml) and some icons (drawable-XXX/icon.png)
8 | would keep its resources in the "Resources" directory of the application:
9 |
10 | Resources/
11 | drawable-hdpi/
12 | icon.png
13 |
14 | drawable-ldpi/
15 | icon.png
16 |
17 | drawable-mdpi/
18 | icon.png
19 |
20 | layout/
21 | main.xml
22 |
23 | values/
24 | strings.xml
25 |
26 | In order to get the build system to recognize Android resources, set the build action to
27 | "AndroidResource". The native Android APIs do not operate directly with filenames, but
28 | instead operate on resource IDs. When you compile an Android application that uses resources,
29 | the build system will package the resources for distribution and generate a class called
30 | "Resource" that contains the tokens for each one of the resources included. For example,
31 | for the above Resources layout, this is what the Resource class would expose:
32 |
33 | public class Resource {
34 | public class drawable {
35 | public const int icon = 0x123;
36 | }
37 |
38 | public class layout {
39 | public const int main = 0x456;
40 | }
41 |
42 | public class strings {
43 | public const int first_string = 0xabc;
44 | public const int second_string = 0xbcd;
45 | }
46 | }
47 |
48 | You would then use R.drawable.icon to reference the drawable/icon.png file, or Resource.layout.main
49 | to reference the layout/main.xml file, or Resource.strings.first_string to reference the first
50 | string in the dictionary file values/strings.xml.
51 |
--------------------------------------------------------------------------------
/Sample/Android/Resources/drawable-hdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Android/Resources/drawable-hdpi/icon.png
--------------------------------------------------------------------------------
/Sample/Android/Resources/drawable-xhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Android/Resources/drawable-xhdpi/icon.png
--------------------------------------------------------------------------------
/Sample/Android/Resources/drawable-xxhdpi/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Android/Resources/drawable-xxhdpi/icon.png
--------------------------------------------------------------------------------
/Sample/Android/Resources/drawable/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Android/Resources/drawable/icon.png
--------------------------------------------------------------------------------
/Sample/Android/Resources/layout/Tabbar.axml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
--------------------------------------------------------------------------------
/Sample/Android/Resources/layout/Toolbar.axml:
--------------------------------------------------------------------------------
1 |
9 |
10 |
--------------------------------------------------------------------------------
/Sample/Android/Resources/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
26 |
27 |
30 |
31 |
--------------------------------------------------------------------------------
/Sample/Android/Rox.Xamarin.Video.Sample.Android.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | AnyCPU
6 | 8.0.30703
7 | 2.0
8 | {DBDF2B7B-4B41-4F53-9DAE-2BF4B6B647A5}
9 | {EFBA0AD7-5A72-4C68-AF49-83D382785DCF};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
10 | Library
11 | Properties
12 | Rox
13 | Rox.Xamarin.Video.Sample.Android
14 | 512
15 | true
16 | Resources\Resource.Designer.cs
17 | Off
18 | Properties\AndroidManifest.xml
19 | true
20 | v7.0
21 | armeabi,armeabi-v7a,x86
22 |
23 |
24 |
25 |
26 |
27 |
28 | true
29 |
30 |
31 | true
32 | full
33 | false
34 | bin\Debug\
35 | DEBUG;TRACE
36 | prompt
37 | 4
38 | True
39 | None
40 |
41 |
42 | pdbonly
43 | true
44 | bin\Release\
45 | TRACE
46 | prompt
47 | 4
48 | False
49 | SdkOnly
50 | True
51 | False
52 | False
53 | armeabi,armeabi-v7a,x86,x86_64,arm64-v8a
54 | Xamarin
55 | False
56 | False
57 | False
58 | False
59 | False
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 | Properties\AssemblySolution.cs
72 |
73 |
74 | Properties\AssemblyVersion.cs
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}
102 | Rox.Xamarin.Video.Sample.Portable
103 |
104 |
105 |
106 |
113 |
--------------------------------------------------------------------------------
/Sample/Android/project.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "Rox.Xamarin.Video": "2.1.0",
4 | "Xamarin.Forms": "2.3.2.127"
5 | },
6 | "frameworks": {
7 | "MonoAndroid,Version=v7.0": {}
8 | },
9 | "runtimes": {
10 | "win": {}
11 | }
12 | }
--------------------------------------------------------------------------------
/Sample/Ios/AppDelegate.cs:
--------------------------------------------------------------------------------
1 | using Foundation;
2 | using UIKit;
3 |
4 | namespace Rox
5 | {
6 | [Register("AppDelegate")]
7 | public partial class AppDelegate
8 | : global::Xamarin.Forms.Platform.iOS.FormsApplicationDelegate
9 | {
10 | public override bool FinishedLaunching(UIApplication app, NSDictionary options)
11 | {
12 | Rox.VideoIos.Init();
13 |
14 | global::Xamarin.Forms.Forms.Init();
15 |
16 | LoadApplication(new VideoApplication());
17 |
18 | return base.FinishedLaunching(app, options);
19 | }
20 | }
21 | }
--------------------------------------------------------------------------------
/Sample/Ios/Entitlements.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Sample/Ios/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | UIDeviceFamily
6 |
7 | 1
8 | 2
9 |
10 | UISupportedInterfaceOrientations
11 |
12 | UIInterfaceOrientationPortrait
13 | UIInterfaceOrientationLandscapeLeft
14 | UIInterfaceOrientationLandscapeRight
15 |
16 | UISupportedInterfaceOrientations~ipad
17 |
18 | UIInterfaceOrientationPortrait
19 | UIInterfaceOrientationPortraitUpsideDown
20 | UIInterfaceOrientationLandscapeLeft
21 | UIInterfaceOrientationLandscapeRight
22 |
23 | MinimumOSVersion
24 | 6.0
25 | CFBundleDisplayName
26 | Rox.Xamarin.Video.Sample.Ios
27 | CFBundleIdentifier
28 | Rox.fp.Xamarin.Video.Sample
29 | CFBundleVersion
30 | 1
31 | CFBundleIconFiles
32 |
33 | Icon-60@2x.png
34 | Icon-76.png
35 | Icon-76@2x.png
36 | Default.png
37 | Default@2x.png
38 | Default-568h@2x.png
39 | Default-Portrait.png
40 | Default-Portrait@2x.png
41 | Icon-Small-40.png
42 | Icon-Small-40@2x.png
43 | Icon-Small.png
44 | Icon-Small@2x.png
45 |
46 | UILaunchStoryboardName
47 | LaunchScreen
48 | CFBundleShortVersionString
49 | 1.0
50 | NSAppTransportSecurity
51 |
52 | NSAllowsArbitraryLoads
53 |
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/Sample/Ios/Main.cs:
--------------------------------------------------------------------------------
1 | using UIKit;
2 |
3 | namespace Rox
4 | {
5 | public class Application
6 | {
7 | static void Main(string[] args)
8 | {
9 | UIApplication.Main(args, null, "AppDelegate");
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/Sample/Ios/Properties/AssemblyProject.cs:
--------------------------------------------------------------------------------
1 | [assembly: System.Reflection.AssemblyTitle("Rox.Xamarin.Video.Sample.Ios")]
--------------------------------------------------------------------------------
/Sample/Ios/Resources/Default-568h@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Ios/Resources/Default-568h@2x.png
--------------------------------------------------------------------------------
/Sample/Ios/Resources/Default-Portrait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Ios/Resources/Default-Portrait.png
--------------------------------------------------------------------------------
/Sample/Ios/Resources/Default-Portrait@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Ios/Resources/Default-Portrait@2x.png
--------------------------------------------------------------------------------
/Sample/Ios/Resources/Default.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Ios/Resources/Default.png
--------------------------------------------------------------------------------
/Sample/Ios/Resources/Default@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Ios/Resources/Default@2x.png
--------------------------------------------------------------------------------
/Sample/Ios/Resources/Icon-60@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Ios/Resources/Icon-60@2x.png
--------------------------------------------------------------------------------
/Sample/Ios/Resources/Icon-60@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Ios/Resources/Icon-60@3x.png
--------------------------------------------------------------------------------
/Sample/Ios/Resources/Icon-76.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Ios/Resources/Icon-76.png
--------------------------------------------------------------------------------
/Sample/Ios/Resources/Icon-76@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Ios/Resources/Icon-76@2x.png
--------------------------------------------------------------------------------
/Sample/Ios/Resources/Icon-Small-40.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Ios/Resources/Icon-Small-40.png
--------------------------------------------------------------------------------
/Sample/Ios/Resources/Icon-Small-40@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Ios/Resources/Icon-Small-40@2x.png
--------------------------------------------------------------------------------
/Sample/Ios/Resources/Icon-Small-40@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Ios/Resources/Icon-Small-40@3x.png
--------------------------------------------------------------------------------
/Sample/Ios/Resources/Icon-Small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Ios/Resources/Icon-Small.png
--------------------------------------------------------------------------------
/Sample/Ios/Resources/Icon-Small@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Ios/Resources/Icon-Small@2x.png
--------------------------------------------------------------------------------
/Sample/Ios/Resources/Icon-Small@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Ios/Resources/Icon-Small@3x.png
--------------------------------------------------------------------------------
/Sample/Ios/Resources/LaunchScreen.storyboard:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/Sample/Ios/Rox.Xamarin.Video.Sample.Ios.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Debug
5 | iPhoneSimulator
6 | 8.0.30703
7 | 2.0
8 | {D60BF384-3F1A-46F4-ADC3-3447E8109E4D}
9 | {FEACFBD2-3405-455C-9665-78FE426C6842};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
10 | Exe
11 | Rox
12 | Resources
13 | RoxXamarinVideoSampleIos
14 |
15 |
16 | true
17 |
18 |
19 | true
20 | full
21 | false
22 | bin\iPhoneSimulator\Debug
23 | DEBUG
24 | prompt
25 | 4
26 | false
27 | i386, x86_64
28 | None
29 | true
30 |
31 |
32 | none
33 | true
34 | bin\iPhoneSimulator\Release
35 | prompt
36 | 4
37 | None
38 | i386, x86_64
39 | false
40 |
41 |
42 | true
43 | full
44 | false
45 | bin\iPhone\Debug
46 | DEBUG
47 | prompt
48 | 4
49 | false
50 | ARMv7, ARM64
51 | iPhone Developer
52 | true
53 | Entitlements.plist
54 |
55 |
56 | none
57 | true
58 | bin\iPhone\Release
59 | prompt
60 | 4
61 | ARMv7, ARM64
62 | false
63 | iPhone Developer
64 | Entitlements.plist
65 |
66 |
67 | none
68 | True
69 | bin\iPhone\Ad-Hoc
70 | prompt
71 | 4
72 | False
73 | ARMv7, ARM64
74 | True
75 | Automatic:AdHoc
76 | iPhone Distribution
77 | Entitlements.plist
78 |
79 |
80 | none
81 | True
82 | bin\iPhone\AppStore
83 | prompt
84 | 4
85 | False
86 | ARMv7, ARM64
87 | Automatic:AppStore
88 | iPhone Distribution
89 | Entitlements.plist
90 |
91 |
92 |
93 | Properties\AssemblySolution.cs
94 |
95 |
96 | Properties\AssemblyVersion.cs
97 |
98 |
99 |
100 |
101 |
102 | Designer
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 |
130 |
131 |
132 |
133 |
134 |
135 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}
136 | Rox.Xamarin.Video.Sample.Portable
137 |
138 |
139 |
140 |
--------------------------------------------------------------------------------
/Sample/Ios/iTunesArtwork:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Ios/iTunesArtwork
--------------------------------------------------------------------------------
/Sample/Ios/iTunesArtwork@2x:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Ios/iTunesArtwork@2x
--------------------------------------------------------------------------------
/Sample/Ios/project.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "Rox.Xamarin.Video": "2.1.0",
4 | "Xamarin.Forms": "2.3.2.127"
5 | },
6 | "frameworks": {
7 | "Xamarin.iOS,Version=v1.0": {}
8 | },
9 | "runtimes": {
10 | "win": {}
11 | }
12 | }
--------------------------------------------------------------------------------
/Sample/Portable/MainView.xaml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/Sample/Portable/MainView.xaml.cs:
--------------------------------------------------------------------------------
1 | using Rox;
2 | using Xamarin.Forms;
3 |
4 | namespace Rox
5 | {
6 | public partial class MainView
7 | : ContentPage
8 | {
9 | public MainView()
10 | {
11 | InitializeComponent();
12 | }
13 |
14 | public VideoView GetVideoView()
15 | {
16 | return VideoView;
17 | }
18 | }
19 | }
--------------------------------------------------------------------------------
/Sample/Portable/MainViewModel.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.ComponentModel;
3 | using System.Windows.Input;
4 | using Xamarin.Forms;
5 |
6 | namespace Rox
7 | {
8 | public class MainViewModel
9 | : INotifyPropertyChanged
10 | {
11 | private readonly VideoView VideoView;
12 |
13 | public MainViewModel(VideoView videoView)
14 | {
15 | VideoView = videoView;
16 | }
17 |
18 | private bool _AutoPlay = false;
19 |
20 | public bool AutoPlay
21 | {
22 | get { return _AutoPlay; }
23 | set
24 | {
25 | _AutoPlay = value;
26 |
27 | OnPropertyChanged(nameof(AutoPlay));
28 | }
29 | }
30 |
31 | private bool _FullScreen = false;
32 |
33 | public bool FullScreen
34 | {
35 | get { return _FullScreen; }
36 | set
37 | {
38 | _FullScreen = value;
39 |
40 | OnPropertyChanged(nameof(FullScreen));
41 | }
42 | }
43 |
44 | private double _Volume = 1;
45 |
46 | public double Volume
47 | {
48 | get { return _Volume; }
49 | set
50 | {
51 | _Volume = value;
52 |
53 | OnPropertyChanged(nameof(Volume));
54 | OnPropertyChanged(nameof(SliderVolume));
55 | }
56 | }
57 |
58 | public double SliderVolume
59 | {
60 | get { return _Volume*100; }
61 | set
62 | {
63 | try
64 | {
65 | _Volume = value/100;
66 | }
67 | catch
68 | {
69 | _Volume = 0;
70 | }
71 |
72 | OnPropertyChanged(nameof(Volume));
73 | OnPropertyChanged(nameof(SliderVolume));
74 | }
75 | }
76 |
77 | private bool _LoopPlay = false;
78 |
79 | public bool LoopPlay
80 | {
81 | get { return _LoopPlay; }
82 | set
83 | {
84 | _LoopPlay = value;
85 |
86 | OnPropertyChanged(nameof(LoopPlay));
87 | }
88 | }
89 |
90 | private bool _ShowController = false;
91 |
92 | public bool ShowController
93 | {
94 | get { return _ShowController; }
95 | set
96 | {
97 | _ShowController = value;
98 |
99 | OnPropertyChanged(nameof(ShowController));
100 | }
101 | }
102 |
103 | private bool _Muted = false;
104 |
105 | public bool Muted
106 | {
107 | get { return _Muted; }
108 | set
109 | {
110 | _Muted = value;
111 |
112 | OnPropertyChanged(nameof(Muted));
113 | }
114 | }
115 |
116 | private TimeSpan _Duration;
117 |
118 | public TimeSpan Duration
119 | {
120 | get { return _Duration; }
121 | }
122 |
123 | public double SliderDuration
124 | {
125 | get
126 | {
127 | double totalMilliseconds = _Duration.TotalMilliseconds;
128 | if (totalMilliseconds <= 0)
129 | {
130 | totalMilliseconds = 1;
131 | }
132 | return totalMilliseconds;
133 | }
134 | }
135 |
136 | private string _LabelVideoStatus;
137 |
138 | public string LabelVideoStatus
139 | {
140 | get { return _LabelVideoStatus; }
141 | }
142 |
143 | private TimeSpan _Position;
144 |
145 | public TimeSpan Position
146 | {
147 | get { return _Position; }
148 | set
149 | {
150 | _Position = value;
151 |
152 | OnPropertyChanged(nameof(Position));
153 | OnPropertyChanged(nameof(SliderPosition));
154 | }
155 | }
156 |
157 | public double SliderPosition
158 | {
159 | get { return _Position.TotalMilliseconds; }
160 | set
161 | {
162 | try
163 | {
164 | _Position = TimeSpan.FromMilliseconds(value);
165 | }
166 | catch
167 | {
168 | _Position = TimeSpan.Zero;
169 | }
170 |
171 | OnPropertyChanged(nameof(Position));
172 | OnPropertyChanged(nameof(SliderPosition));
173 | }
174 | }
175 |
176 | private TimeSpan _PositionInterval = TimeSpan.FromMilliseconds(500);
177 |
178 | public TimeSpan PositionInterval
179 | {
180 | get { return _PositionInterval; }
181 | set
182 | {
183 | _PositionInterval = value;
184 |
185 | OnPropertyChanged(nameof(PositionInterval));
186 | OnPropertyChanged(nameof(EntryPositionInterval));
187 | }
188 | }
189 |
190 | public string EntryPositionInterval
191 | {
192 | get { return _PositionInterval.TotalMilliseconds.ToString(); }
193 | set
194 | {
195 | int positionIntervalMilliseconds;
196 | if (int.TryParse(value, out positionIntervalMilliseconds))
197 | {
198 | _PositionInterval = TimeSpan.FromMilliseconds(positionIntervalMilliseconds);
199 | }
200 | else
201 | {
202 | _PositionInterval = TimeSpan.Zero;
203 | }
204 |
205 | OnPropertyChanged(nameof(PositionInterval));
206 | OnPropertyChanged(nameof(EntryPositionInterval));
207 | }
208 | }
209 |
210 | public ICommand PropertyChangedCommand
211 | {
212 | get
213 | {
214 | return new Command((propertyName) =>
215 | {
216 | switch (propertyName)
217 | {
218 | case nameof(VideoView.VideoState):
219 | {
220 | _LabelVideoStatus = VideoView.VideoState.ToString();
221 |
222 | OnPropertyChanged(nameof(LabelVideoStatus));
223 | break;
224 | }
225 | case nameof(VideoView.Duration):
226 | {
227 | _Duration = VideoView.Duration;
228 |
229 | OnPropertyChanged(nameof(Duration));
230 | OnPropertyChanged(nameof(SliderDuration));
231 | break;
232 | }
233 | }
234 | });
235 | }
236 | }
237 |
238 | private string _Source = "http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_1mb.mp4";
239 |
240 | public string EntrySource
241 | {
242 | get { return _Source; }
243 | set
244 | {
245 | _Source = value;
246 |
247 | OnPropertyChanged(nameof(EntrySource));
248 | OnPropertyChanged(nameof(VideoSource));
249 | }
250 | }
251 |
252 | public ImageSource VideoSource
253 | {
254 | get
255 | {
256 | ImageSource videoSource = null;
257 | try
258 | {
259 | ImageSourceConverter imageSourceConverter = new ImageSourceConverter();
260 | videoSource = (ImageSource) imageSourceConverter.ConvertFromInvariantString(_Source);
261 | }
262 | catch
263 | {
264 | }
265 | return videoSource;
266 | }
267 | }
268 |
269 | public ICommand PlayCommand
270 | {
271 | get
272 | {
273 | return new Command(async () =>
274 | {
275 | await VideoView.Start();
276 | });
277 | }
278 | }
279 |
280 | public ICommand PauseCommand
281 | {
282 | get
283 | {
284 | return new Command(async () =>
285 | {
286 | await VideoView.Pause();
287 | });
288 | }
289 | }
290 |
291 | public ICommand StopCommand
292 | {
293 | get
294 | {
295 | return new Command(async () =>
296 | {
297 | await VideoView.Stop();
298 | });
299 | }
300 | }
301 |
302 | public event PropertyChangedEventHandler PropertyChanged;
303 |
304 | protected void OnPropertyChanged(string propertyName)
305 | {
306 | PropertyChangedEventArgs eventArgs = new PropertyChangedEventArgs(propertyName);
307 |
308 | PropertyChanged?.Invoke(this, eventArgs);
309 | }
310 | }
311 | }
--------------------------------------------------------------------------------
/Sample/Portable/Properties/AssemblyProject.cs:
--------------------------------------------------------------------------------
1 | [assembly: System.Reflection.AssemblyTitle("Rox.Xamarin.Video.Sample.Portable")]
2 | [assembly: Xamarin.Forms.Xaml.XamlCompilation(Xamarin.Forms.Xaml.XamlCompilationOptions.Compile)]
--------------------------------------------------------------------------------
/Sample/Portable/Rox.Xamarin.Video.Sample.Portable.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | 10.0
6 | Debug
7 | AnyCPU
8 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}
9 | Library
10 | Properties
11 | Rox
12 | Rox.Xamarin.Video.Sample.Portable
13 | v4.5
14 | Profile259
15 | 512
16 | {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
17 |
18 |
19 | true
20 |
21 |
22 | true
23 | full
24 | false
25 | bin\Debug\
26 | DEBUG;TRACE
27 | prompt
28 | 4
29 |
30 |
31 | pdbonly
32 | true
33 | bin\Release\
34 | TRACE
35 | prompt
36 | 4
37 |
38 |
39 |
40 | Properties\AssemblySolution.cs
41 |
42 |
43 | Properties\AssemblyVersion.cs
44 |
45 |
46 |
47 | VideoApplication.xaml
48 |
49 |
50 | MainView.xaml
51 |
52 |
53 |
54 |
55 |
56 | Designer
57 | MSBuild:UpdateDesignTimeXaml
58 |
59 |
60 | Designer
61 | MSBuild:UpdateDesignTimeXaml
62 |
63 |
64 |
65 |
66 |
67 |
68 |
75 |
--------------------------------------------------------------------------------
/Sample/Portable/VideoApplication.xaml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/Sample/Portable/VideoApplication.xaml.cs:
--------------------------------------------------------------------------------
1 | using Xamarin.Forms;
2 |
3 | namespace Rox
4 | {
5 | public partial class VideoApplication
6 | : Application
7 | {
8 | public VideoApplication()
9 | {
10 | InitializeComponent();
11 |
12 | MainView mainView = new MainView();
13 | MainViewModel mainViewModel = new MainViewModel(mainView.GetVideoView());
14 | mainView.BindingContext = mainViewModel;
15 |
16 | MainPage = mainView;
17 | }
18 |
19 | protected override void OnStart()
20 | {
21 | // Handle when your app starts
22 | }
23 |
24 | protected override void OnSleep()
25 | {
26 | // Handle when your app sleeps
27 | }
28 |
29 | protected override void OnResume()
30 | {
31 | // Handle when your app resumes
32 | }
33 | }
34 | }
--------------------------------------------------------------------------------
/Sample/Portable/project.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "Rox.Xamarin.Video": "2.1.0",
4 | "Xamarin.Forms": "2.3.2.127"
5 | },
6 | "frameworks": {
7 | ".NETPortable,Version=v4.5,Profile=Profile259": {}
8 | },
9 | "runtimes": {
10 | "win": {}
11 | }
12 | }
--------------------------------------------------------------------------------
/Sample/Uwp/App.xaml:
--------------------------------------------------------------------------------
1 |
6 |
--------------------------------------------------------------------------------
/Sample/Uwp/App.xaml.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using Windows.ApplicationModel;
3 | using Windows.ApplicationModel.Activation;
4 | using Windows.UI.Xaml;
5 | using Windows.UI.Xaml.Controls;
6 | using Windows.UI.Xaml.Navigation;
7 |
8 | namespace Rox
9 | {
10 | sealed partial class App
11 | : Application
12 | {
13 | public App()
14 | {
15 | this.InitializeComponent();
16 | this.Suspending += OnSuspending;
17 | }
18 |
19 | protected override void OnLaunched(LaunchActivatedEventArgs e)
20 | {
21 |
22 | #if DEBUG
23 | if (System.Diagnostics.Debugger.IsAttached)
24 | {
25 | this.DebugSettings.EnableFrameRateCounter = true;
26 | }
27 | #endif
28 |
29 | Frame rootFrame = Window.Current.Content as Frame;
30 | if (rootFrame == null)
31 | {
32 | rootFrame = new Frame();
33 | rootFrame.NavigationFailed += OnNavigationFailed;
34 |
35 | Xamarin.Forms.Forms.Init(e);
36 |
37 | if (e.PreviousExecutionState == ApplicationExecutionState.Terminated)
38 | {
39 | //TODO: Load state from previously suspended application
40 | }
41 | Window.Current.Content = rootFrame;
42 | }
43 |
44 | if (rootFrame.Content == null)
45 | {
46 | rootFrame.Navigate(typeof(MainPage), e.Arguments);
47 | }
48 | Window.Current.Activate();
49 | }
50 |
51 | private void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
52 | {
53 | throw new Exception("Failed to load Page " + e.SourcePageType.FullName);
54 | }
55 |
56 | private void OnSuspending(object sender, SuspendingEventArgs e)
57 | {
58 | var deferral = e.SuspendingOperation.GetDeferral();
59 |
60 | //TODO: Save application state and stop any background activity
61 |
62 | deferral.Complete();
63 | }
64 | }
65 | }
--------------------------------------------------------------------------------
/Sample/Uwp/Assets/LockScreenLogo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Uwp/Assets/LockScreenLogo.scale-200.png
--------------------------------------------------------------------------------
/Sample/Uwp/Assets/SplashScreen.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Uwp/Assets/SplashScreen.scale-200.png
--------------------------------------------------------------------------------
/Sample/Uwp/Assets/Square150x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Uwp/Assets/Square150x150Logo.scale-200.png
--------------------------------------------------------------------------------
/Sample/Uwp/Assets/Square44x44Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Uwp/Assets/Square44x44Logo.scale-200.png
--------------------------------------------------------------------------------
/Sample/Uwp/Assets/Square44x44Logo.targetsize-24_altform-unplated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Uwp/Assets/Square44x44Logo.targetsize-24_altform-unplated.png
--------------------------------------------------------------------------------
/Sample/Uwp/Assets/StoreLogo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Uwp/Assets/StoreLogo.png
--------------------------------------------------------------------------------
/Sample/Uwp/Assets/Wide310x150Logo.scale-200.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Uwp/Assets/Wide310x150Logo.scale-200.png
--------------------------------------------------------------------------------
/Sample/Uwp/MainPage.xaml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Sample/Uwp/MainPage.xaml.cs:
--------------------------------------------------------------------------------
1 | namespace Rox
2 | {
3 | public sealed partial class MainPage
4 | {
5 | public MainPage()
6 | {
7 | this.InitializeComponent();
8 |
9 | LoadApplication(new VideoApplication());
10 | }
11 | }
12 | }
--------------------------------------------------------------------------------
/Sample/Uwp/Package.appxmanifest:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Rox.Xamarin.Video.Sample.Uwp
7 | Rox Software Pty Ltd
8 | Assets\StoreLogo.png
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
--------------------------------------------------------------------------------
/Sample/Uwp/Properties/AssemblyProject.cs:
--------------------------------------------------------------------------------
1 | [assembly: System.Reflection.AssemblyTitle("Rox.Xamarin.Video.Sample.Uwp")]
--------------------------------------------------------------------------------
/Sample/Uwp/Properties/Default.rd.xml:
--------------------------------------------------------------------------------
1 |
17 |
18 |
19 |
20 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/Sample/Uwp/Rox.Xamarin.Video.Sample.Uwp.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | x86
7 | {A1A4CCFF-1691-43EF-9352-6481E15042CA}
8 | AppContainerExe
9 | Properties
10 | Rox
11 | Rox.Xamarin.Video.Sample.Uwp
12 | en-US
13 | UAP
14 | 10.0.10586.0
15 | 10.0.10240.0
16 | 14
17 | true
18 | 512
19 | {A5A43C5B-DE2A-4C0C-9213-0A381AF9435A};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
20 | Rox.Xamarin.Video.Sample.Uwp.pfx
21 | 9A2E3282CAA951B15D9B9E617EE64D3C206A68A3
22 |
23 |
24 | true
25 | bin\ARM\Debug\
26 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
27 | ;2008
28 | full
29 | ARM
30 | false
31 | prompt
32 | true
33 |
34 |
35 | bin\ARM\Release\
36 | TRACE;NETFX_CORE;WINDOWS_UWP
37 | true
38 | ;2008
39 | pdbonly
40 | ARM
41 | false
42 | prompt
43 | true
44 | true
45 |
46 |
47 | true
48 | bin\x64\Debug\
49 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
50 | ;2008
51 | full
52 | x64
53 | false
54 | prompt
55 | true
56 |
57 |
58 | bin\x64\Release\
59 | TRACE;NETFX_CORE;WINDOWS_UWP
60 | true
61 | ;2008
62 | pdbonly
63 | x64
64 | false
65 | prompt
66 | true
67 | true
68 |
69 |
70 | true
71 | bin\x86\Debug\
72 | DEBUG;TRACE;NETFX_CORE;WINDOWS_UWP
73 | ;2008
74 | full
75 | x86
76 | false
77 | prompt
78 | true
79 |
80 |
81 | bin\x86\Release\
82 | TRACE;NETFX_CORE;WINDOWS_UWP
83 | true
84 | ;2008
85 | pdbonly
86 | x86
87 | false
88 | prompt
89 | true
90 | true
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 | Properties\AssemblySolution.cs
99 |
100 |
101 | Properties\AssemblyVersion.cs
102 |
103 |
104 | App.xaml
105 |
106 |
107 | MainPage.xaml
108 |
109 |
110 |
111 |
112 |
113 | Designer
114 |
115 |
116 |
117 |
118 |
119 |
120 |
121 |
122 |
123 |
124 |
125 |
126 |
127 |
128 |
129 | MSBuild:Compile
130 | Designer
131 |
132 |
133 | MSBuild:Compile
134 | Designer
135 |
136 |
137 |
138 |
139 | {3E06D134-E923-4AEF-8127-8CEF6995DC0A}
140 | Rox.Xamarin.Video.Sample.Portable
141 |
142 |
143 |
144 | 14.0
145 |
146 |
147 |
154 |
--------------------------------------------------------------------------------
/Sample/Uwp/Rox.Xamarin.Video.Sample.Uwp.pfx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/Sample/Uwp/Rox.Xamarin.Video.Sample.Uwp.pfx
--------------------------------------------------------------------------------
/Sample/Uwp/project.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "Microsoft.NETCore.UniversalWindowsPlatform": "5.2.2",
4 | "Rox.Xamarin.Video": "2.1.0",
5 | "Xamarin.Forms": "2.3.2.127"
6 | },
7 | "frameworks": {
8 | "uap10.0": {}
9 | },
10 | "runtimes": {
11 | "win10-arm": {},
12 | "win10-arm-aot": {},
13 | "win10-x86": {},
14 | "win10-x86-aot": {},
15 | "win10-x64": {},
16 | "win10-x64-aot": {}
17 | }
18 | }
--------------------------------------------------------------------------------
/Shared/AssemblySolution.cs:
--------------------------------------------------------------------------------
1 | [assembly: System.Reflection.AssemblyProduct("Rox.Xamarin.Video")]
2 | [assembly: System.Reflection.AssemblyCompany("Rox Software Pty Ltd")]
3 | [assembly: System.Reflection.AssemblyCopyright("©2016 Rox Software Pty Ltd")]
4 | [assembly: System.Reflection.AssemblyDescription("https://www.rox.software/")]
5 | [assembly: System.Reflection.AssemblyConfiguration("")]
6 | [assembly: System.Reflection.AssemblyTrademark("")]
7 | [assembly: System.Reflection.AssemblyCulture("")]
8 | [assembly: System.Resources.NeutralResourcesLanguage("en")]
9 | [assembly: System.Runtime.InteropServices.ComVisible(false)]
--------------------------------------------------------------------------------
/Shared/AssemblyVersion.cs:
--------------------------------------------------------------------------------
1 | [assembly: System.Reflection.AssemblyVersion("2.1.0.0")]
2 | [assembly: System.Reflection.AssemblyFileVersion("2.1.0.0")]
3 | [assembly: System.Reflection.AssemblyInformationalVersion("2.1.0.0")]
--------------------------------------------------------------------------------
/git-clean.sh:
--------------------------------------------------------------------------------
1 | git clean -Xdf
2 |
3 | read -p "Press any key to exit"
4 |
--------------------------------------------------------------------------------
/nuget/Rox.Video.Xamarin.nuspec:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Rox.Xamarin.Video
5 | Rox Video for Xamarin.Forms
6 | 5.0.0-alpha1
7 |
8 | AiRoBo Software
9 | res\nuget-license.txt
10 | https://rox.tools/video
11 | res\nuget-logo.png
12 | true
13 | Rox Video for Xamarin.Forms plays videos with native platform controls.
14 | res\nuget-readme.md
15 |
16 | [Version 1.0.0]
17 | * Created new solution and projects and reimplemented components on all platforms.
18 | * Changed licensed to MIT.
19 | * Provided source code in GitHub repository.
20 | * Created https://rox.tools/video/ instruction page.
21 | * Created skeleton https://rox.gallery/video/ sample page.
22 |
23 | [Build Configuration]
24 | * Visual Studio for Windows v16.11.2
25 | * Visual Studio for Mac v8.10.7.17
26 | * Windows 10 v21H1.19043.1110
27 | * macOS : Big Sur 11.5.2
28 |
29 | [Targets]
30 | * .NetStandard2.0
31 |
32 | ©2016-2021 AiRoBo Software
33 | rox video airobo rox.tools Xamarin.Forms
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/readme.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | **Rox Video for Xamarin.Forms** plays videos with native platform controls.
4 |
5 | [](https://rox.tools/video) [](https://www.nuget.org/packages/Rox.Xamarin.Video) [](https://github.com/ai-ro-bo/Rox.Video.Xamarin)
6 |
7 | ---
8 | If you like this software then try our related components...
9 |
10 | [](https://rox.tools/architect) [](https://rox.tools/layout) [](https://rox.tools/video) [](https://rox.tools/camera)
11 |
12 | ---
13 | Check out some of the other stuff we do...
14 |
15 | [](https://rox.tools) [](https://nobs.services) [](https://airobo.design) [](https://airobo.software/aidronebo) [](https://backslash.wtf)
16 |
17 | ---
18 | *Visit us at* [](https://airobo.software)
19 |
--------------------------------------------------------------------------------
/res/nuget-license.txt:
--------------------------------------------------------------------------------
1 | Rox Video for Xamarin.Forms
2 |
3 | The MIT License (MIT)
4 |
5 | Copyright (c) 2011-2021 AiRoBo Software
6 |
7 | All rights reserved.
8 |
9 | Permission is hereby granted, free of charge, to any person obtaining a copy
10 | of this software and associated documentation files (the "Software"), to deal
11 | in the Software without restriction, including without limitation the rights
12 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13 | copies of the Software, and to permit persons to whom the Software is
14 | furnished to do so, subject to the following conditions:
15 |
16 | The above copyright notice and this permission notice shall be included in all
17 | copies or substantial portions of the Software.
18 |
19 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
25 | SOFTWARE.
26 |
--------------------------------------------------------------------------------
/res/nuget-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/netfluential/Rox.Video.Xamarin/3a8aad483170a768f9344741320c11f6b7193008/res/nuget-logo.png
--------------------------------------------------------------------------------
/res/nuget-readme.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | **Rox Video for Xamarin.Forms** plays videos with native platform controls.
4 |
5 | [](https://rox.tools/video) [](https://www.nuget.org/packages/Rox.Xamarin.Video) [](https://github.com/ai-ro-bo/Rox.Video.Xamarin)
6 |
7 | ---
8 | If you like this software then try our related components...
9 |
10 | [](https://rox.tools/architect) [](https://rox.tools/layout) [](https://rox.tools/video) [](https://rox.tools/camera)
11 |
12 | ---
13 | Check out some of the other stuff we do...
14 |
15 | [](https://rox.tools) [](https://nobs.services) [](https://airobo.design) [](https://airobo.software/aidronebo) [](https://backslash.wtf)
16 |
17 | ---
18 | *Visit us at* [](https://airobo.software)
19 |
--------------------------------------------------------------------------------