gpt4 book ai didi

java - JSpeex 解码不工作

转载 作者:行者123 更新时间:2023-12-01 05:25:00 25 4
gpt4 key购买 nike

我正在使用 JSpeex 库进行音频编码。编码似乎工作正常。但解码却没有。(即我得到的解码数据全是零。)

// encoding ///

SpeexEncoder enc = new SpeexEncoder();


// if i use channel as 1 instead of 2 even encoding doesn't work

enc.init(mode, quality, 44100, 2);

enc.processData(b, 0, b.length); // b is byte array i'm trying to encode & then decode

enc.getProcessedData(temp, 0); // save encoded data to temp // temp is byte array

////Decoding /////////

SpeexDecoder dec = new SpeexDecoder();

dec.init(mode,44100,2,true);

dec.processData(temp, 0, temp.length);

dec.getProcessedData(decoded, 0); //decoded is the output byte array which comes only zeros

如果有人有任何相关信息,请回复。

谢谢

最佳答案

我意识到这篇文章有点旧,但在 Speex.js(一个 JavaScript 端口)中遇到了类似的问题。

不确定问题是否与您相同,但我发现存在从 Float32ArrayInt16Array 的隐式转换,但实际上并未转换数据。这意味着所有 (-1.0,1.0) float 据本质上都是整数零,并按原样进行转换。

只需在传入数据之前转换为 Int16Array(因此不需要在库内进行任何数据转换),然后输出就会生效:)

希望有帮助。干杯!

关于java - JSpeex 解码不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9804848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com