Working player
This commit is contained in:
parent
2bc0c1eec7
commit
c6cace8c7c
@ -4,9 +4,10 @@
|
||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||
xmlns:local="clr-namespace:VideoPlayer"
|
||||
xmlns:wpf="clr-namespace:Vlc.DotNet.Wpf;assembly=Vlc.DotNet.Wpf"
|
||||
mc:Ignorable="d"
|
||||
Title="MainWindow" Height="350" Width="525">
|
||||
<Grid>
|
||||
|
||||
<wpf:VlcControl x:Name="myControl"/>
|
||||
</Grid>
|
||||
</Window>
|
||||
|
@ -1,6 +1,9 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
@ -20,9 +23,35 @@ namespace VideoPlayer
|
||||
/// </summary>
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
[DllImport("Kernel32")]
|
||||
public static extern void AllocConsole();
|
||||
|
||||
[DllImport("Kernel32")]
|
||||
public static extern void FreeConsole();
|
||||
|
||||
public MainWindow()
|
||||
{
|
||||
AllocConsole();
|
||||
Console.WriteLine("Hello");
|
||||
Console.WriteLine("Current dir: {0}", Directory.GetCurrentDirectory());
|
||||
InitializeComponent();
|
||||
myControl.MediaPlayer.VlcLibDirectoryNeeded += OnVlcControlNeedsLibDirectory;
|
||||
myControl.MediaPlayer.EndInit();
|
||||
myControl.MediaPlayer.Play(new Uri("https://u.wut.ee/leekima.webm"));
|
||||
}
|
||||
|
||||
private void OnVlcControlNeedsLibDirectory(object sender, Vlc.DotNet.Forms.VlcLibDirectoryNeededEventArgs e)
|
||||
{
|
||||
var currentAssembly = Assembly.GetEntryAssembly();
|
||||
var currentDirectory = new FileInfo(currentAssembly.Location).DirectoryName;
|
||||
if (currentDirectory == null)
|
||||
return;
|
||||
Console.WriteLine("fromvlc: currentdir: {0}", currentDirectory);
|
||||
if (AssemblyName.GetAssemblyName(currentAssembly.Location).ProcessorArchitecture == ProcessorArchitecture.X86)
|
||||
e.VlcLibDirectory = new DirectoryInfo(System.IO.Path.Combine(currentDirectory, @"..\..\..\lib\x86\"));
|
||||
else
|
||||
e.VlcLibDirectory = new DirectoryInfo(System.IO.Path.Combine(currentDirectory, @"..\..\lib\x64\"));
|
||||
Console.WriteLine(e.VlcLibDirectory);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -34,9 +34,32 @@
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<DebugType>full</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||
<OutputPath>bin\x86\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<Optimize>true</Optimize>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<PlatformTarget>x86</PlatformTarget>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||
<Prefer32Bit>true</Prefer32Bit>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Drawing.Design" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Core" />
|
||||
@ -46,9 +69,26 @@
|
||||
<Reference Include="System.Xaml">
|
||||
<RequiredTargetFramework>4.0</RequiredTargetFramework>
|
||||
</Reference>
|
||||
<Reference Include="Vlc.DotNet.Core, Version=2.1.126.0, Culture=neutral, PublicKeyToken=84529da31f4eb963, processorArchitecture=x86">
|
||||
<HintPath>packages\Vlc.DotNet.Core.2.1.126\lib\net45\x86\Vlc.DotNet.Core.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Vlc.DotNet.Core.Interops, Version=2.1.126.0, Culture=neutral, PublicKeyToken=84529da31f4eb963, processorArchitecture=x86">
|
||||
<HintPath>packages\Vlc.DotNet.Core.Interops.2.1.126\lib\net45\x86\Vlc.DotNet.Core.Interops.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Vlc.DotNet.Forms, Version=2.1.126.0, Culture=neutral, PublicKeyToken=84529da31f4eb963, processorArchitecture=x86">
|
||||
<HintPath>packages\Vlc.DotNet.Forms.2.1.126\lib\net45\x86\Vlc.DotNet.Forms.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Vlc.DotNet.Wpf, Version=2.1.126.0, Culture=neutral, PublicKeyToken=84529da31f4eb963, processorArchitecture=x86">
|
||||
<HintPath>packages\Vlc.DotNet.Wpf.2.1.126\lib\net45\x86\Vlc.DotNet.Wpf.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="WindowsBase" />
|
||||
<Reference Include="PresentationCore" />
|
||||
<Reference Include="PresentationFramework" />
|
||||
<Reference Include="WindowsFormsIntegration" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ApplicationDefinition Include="App.xaml">
|
||||
@ -86,6 +126,7 @@
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
</EmbeddedResource>
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
|
@ -8,13 +8,19 @@ EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Debug|x86 = Debug|x86
|
||||
Release|Any CPU = Release|Any CPU
|
||||
Release|x86 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{9E787551-8030-44F4-B084-B0044945AB65}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{9E787551-8030-44F4-B084-B0044945AB65}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{9E787551-8030-44F4-B084-B0044945AB65}.Debug|x86.ActiveCfg = Debug|x86
|
||||
{9E787551-8030-44F4-B084-B0044945AB65}.Debug|x86.Build.0 = Debug|x86
|
||||
{9E787551-8030-44F4-B084-B0044945AB65}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{9E787551-8030-44F4-B084-B0044945AB65}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
{9E787551-8030-44F4-B084-B0044945AB65}.Release|x86.ActiveCfg = Release|x86
|
||||
{9E787551-8030-44F4-B084-B0044945AB65}.Release|x86.Build.0 = Release|x86
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
|
7
packages.config
Normal file
7
packages.config
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Vlc.DotNet.Core" version="2.1.126" targetFramework="net452" />
|
||||
<package id="Vlc.DotNet.Core.Interops" version="2.1.126" targetFramework="net452" />
|
||||
<package id="Vlc.DotNet.Forms" version="2.1.126" targetFramework="net452" />
|
||||
<package id="Vlc.DotNet.Wpf" version="2.1.126" targetFramework="net452" />
|
||||
</packages>
|
Loading…
Reference in New Issue
Block a user