我在我的PHPMotion项目中使用ffmpeg将视频转换为mp4.我无法将wmv和m4v视频转换为mp4格式.我已经粘贴了用于转换wmv和m4v的命令:
ffmpeg -i 1.wmv -ab 128 -b 1200 test.mp4
ffmpeg -i 1.m4v -ab 128 -b 1200 test.mp4
Run Code Online (Sandbox Code Playgroud)
当我使用此代码时,我收到一条错误消息:
Output #0, mp4, to 'test.mp4':
Stream #0.0: Video: mpeg4, yuv420p, 640x360, q=2-31, 1 kb/s, 90k tbn, 24 tbc
Stream #0.1: Audio: 0x0000, 44100 Hz, stereo, s16, 0 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Unsupported codec for output stream #0.1
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
这是我的设计师为我们的项目制作的导航。底部导航的高度为70dp。
到目前为止我已经尝试过的。
首先,我从设计中下载了一个矢量可绘制背景并将其设置为 BottomNavigationView 的背景
<com.google.android.material.bottomnavigation.BottomNavigationView
android:layout_gravity="bottom"
app:labelVisibilityMode="labeled"
app:itemIconTint="@drawable/bnv_tab_item_foreground"
app:itemTextColor="@drawable/bnv_tab_item_foreground"
android:id="@+id/bottom_nav"
android:layout_width="match_parent"
android:layout_height="70dp"
app:menu="@menu/menu_bottom_main"
android:background="@drawable/background_bottom_navigation"/>
Run Code Online (Sandbox Code Playgroud)
结果
正如您所看到的,曲线不如设计中的那么好。由于不同的 Android 屏幕尺寸,这种方法永远不会起作用。
我的第二次尝试是基于 Phillip Lackner 的教程 https://www.youtube.com/watch?v=x6-_va1R788&t=830s
我将 BottomNavigationView 放在 BottomAppBar 内。然后我创建了 FloatingActionButton 并将其layout_anchor属性设置为BottomAppBar
<com.google.android.material.bottomappbar.BottomAppBar
app:fabCradleRoundedCornerRadius="20dp"
android:backgroundTint="@color/blue_menu2"
android:id="@+id/bottom_app_bar"
android:layout_gravity="bottom"
android:layout_width="match_parent"
android:layout_height="56dp">
<com.google.android.material.bottomnavigation.BottomNavigationView
app:labelVisibilityMode="labeled"
app:itemIconTint="@drawable/bnv_tab_item_foreground"
app:itemTextColor="@drawable/bnv_tab_item_foreground"
android:id="@+id/bottom_nav"
app:layout_behavior="@string/hide_bottom_view_on_scroll_behavior"
android:layout_marginEnd="16dp"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
app:menu="@menu/menu_bottom_main" />
</com.google.android.material.bottomappbar.BottomAppBar>
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:scaleType="center"
app:maxImageSize = "56dp"
android:id="@+id/home_floating_button"
app:layout_anchor="@id/bottom_app_bar"
android:layout_width="56dp"
android:layout_height="80dp">
</com.google.android.material.floatingactionbutton.FloatingActionButton>
Run Code Online (Sandbox Code Playgroud)
结果
正如你所看到的,曲线不够“深”。BottomAppBar 有属性 fabCradleVerticalOffset 但不幸的是你不能输入负值。
是否可以使用贝塞尔曲线尝试在底部导航中绘制自定义形状。我还没有尝试过。我不确定它是否适用于这个特定的底部导航设计。https://proandroiddev.com/how-i-drew-custom-shapes-in-bottom-bar-c4539d86afd7
如何创建这个弯曲的底部导航?
android bezier android-layout android-bottomappbar android-bottomnavigationview
我已经为类编写了一个程序,我需要递归地计算a和b的扩展euclid算法,返回G,最大公约数,以及s和t,as + bt = gcd(a,b).我相当确定我正确编写了函数,但是我遇到了传递给函数和从函数传递的值的问题.我有一段时间没有编码,最近只写了伪代码,所以我有点生疏了.
例如,我写了当b = 0时,返回(a,1,0),但是当我输入b为0时,我得到返回(0,0,0)并且无法弄清楚为什么会发生这种情况.任何帮助或指导将不胜感激.
#include <iostream>
using namespace std;
int ExtGCD (int a, int b)
{
int g, s, t, g1, s1, t1;
if (b == 0) {
return (a, 1, 0);
}
(g1, s1, t1) = ExtGCD(b, a%b);
g = g1;
s = s1;
t = s1 - ((a/b)*t1);
return (g, s, t);
}
int main(int argc, char* argv[])
{
int a,b, g2, s2, t2, temp;
cout << "Please input a: ";
cin >> a; …Run Code Online (Sandbox Code Playgroud) 我读过如何在 Windows 上配置用户特定的主机文件,它没有答案,并且是 2012 年的,所以任何人恢复它的机会几乎为零。
这是我的用例:我们有一个 nodejs 工具套件,可以让用户生成保存到生产系统上自己的子域的内容。假设它部署在 上example.org,并且您使用用户名注册xyz,那么您生成的内容最终会出现在xyz.examplecontent.org(由于明显的安全问题,不同的域)。
问题是,这还需要由开发人员在本地进行测试,包括执行用户名前缀域路由的系统。由于在干净的结帐中,没有预烘焙的用户,每个开发人员都必须设置一些用户(这部分是必不可少的,因为它测试用户创建过程),但然后也手动编辑他们的hosts文件,以便有(如据计算机所知)将正确解析的用户子域主机。
可以使用https://npmjs.org/package/hostile或https://npmjs.org/package/mod-hosts等库来自动化主机修改(折扣https://npmjs.org/package/mod-hosts)。 org/package/local-tld因为它仅适用于 OSX),但由于在 Windows 或 OSX 上修改主机文件需要管理权限,并且您绝对不会以管理员权限运行任何应用程序,因此这些库很酷,但实际上并不可用。
在http://npmjs.org搜索“hosts”时是否找不到可以解决此问题的 Node.js 软件包,或者 Windows 和 OSX 是否有方法设置免费的主机文件,以便其他主机规则可以在不污染主文件并且不需要管理员权限的情况下指定吗?
注意: “这个自动化工具可以为您做到这一点,并在 *n*x、OSX 和 Windows 上运行,但需要 ruby/python/perl/无论什么”这样的答案当然也是完全可以接受的。只要它是跨平台的并且不需要管理员权限,那就已经比手工策划更好了。
我有一条由多个三次贝塞尔曲线组成的路径,我需要将其简化为更平滑的路径。
这基本上就是 Inkscape 的 Simplify(Ctrl+L) 算法在多次应用时所做的事情。
在上面的示例中,我应用该simplify算法直到节点数变为< 10。但这不是强制性的,任何数量的节点/阈值度量都是可以接受的,只要它不是慢得难以忍受。
以下是本示例中的两条路径(采用 SVG 语法):
Original path (black):
m 14550,8173.5 c 0,5 -7,10 -16,10 -20,0 -44,24 -44,44 0,19 -16,21 -23,3 -2,-6 -8,-8 -13,-4 -5,4 -2,13 6,18 11,8 12,12 3,16 -7,2 -13,17 -13,33 0,16 -6,31 -12,33 -10,4 -9,8 2,16 13,10 13,12 0,22 -11,8 -12,12 -2,16 6,2 12,11 12,20 0,19 24,43 43,43 9,0 18,6 21,12 5,10 7,10 12,0 3,-6 19,-12 35,-12 16,0 29,-5 29,-10 0,-6 9,-10 20,-10 13,0 20,-7 20,-20 0,-11 5,-20 …Run Code Online (Sandbox Code Playgroud) 有以下代码...
const array = [
Promise.resolve(1), Promise.resolve(2), Promise.resolve(3)
];
Array.prototype.then = function () {
console.log('Why does this gets triggered?');
}
Promise.all(array)
.then(result => console.log(result))
Run Code Online (Sandbox Code Playgroud)
为什么它Promise.all()本身会.then()在 Array 上调用我的proto 函数?
当然,它必须调用.then()数组中的每个元素。这很明显。但是在 Array 本身上这样做的目的是什么?
这种行为发生在 V8 上
要考虑:如果您更改Promise.all()为Promise.race()这种情况不会发生。
我并不是说这是一个错误。我只是想了解原因。如果您能在答案中引用 EcmaScript 规范,我将不胜感激。
更新:
我知道Promise.all()返回一个数组但包装在一个承诺上。这也是显而易见的。如果删除.then()喜欢...
Promise.all(array)
Run Code Online (Sandbox Code Playgroud)
它仍然执行该.then()方法。
我的 Mac 上的 VS Code 会产生头文件和第三方库(本例中为wxWidgets )的#include 错误。我阅读了我能找到的所有内容,调整了“c_cpp_properties.json”中的“includePath”设置,但没有任何帮助。
\n头文件与 .cpp 文件位于同一文件夹中(“/src/”)。该项目构建并运行良好,但 VS Code 产生 #include 错误,并且错误曲线覆盖了我的整个项目。
\n下面是屏幕截图和带有 VS Code 设置的 JSON 文件。
\n\nc_cpp_properties.json:
\n{\n "configurations": [\n {\n "name": "Mac",\n "includePath": [\n "${workspaceFolder}/src",\n "${workspaceFolder}/**",\n "/usr/local/Cellar/wxmac/3.0.5.1/include/wx-3.0"\n ],\n "defines": [],\n "macFrameworkPath": [\n "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks"\n ],\n "compilerPath": "/usr/bin/g++",\n "cStandard": "c11",\n "cppStandard": "c++17"\n }\n ],\n "version": 4\n}\nRun Code Online (Sandbox Code Playgroud)\n请帮我解决这个问题。
\n\xe2\x80\x94\xe2\x80\x94\xe2\x80\x94\xe2\x80\x94\xe2\x80\x94更新\xe2\x80\x94\xe2\x80\x94\xe2\x80\x94\ xe2\x80\x94\xe2\x80\x94
\n建议我在c_cpp_properties.json中使用以下设置:
\n{\n "configurations": [\n {\n "name": …Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,我想要内容安全策略:所有指令都应设置为 self,但是当我尝试这样做时,它显示以下错误
未捕获的 EvalError:拒绝将字符串评估为 JavaScript,因为“unsafe-eval”不是以下内容安全策略指令中允许的脚本源:“default-src 'self';”。
at Function (<anonymous>)
at Function._init (yui_combo.php?rollup/3.17.2/yui-moodlesimple-min.js:8:3195)
at yui_combo.php?rollup/3.17.2/yui-moodlesimple-min.js:9:4331
at yui_combo.php?rollup/3.17.2/yui-moodlesimple-min.js:9:4558
Run Code Online (Sandbox Code Playgroud)
拒绝执行内联脚本,因为它违反了以下内容安全策略指令:“default-src 'self'”。启用内联执行需要“unsafe-inline”关键字、哈希值(“sha256-BfUVqxUMiFIZGvtAvlU3O1tTN9idUT5IuAIpMSM2F5g=”)或随机数(“nonce-...”)。另请注意,“script-src”未明确设置,因此“default-src”用作后备。
拒绝加载样式表“https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i&display=swap”,因为它违反了以下内容安全策略指令:“默认-src'自我'”。请注意,“style-src-elem”未明确设置,因此“default-src”用作后备。
利基编程问题:我正在通过字节处理(而不是使用诸如Fontlab或FontForge之类的设计工具)来开发OpenType字体,现在有一个自定义的OpenType-CFF字体,该字体实现了Basic Latin unicode块的一个子集(特别是它实现.notdef和波浪号)。
The CFF block passes tx -3 validation (http://www.adobe.com/devnet/opentype/afdko.html), the font as a whole passes a round-trip de/recompile through TTX (https://github.com/behdad/fonttools), and Microsoft's "Font Validator" (http://www.microsoft.com/typography/FontValidator.mspx) does not report any errors in the font. Loading it as a custom webfont (both as plain otf in browsers that support otf, and wrapped as WOFF in browsers that don't) styles the implemented glyphs correctly.
However, even with all that apparent correctness, the windows font …
我在Node.js服务器上有一些性能敏感的代码需要计算组合.从这个SO答案中,我使用这个简单的递归函数来计算n选择k:
function choose(n, k) {
if (k === 0) return 1;
return (n * choose(n-1, k-1)) / k;
}
Run Code Online (Sandbox Code Playgroud)
然后因为我们都知道迭代几乎总是比递归更快,所以我根据乘法公式编写了这个函数:
function choosei(n,k){
var result = 1;
for(var i=1; i <= k; i++){
result *= (n+1-i)/i;
}
return result;
}
Run Code Online (Sandbox Code Playgroud)
我在我的机器上运行了一些基准测试.以下是其中一个的结果:
Recursive x 178,836 ops/sec ±7.03% (60 runs sampled)
Iterative x 550,284 ops/sec ±5.10% (51 runs sampled)
Fastest is Iterative
Run Code Online (Sandbox Code Playgroud)
结果一致表明,迭代方法确实比Node.js中的递归方法快3到4倍(至少在我的机器上).
这可能足以满足我的需求,但有没有办法让它更快?我的代码必须具有相当大的价值非常频繁调用这个函数,有时会n和k,所以速度越快越好.
在使用le_m和Mike的解决方案运行了一些测试之后,事实证明,虽然两者都比我提出的迭代方法快得多,但Mike使用Pascal三角形的方法似乎比le_m的日志表方法略快.
Recursive x 189,036 …Run Code Online (Sandbox Code Playgroud) javascript ×3
algorithm ×2
bezier ×2
c++ ×2
node.js ×2
windows ×2
android ×1
android-bottomnavigationview ×1
clang ×1
ecma ×1
ecmascript-6 ×1
ffmpeg ×1
fonts ×1
geometry ×1
hosts ×1
http-headers ×1
linux ×1
macos ×1
opentype ×1
parameters ×1
performance ×1
promise ×1
v8 ×1