Android上的OpenSL ES替代方案

Android上的OpenSL ES替代方案,第1张

概述我正在构建一个 Android应用程序,它是有必要的,在队列播放器中播放pcm数据为浮动.据我所知,这是不可能的. description说: SL_DATAFORMAT_PCM does not permit the application to specify the representation of the data as signed integer, unsigned integer, 我正在构建一个 Android应用程序,它是有必要的,在队列播放器中播放pcm数据为浮动.据我所知,这是不可能的. description说:

SL_DATAFORMAT_PCM does not permit the application to specify the representation of the data as signed integer,unsigned integer,or floating-point. The AndroID implementation assumes that 8-bit data is unsigned integer and 16-bit is signed integer. In addition,the fIEld samplesPerSec is a misnomer,as the actual units are milliHz. These issues are expected to be addressed in the next OpenSL ES version,which will introduce a new extended PCM data format that permits the application to explicitly specify the representation,and corrects the fIEld name. As this will be a new data format,and the current PCM data format will still be available (though deprecated),it should not require any immediate changes to your code.

有没有机会通过opensl es(1.0.1)获得这项工作或者是否有替代opend es for androID ndk?

解决方法 您可以将浮点波形转换为带符号的16位并将其转换为OpenSL.

由于您需要访问wave数据才能将其提供给OpenSL,因此应该在运行时直接进行转换 – 没有太多开销.

OpenSL要求内存位置保持有效,直到它不再需要它为止.因此,您可以使用中间缓冲区进行转换并重新使用它.

这就是我做到的.事实上,我只使用一个流,并在软件中进行所有源混合.

总结

以上是内存溢出为你收集整理的Android上的OpenSL ES替代方案全部内容,希望文章能够帮你解决Android上的OpenSL ES替代方案所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1127273.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存