繁体   English   中英

Android-从资产文件夹播放声音时出现问题

[英]Android - Problem playing sounds from assets folder

我在资产文件夹中存储了5个mp3文件。 文件均为25 KB。
我使用以下方式加载文件:

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

每当我尝试播放文件时,声音都会像被混在一起一样被弄乱。 我已经对该应用程序进行了zipalign,但是没有结果。
安妮对此问题有帮助吗? 提前致谢

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

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

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

AssetFileDescriptor descriptor = manager.openFd(fileName);
long start = descriptor.getStartOffset();
long end = descriptor.getLength();
player.setDataSource(descriptor.getFileDescriptor(), start,end);

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

MediaPlayer p=MediaPlayer.create(this, R.raw.soundid);
p.start();
  1. 首先,尝试消除一个潜在的问题:将inputStream与原始文件进行比较。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM