小编jac*_*cob的帖子

使用Java Optional查找更具功能性的方法?

我正在尝试尽可能多地使用Optional来进行正常的空值检查; 我的IDE(IntelliJ)遇到了一个建议:

Can be replaced by a singular expression in functional style.
Run Code Online (Sandbox Code Playgroud)

这是有问题的代码,有问题的行:

Entry entry = maybeBytes.isPresent() ? Entry.deserialize(maybeBytes.get()) : new Entry();
Run Code Online (Sandbox Code Playgroud)

我在这里看了一下,但找不到用法或至少看到一个适合我的情况.我对lambda功能很新.

java intellij-idea java-8

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

将 32 位浮点音频转换为 16 位字节数组?

我正在使用 NAudio 库获取音频,该库返回 32 位float[]音频数据。我正在尝试找到一种方法将其转换为 16 位byte[]进行播放。

private void sendData(float[] samples)
{
    Buffer.BlockCopy(samples, 0, byteArray, 0, samples.Length);
    byte[] encoded = codec.Encode(byteArray, 0, byteArray.Length);
    waveProvider.AddSamples(byteArray, 0, byteArray.Length);
    s.Send(encoded, SocketFlags.None);
}
Run Code Online (Sandbox Code Playgroud)

发送到的音频是waveProvider静态的 - 我认为我没有正确转换。如何转换为 16 位样本的字节数组?

.net c# audio naudio

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

syscall.Syscall 和 WinAPI 遇到问题

我尝试从 Window 的 API 使用VkKeyScan,但是每当调用该函数时程序就会崩溃。我以这种方式导入和使用的其他 Window API 函数没有遇到任何问题。我的 syscall.Syscall 调用有问题吗?

var (
    user32, _ = syscall.LoadLibrary("user32.dll")
    vkKeyScan, _ = syscall.GetProcAddress(user32, "VkKeyScan")
)

func VkKeyScan(char byte) (int16, syscall.Errno) {
    var nargs uintptr = 1
    ret, _, callErr := syscall.Syscall(uintptr(vkKeyScan), nargs, uintptr(char), 0, 0)
    return int16(ret), callErr
}
Run Code Online (Sandbox Code Playgroud)

winapi go

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

标签 统计

.net ×1

audio ×1

c# ×1

go ×1

intellij-idea ×1

java ×1

java-8 ×1

naudio ×1

winapi ×1