我正在编程一个声板从安卓。问题是有些声音是有效的,而有些则不起作用。下面是我对不起作用的声音的回溯
05-31 13:23:04.227 18440 18603 W System.err: java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed
05-31 13:23:04.227 18440 18603 W System.err: at android.content.res.AssetManager.openAssetFd(Native Method)
05-31 13:23:04.227 18440 18603 W System.err: at android.content.res.AssetManager.openFd(AssetManager.java:331)
05-31 13:23:04.227 18440 18603 W System.err: at com.phonegap.AudioPlayer.startPlaying(AudioPlayer.java:201)
05-31 13:23:04.227 18440 18603 W System.err: at com.phonegap.AudioHandler.startPlayingAudio(AudioHandler.java:181)
05-31 13:23:04.235 18440 18603 W System.err: at com.phonegap.AudioHandler.execute(AudioHandler.java:64)
05-31 13:23:04.235 18440 18603 W System.err: at com.phonegap.api.PluginManager$1.run(PluginManager.java:86)
05-31 13:23:04.235 18440 18603 W System.err: at java.lang.Thread.run(Thread.java:1096)有什么想法吗?
发布于 2011-05-31 19:48:56
在assets文件夹中打开压缩文件有一定的限制。这是因为未压缩的文件可以直接将内存映射到进程的虚拟地址空间中,从而避免再次需要相同数量的内存进行解压缩。
Dealing with Asset Compression in Android Apps讨论了一些处理压缩文件的技术。您可以使用未压缩的扩展名(例如mp3)诱使aapt不压缩文件,也可以手动将它们添加到不压缩的apk中,而不是让aapt来完成此工作。
发布于 2015-10-27 11:50:09
发布于 2019-07-29 15:57:38
使用Tensorflow Lite文件的人遇到了这个问题,
将以下行添加到android{}块内的Gradle文件(android/app/build.gradle)中。
aaptOptions {
noCompress "tflite"
}https://stackoverflow.com/questions/6186866
复制相似问题