【问题标题】:Android - Problem playing sounds from assets folderAndroid - 从资产文件夹播放声音时出现问题
【发布时间】:2010-11-09 13:22:33
【问题描述】:

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

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

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

【问题讨论】:

    标签: java android assets


    【解决方案1】:

    经过一番研究,我自己找到了遮阳篷。问题是我使用以下方法来设置 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);
    

    【讨论】:

      【解决方案2】:

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

      MediaPlayer p=MediaPlayer.create(this, R.raw.soundid);
      p.start();
      

      【讨论】:

        【解决方案3】:
        1. 首先尝试消除一个潜在问题:将 inputStream 与原始文件进行比较。

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

        【讨论】:

          猜你喜欢
          • 2015-02-19
          • 1970-01-01
          • 1970-01-01
          • 2012-06-13
          • 2012-08-29
          • 2013-03-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多