【发布时间】:2019-08-28 06:43:09
【问题描述】:
在一个测试项目上工作,我目前的目标是使用一个 int 来指定在应用程序初始化时播放哪个 mp3 文件,而无需事先知道音轨的名称(可扩展性问题,因为我希望能够添加新的mp3 文件到随机化池中,以后不接触代码)。但是,当我运行以下代码时,出现以下描述的错误:
错误:没有找到适合 create(MainActivity,String) 方法的方法 MediaPlayer.create(Context,Uri) 不适用(参数不匹配;字符串无法转换为 Uri)方法 MediaPlayer.create(Context,int) 不适用适用(参数不匹配;String 无法转换为 int)
import android.content.res.AssetManager;
import android.content.res.Resources;
import android.media.MediaPlayer;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.RecyclerView;
import android.widget.ArrayAdapter;
import java.io.InputStream;
import java.lang.reflect.Field;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
RecyclerView bensonRecycler;
ArrayList<String> arrayList;
ArrayAdapter bensonAdapter;
MediaPlayer bensonPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AssetManager assetManager = getAssets();
String[] audios = assetManager.list("sound");
int i = 1;
final MediaPlayer mp = MediaPlayer.create(this, audios[i]);
mp.start();
}
}
我的 mp3 文件资产具有以下结构:
所以我的问题是我应该怎么做才能在 mp3 资产数组中使用 int i 指定要播放的 mp3 音轨(事先不知道 mp3 音轨的名称)? (我必须使用一个变量来指定在这个测试项目中播放的配乐)
【问题讨论】:
-
您想在 Android Studio 或 Android 应用中播放声音吗?见标题
-
我想在Android应用中播放声音,标题已编辑非常感谢。
标签: android arrays int mp3 assets