首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Java将byte[]转换为short[]

用Java将byte[]转换为short[]
EN

Stack Overflow用户
提问于 2012-12-25 18:55:33
回答 1查看 14K关注 0票数 6

可能重复: byte array to short array and back again in java

Xuggler中的encodeAudio()方法具有以下参数:

  • int streamIndes
  • short[]样本
  • 长timeStamp
  • TimeUnit单元

使用来自javax.sound.sampledjavax.sound.sampled,我可以将数据读取到byte[]数组中

代码语言:javascript
复制
byte[] tempBuffer = new byte[10000];
fromMic.read(tempBuffer,0,tempBuffer.length);

但问题是samples参数需要short[]

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-25 19:00:30

幸运的是,byteshort来说是“完全可用的”,所以:

代码语言:javascript
复制
// Grab size of the byte array, create an array of shorts of the same size
int size = byteArray.length;
short[] shortArray = new short[size];

for (int index = 0; index < size; index++)
    shortArray[index] = (short) byteArray[index];

然后使用shortArray

注意:就原语类型而言,Java总是按照大端顺序对待它们,因此,比方说,字节ff转换将产生短00ff

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

https://stackoverflow.com/questions/14033217

复制
相关文章

相似问题

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