小编Fra*_*k E的帖子

C# WPF - VLC - LibVLCSharp.Shared.VLCException:'无法加载所需的本机库

我已经在code.videolan网站上测试了 WPF 最小 VLC 示例,它工作正常。

然后,我按照此处的Microsoft 文档准备(并打包)适用于 Windows 商店的应用程序,基本上它不再适用于无法加载库消息。

将 .package 项目设置为启动项目会产生问题。这些是我拥有的包,尽管 UWP 刚刚添加并且没有在任何地方引用。 在此输入图像描述

在 VLC 示例中,它直接在 Core.Initialize() 上失败;

void VideoView_Loaded(object sender, RoutedEventArgs e)
{
     Core.Initialize();

     _libVLC = new LibVLC();
     _mediaPlayer = new MediaPlayer(_libVLC);

     VideoView.Media

     _mediaPlayer.Play(new Media(_libVLC, new Uri("http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4")));
}
Run Code Online (Sandbox Code Playgroud)

如果我输入:

var url = typeof(LibVLC).Assembly.Location;
Run Code Online (Sandbox Code Playgroud)

在 Core.ini 行之前检查它的位置,我得到:“C:\Users\franc\Documents\Visual Studio 2019\Projects\VLCTest\VLC.Package\bin\x64\Debug\AppX\VLCTest\LibVLCSharp.dll ”

这对我来说看起来不错..有什么建议吗?



编辑1

AppX 文件夹下未创建 libvlc 文件夹:

{“无法加载所需的本机库。\r\n您是否为目标平台从 nuget 安装了最新的 LibVLC 包?\r\n搜索路径包括

...项目\VLCTest\VLC.Package\bin\x64\Debug\AppX\VLCTest\libvlc\win-x64\libvlc.dll,...项目\VLCTest\VLC.Package\bin\x64\Debug\AppX\ VLCTest\libvlc\win-x64\libvlccore.dll; ...项目\VLCTest\VLC.Package\bin\x64\Debug\AppX\VLCTest\libvlc\win-x64\libvlc.dll,...项目\VLCTest\VLC.Package\bin\x64\Debug\AppX\ VLCTest\libvlc\win-x64\libvlccore.dll; ...Projects\VLCTest\VLC.Package\bin\x64\Debug\AppX\VLCTest\libvlc.dll,"}

文件夹视图

因此,我手动将文件夹从 WPF 项目(不再是启动项目)复制到新的 .package 启动项目 AppX ... 文件夹中,它起作用了。

对此有什么干净的解决方案?

c# wpf vlc uwp libvlcsharp

3
推荐指数
1
解决办法
4306
查看次数

UWP/C#旋转BMP

似乎已经提出了这个问题,但我找不到相关的答案.

我正在UWP应用程序中将BMP图像加载到内存中,我想将它旋转90,180或270,但我找不到这样做的方法.

imgSource.rotate()似乎不再存在.RotateTransform与xaml一起使用....

任何人都可以通过机会添加丢失的代码吗?

public async Task LoadImage()
    {
        StorageFile file = await ApplicationData.Current.LocalFolder.GetFileAsync("test.bmp");
        using (var stream = await file.OpenAsync(FileAccessMode.Read))
        {
            var decoder = await BitmapDecoder.CreateAsync(stream);
            bitmap = await decoder.GetSoftwareBitmapAsync(BitmapPixelFormat.Bgra8, BitmapAlphaMode.Premultiplied);
            var imgSource = new WriteableBitmap(bitmap.PixelWidth, bitmap.PixelHeight);

            // Code to rotate image by 180 to be added

            bitmap.CopyToBuffer(imgSource.PixelBuffer);
        }
    }
Run Code Online (Sandbox Code Playgroud)

c# image rotation bmp uwp

2
推荐指数
1
解决办法
1596
查看次数

C# 非静态字段、方法或属性需要对象引用 - 语音合成

我尝试使用此代码示例构建一个测试应用程序

我定义了一个公共类,如下所示:

 public class iSpeech
 {
    // Performs synthesis
    public async Task<IRandomAccessStream> SynthesizeTextToSpeechAsync(string text)
    {
        IRandomAccessStream stream = null;
        using (SpeechSynthesizer synthesizer = new SpeechSynthesizer())
        {
            VoiceInformation voiceInfo =
              (
                from voice in SpeechSynthesizer.AllVoices
                where voice.Gender == VoiceGender.Male
                select voice
              ).FirstOrDefault() ?? SpeechSynthesizer.DefaultVoice;

            synthesizer.Voice = voiceInfo;
            stream = await synthesizer.SynthesizeTextToStreamAsync(text);
        }
        return (stream);
    }

    // Build audio stream
    public async Task SpeakTextAsync(string text, MediaElement mediaElement)
    {
        IRandomAccessStream stream = await this.SynthesizeTextToSpeechAsync(text);
        await mediaElement.PlayStreamAsync(stream, true);
    }
}
Run Code Online (Sandbox Code Playgroud)

从应用程序主页,然后我尝试调用:

    public …
Run Code Online (Sandbox Code Playgroud)

c# methods reference uwp

1
推荐指数
1
解决办法
3713
查看次数

标签 统计

c# ×3

uwp ×3

bmp ×1

image ×1

libvlcsharp ×1

methods ×1

reference ×1

rotation ×1

vlc ×1

wpf ×1