簡體   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