我从.3gp文件提取原始AMR音频帧时遇到一些麻烦。我点击了链接:“http://android.amberfog.com/?p=181”,但没有“mdat”框类型,而是使用了“moov”。我在某处看到“moov”框和“mdat”框的位置因设备而异。有谁知道如何正确跳过.3gp header 并提取原始AMR数据?下面是一个代码片段: public AMRFile convert3GPDataToAmr(String rawAmrFilePath) throws IOException { if (_3gpFile…

2020年9月11日 0条评论 34点热度 阅读全文

我想知道是否有任何方法可以使用Java从3GP文件中检测DTMF数字。 解决方案如下: 您可以使用TarsosDSP在Java中解码DTMF。 this blogpost中提供了一个示例实现。 如何从3GP解码音频取决于其中使用的音频编解码器。

2020年7月22日 0条评论 36点热度 阅读全文

EDIT: I have added in 'recRef' ".3gp" at the end of the reference and now when I use the emulator it uploads as .3gp file of 0KB and external device still uploads an "application/octet-stream" file (weight 0KB). 我对我的应用进行了记录 Activity ,但无法将其正确上传到Firebase存储。 我尝试根…

2019年12月21日 0条评论 23点热度 阅读全文

EDIT: I have added in 'recRef' ".3gp" at the end of the reference and now when I use the emulator it uploads as .3gp file of 0KB and external device still uploads an "application/octet-stream" file (weight 0KB). 我对我的应用进行了记录 Activity ,但无法将其正确上传到Firebase存储。 我尝试根…

2019年9月17日 0条评论 36点热度 阅读全文

我编写了一种算法来从AMR文件中提取每个帧。我认为文件的前6个字节为 header ,以下信息为音频帧。每个音频帧由帧头和音频数据组成。帧头以字节为单位告知帧大小(使用CMR模式​​表-http://www.developer.nokia.com/Community/Wiki/AMR_format)。帧大小存储在帧的第一个字节中->第二位至第5位,将MSB视为第一位。 该算法无法正常工作,我决定以二进制方式(0和1)在屏幕上显示每个字节,并且似乎有时帧大小数字大于7,并且CMR表只有0 ... 7值。 以下是…

2019年8月8日 0条评论 40点热度 阅读全文