Android 混合原始声音。源是java数组而不是文件或资源
Posted
技术标签:
【中文标题】Android 混合原始声音。源是java数组而不是文件或资源【英文标题】:Android mixing raw sounds. Source is java arrays not files or recourses 【发布时间】:2012-12-16 22:46:25 【问题描述】:我有未压缩原始格式的音频数据作为 java 数组。 短 [] 或字节 [] 我希望在 android 中播放它们。
SoundPool 看起来像我需要的,但我找不到从内存中加载数据的方法。它仅从文件加载,我不确定如何指定它是原始数据的格式。
【问题讨论】:
【参考方案1】:AudioTrack 类具有write(...)
方法,它们接受byte[]
或short[]
作为源参数。这是我所知道的唯一一个 Android 声音类。
【讨论】:
我看到了AudioTrack
的例子,它经常以多线程方式使用。是否可以在单线程中使用它来混合 10 通道与 FX 效果,如爆炸和其他短声?它是混合软件还是硬件?【参考方案2】:
名为libpd 的库可以为您提供许多Android 所缺乏的音频功能。学习曲线有点陡峭,但功能强大。
【讨论】:
以上是关于Android 混合原始声音。源是java数组而不是文件或资源的主要内容,如果未能解决你的问题,请参考以下文章