android打开wav格式,FileNotFoundException从Android资产中打开wav文件
在我們的android應用程序中,我們打開位于assets/config/notification.wav中的wav文件。要打開和播放聲音,我們使用下面的代碼:FileNotFoundException從Android資產中打開wav文件
String soundClipPath = "config/notification.wav"
AssetFileDescriptor afd = mContext.getAssets().openFd(soundClipPath);
int soundID = mSoundPool.load(afd, 1);
這一直在沒有任何問題,約一年了。突然間,這已停止工作。我們沒有更新構建之間的任何依賴關系。唯一的區別是我能找到的是這個版本的工作是從去年開始的。如果我們在NetBeans本地構建apk,但是當我們使用hudson構建apk時,它不起作用。我已經試過,沒有運氣以下:
將在資源的wav文件/文件夾的原始
添加-0到Maven Android插件
驗證文件結構和文件是存在的,工作。
我們使用上面的代碼時,遇到下列堆棧跟蹤:
java.io.FileNotFoundException: This file can not be opened as a file descriptor; it is probably compressed
at android.content.res.AssetManager.openAssetFd(Native Method)
at android.content.res.AssetManager.openFd(AssetManager.java:331)
...
而且試圖從資源加載時以下/原始文件夾:
android.content.res.Resources$NotFoundException: File res/raw/notification.wav from drawable resource ID #0x7f040000
at android.content.res.Resources.openRawResourceFd(Resources.java:981)
at android.media.SoundPool.load(SoundPool.java:191)
...
可有人請幫助我們有這個奇怪的問題....
此致敬禮,
亨里克
2014-01-15
noned
+0
是你的文件壓縮? –
+0
Android中的資產會自動壓縮。 AssetManager用于根據需要打開和解壓縮文件。但調用openFd就是這樣做的。 –
+0
您是否嘗試過類似以下內容:soundPool.load(afd.getFileDescriptor(),0,afd.getLength(),1)或afd.getFileDescriptor()。valid()? –
總結
以上是生活随笔為你收集整理的android打开wav格式,FileNotFoundException从Android资产中打开wav文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 近视激光手术一般要多少费用?
- 下一篇: android检测蓝牙设备连接不上,An