我有以下方法,用于返回给定原始资源的持续时间长度(以毫秒为单位)。
private int getDurationLength(int id) {
MediaPlayer mp = MediaPlayer.create(context, R.raw.aboveingredients);
return mp.getDuration();
}
在我的原始文件夹中,我有一个名为aboveingredients.m4a
的原始资源,如下图所示。
执行以下代码时:
audioDuration.setText(getDurationLength(R.raw.aboveingredients));
我在Logcat中收到以下错误:
android.content.res.Resources$NotFoundException: String resource ID
感谢任何帮助。
答案 0 :(得分:1)
setText
希望您传入的字符串不是integer
获取string
值以避免错误
int soundLength = getDurationLength(R.raw.aboveingredients);
audioDuration.setText(String.valueOf(soundLength));
或将串联添加到字符串
audioDuration.setText("soundLength = " + soundLength);