我正在制作一个简单的网络应用程序,需要使用howler.js播放一些音频文件。howler.js 接受 base64 URI 作为输入,所以我想尝试一下。为了测试它,我获取了一个示例音频文件并使用在线音频到 base64 编码器来获取 base64 URI。我在base64字符串的前面添加了数据描述("data:audio/wav;base64,")并复制粘贴到以下JS函数中...:
function playSound() {
var data = "";
var sound = new Howl({
src: [data],
loop: false
});
sound.play();
}
Run Code Online (Sandbox Code Playgroud)
...它工作得很好。由于我将处理相当数量的音频文件,我想我会使用一个简短的 python 脚本将它们全部转换为 base64。为了测试,我使用以下 python 代码将相同的音频转换为 base64 字符串:
import base64
with open("0.wav", "rb") as f1,open("b64.txt", "w") as f2:
encoded_f1 = base64.b64encode(f1.read())
f2.write("data:audio/wav;base64,")
f2.write(str(encoded_f1))
Run Code Online (Sandbox Code Playgroud)
我注意到 base64 字符串与我之前从网站获得的字符串不同。我将其粘贴到前面显示的 JS 函数中,但是当我尝试播放声音时,出现以下错误:
Uncaught DOMException: Failed to execute 'atob' on 'Window': The string to be decoded is not correctly encoded.
Run Code Online (Sandbox Code Playgroud)
python 编码为 base64 …
我正在尝试确定是否可以使用 MinGW 编译需要 Microsoft 基础类 (MFC) 或 Active Tempplace 库 (ATL)(Microsoft Visual C++ (MSVC) 附带的库)的代码。
一些背景信息:我的最终目标是能够gcov在 Windows 上为 C++ 工具生成报告。该代码包含许多代码路径,只有在 Windows 上构建时才能访问这些代码路径(即由 保护的部分#ifdef _WIN64)。这意味着我需要构建一个.exewith gcc. 我想这样做的原因是什么?我希望通过在 Windows 上运行测试来获得更完整的代码覆盖率结果,以便也可以测试这些代码路径的覆盖率。这无论如何可行吗?
这是我尝试过的。从小处开始,我一直试图MinGW在 Windows 上构建这个程序:
#include <iostream>
#include <atlstr.h>
int main() {
CString aCString = CString(_T("A string"));
_tprintf(_T("%s"), (LPCTSTR)aCString);
}
Run Code Online (Sandbox Code Playgroud)
这可以毫无麻烦地使用 MSVC 进行编译。现在,使用 MinGW:要构建,我只需调用gcc -fprofile-arcs -ftest-coverage test.cpp -o test. 但是,它失败并显示以下消息:
test.cpp:3:10: fatal error: atlstr.h: No such file or directory
#include <atlstr.h>
^~~~~~~~~~
compilation …Run Code Online (Sandbox Code Playgroud) 我试图理解这是怎么回事:
satisfy :: (Char -> Bool) -> Parser Char
satisfy pred = PsrOf p
where
p (c:cs) | pred c = Just (cs, c)
p _ = Nothing
Run Code Online (Sandbox Code Playgroud)
相当于这样:
satisfy :: (Char -> Bool) -> Parser Char
satisfy pred = do
c <- anyChar
if pred c then return c else empty
Run Code Online (Sandbox Code Playgroud)
这是一些关于 Haskell 解析的讲义的片段,我试图理解:
import Control.Applicative
import Data.Char
import Data.Functor
import Data.List
newtype Parser a = PsrOf (String -> Maybe (String, a))
-- Function from input string …Run Code Online (Sandbox Code Playgroud)