实现其实很简单,只要创建几个空文件夹和文件就可以。

首先来看下哔哩哔哩客户端下载的文件目录结构

在文件管理上打开下列目录

正式版:/storage/emulated/0/Android/data/tv.danmaku.bili/download/

概念版:/storage/emulated/0/Android/data/com.bilibili.app.blue/download/

微信图片_20171231211222.jpg

下载的番都是与s_ID命名的,随便打开一个s_6440

微信图片_20171231211226.jpg

里面的子目录是以 episode_id 命名的,再打开一个115429

微信图片_20171231211230.jpg

里面有一个文件夹,是以清晰度命名的,里面存放的是视频文件。以下是我自己调试出来的清晰度对应文件名

1080P lua.flv720.bb2api.64

超清 lua.flv.bb2api.80

高清 lua.flv720.bb2api.64

普清 lua.mp4.bb2api.16

danmaku.xml是弹幕文件,entry.json结构见下图

QQ截图20171231212334.png

可以看到entry.json里面是下载的番剧和剧集信息。

只要根据上面的目录结构创建几个文件夹和文件就可以让哔哩哔哩客户端创建一个下载任务去下载受限的番剧。

2、读取番剧的信息和剧集信息

读取番剧信息接口:http://bangumi.bilibili.com/api/season_v3?_device=android&_ulv=10000&build=411005&platform=android&appkey={Appkey}&ts={时间戳}&type=bangumi&season_id={番剧ID}&sign={Sign签名}

QQ截图20171231210737.png

详细接口见:https://github.com/soimort/you-get/blob/develop/src/you_get/extractors/bilibili.py

根据上面的接口读取到的信息创建一个entry.json,is_completed字段要为false

重点字段如下:

QQ截图20171231215643.png

然后按以下结构创建文件夹和文件

/s_{season_id}/

/s_{season_id}/{episode_id}/

/s_{season_id}/{episode_id}/entry.json

/s_{season_id}/{episode_id}/danmaku.xml(空)

/s_{season_id}/{episode_id}/{清晰度(如:lua.flv720.bb2api.64)}/(空)

完全退出哔哩哔哩客户端再打开就可以看见下载任务了.

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属性

编译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

编译完成包保存在vcpkgpackages

将packages下ffmpeg_平台-uwp文件夹复制到FFmpegInteropffmpegBuildWindows10目录下改名为相应平台

QQ截图20171127195913.png

QQ截图20171127195925.png

打开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

QQ截图20170925095707.png
1、取消 使用共享运行时 及 使用快速部署

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

3、勾选 启用ProGuard

4、链接选择 仅SDK程序集

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

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

完成。