首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSpeex解码不起作用

JSpeex解码不起作用
EN

Stack Overflow用户
提问于 2012-03-21 20:43:11
回答 1查看 581关注 0票数 1

我使用JSpeex库进行音频编码。编码似乎工作得很好。但解码不会。(即,我将全零作为解码后的数据)。

代码语言:javascript
复制
// 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

如果任何人有任何关于这方面的信息,请回复。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-01-11 22:00:09

我知道这篇文章有点老了,但在Speex.js (一个javascript端口)上遇到了类似的问题。

不确定这个问题对您来说是否相同,但我发现有一个从Float32ArrayInt16Array的隐式转换,实际上并没有转换数据。这意味着所有的(-1.0,1.0)浮点数据本质上都是整数零,并被转换为整数零。

只需要在传入数据之前完成到Int16Array的转换(因此它不需要在库中进行任何数据转换),输出就会变得生动起来:)

希望这能有所帮助。干杯!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9804848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档