0

我在资产文件夹中存储了 5 个 mp3 文件。这些文件都是 25 KB。
我使用以下方法加载文件:

manager = context.getAssets();
this.inputStream = manager.openFd(fileName).createInputStream();

每当我尝试播放文件时,声音都像混音一样乱七八糟。我已经对应用程序进行了 zipalign,但没有结果。
关于这个问题有帮助吗?提前致谢

4

3 回答 3

2

您也可以尝试从 res/raw 文件夹中播放它们:

MediaPlayer p=MediaPlayer.create(this, R.raw.soundid);
p.start();
于 2010-11-09T13:59:18.210 回答
2

经过一番研究,我自己找到了遮阳篷。问题是我使用以下方法来设置 MediaPlayer 的数据源:

inputStream = manager.openFd(fileName).createInputStream();    
player.setDataSource(inputStream.getFD());

Wich 只是对 的调用setDataSource(fd, 0, 0x7ffffffffffffffL);,传递最小偏移量和这个任意长度,导致声音全部混合播放。
使用以下代码时,一切正常:

AssetFileDescriptor descriptor = manager.openFd(fileName);
long start = descriptor.getStartOffset();
long end = descriptor.getLength();
player.setDataSource(descriptor.getFileDescriptor(), start,end);
于 2010-11-12T14:39:41.817 回答
0
  1. 首先尝试消除一个潜在问题:将 inputStream 与原始文件进行比较。

  2. 尝试直接打开和播放文件。

于 2010-11-09T13:36:41.243 回答