Xamarin.Forms 遇到一些小问题

Xamarin.Forms的XAML跟WPF和UWP的XAML有点不同

1、Margin不能设置单个或空格隔开,得用“,”隔开

<Label Margin=”8,0,8,4″></Label>

2、不能用XXX.DataContext这样绑定,得用BindingContext

3、宽高用 WidthRequest、HeightRequest

4、调试时需要手机电脑同一网络下

5、原生Java语法换成C#的小问题

小写开头方法名变成大写开头

getPackageManager() 方法含get 变成 PackageManager属性

 

UWP开发 使用FFmpeg各种坑

 

编译FFmpeg Win10

VS2017无法使用FFmpegInterop项目自带的BuildFFmpeg.bat编译,很烦。

最后在Github上找到了一个解决方案(https://github.com/Microsoft/FFmpegInterop/issues/136)

使用vcpkg(https://github.com/microsoft/vcpkg)编译FFmpeg for Win10

clone项目:
git clone https://github.com/khouzam/vcpkg -b ffmpeg-uwp

引导工具:
cd vcpkg
bootstrap-vcpkg.bat

编译项目

vcpkg install ffmpeg:x86-uwp ffmpeg:x64-uwp ffmpeg:arm-uwp

编译完成包保存在vcpkg\packages

将packages下ffmpeg_平台-uwp文件夹复制到FFmpegInterop\ffmpeg\Build\Windows10目录下改名为相应平台

打开FFmpegWin10项目,编译,完成

 

参考资料:

https://trac.ffmpeg.org/wiki/CompilationGuide/WinRT

https://www.cnblogs.com/DaweiX/p/6435027.html

https://dotblogs.com.tw/evarichie/2016/05/09/165126

https://chensi.moe/blog/2015/11/19/winrt-custom-media/

http://validvoid.net/build-and-use-ffmpeginterop-win10/#visualstudio

.NET FFmpeg的使用

转码MP4:

ffmpeg.exe -i test.flv -c:v libx264 -strict -2 test.mp4

带分辨率转码:

ffmpeg.exe -i test.flv -c:v libx264 -strict -2 -s 640×480 test.mp4

带水印转码:

ffmpeg.exe -i test.flv -vf “movie=logo.png [watermark]; [in][watermark] overlay=10:10” -c:v libx264 -strict -2 test1.mp4

水印位置不能加路径

获取缩略图

ffmpeg.exe -i test.flv -y -f mjpeg -ss 3 -t 0.001 -s 320×240 test.jpg

水印+转码+缩略图

ffmpeg.exe -i test.flv -y -f mjpeg -ss 3 -t 0.001 -s 320×240 test1.jpg -vf “movie=logo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10” -c:v libx264 -strict -2 test6.mp4

FFmpeg转码后无法在线播放!!

FFMpeg转码由此得到的mp4文件中, meta信息是在文件尾部的, 而 videoview 在没有得到meta信息前不会播放文件, 因此只有等到文件完全下载完视频才会播放。解决方法很简单,下载qtfaststart.exe把meta信息移到文件头部。

下载地址:http://www.ckplayer.com/down/qt-faststart.rar。也可以到我的资源里去找,解压后用cmd运行。

用法:Usage: qt-faststart <infile.mov> <outfile.mov>。

 

 

待续

ASP.NET MVC 学习02

1、@Html.Raw(htmlString) 输出HTML格式

2、模板页定义@RenderSection(“scripts”, required: false),子页面可调用添加相关代码

3、@ViewContext.RouteData.Values[“controller”]’取当前控制器

4、使用SessionSystem.Web.HttpContext.Current.Session["test"]="123";

5、RedirectToAction重定向到指定方法

Xamarin.Forms开发编译安卓APK

选择安卓项目右键 属性

1、取消 使用共享运行时 及 使用快速部署

2、勾选 将程序集绑定到本地代码

3、勾选 启用ProGuard

4、链接选择 仅SDK程序集

完成上述操作,选择安卓项目右键 存档

存档完成后点击分发-创建密钥-另存为

完成。

WPF项目Win7运行出现未能加载文件或程序集 resentationFramework.Aero2解决方法

win10下开发的WPF项目在win7运行时出现了一个错误:

System.Windows.Markup.XamlParseException: 设置属性“System.Windows.FrameworkElement.Style”时引发了异常。 —> System.IO.FileNotFoundException: 未能加载文件或程序集“PresentationFramework.Aero2, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。

解决方法:

项目-引用-将PresentationFramework.Aero2替换为PresentationFramework.Aero即可

 

AriaNg+Aria2 搭建私人离线下载平台

安装环境:windows server 2012

1、下载相关文件

Aria2:https://github.com/aria2/aria2/releases/

AriaNg:https://github.com/mayswind/AriaNg/releases

Aria2 配置文件:https://cdn.mivm.cn/Hill-Blog/article/windows-aria2/aria2_conf.zip

Aria2 控制文件:https://cdn.mivm.cn/Hill-Blog/article/windows-aria2/aria2_bat.zip

2、安装配置Aria2

1、解压下载的Aria2

2、将Aria2 配置文件解压到Aria2目录

3、将Araia2 控制文件解压到Aria2目录

默认已配置,修改配置打开 aria2.conf更改

4、打开Start.bat,启动Aria2

注意:如果需要外网访问,防火墙记得打开6800端口

3、安装配置AriaNg

1、打开IIS新建网站

2、将AriaNg放到新建网站的目录下

3、打开网站出现以下界面即可

如无法连接Aria2,可能需要配置一下

完.