new AudioPlayer().play(mContext, getResources().getIdentifier(alphabetItemList.get(mPosition)
.getDetail().get(0).getAudio(),"raw", getPackageName()));
音频播放器.java类:
public class AudioPlayer {
private MediaPlayer mMediaPlayer;
public void stop() {
if (mMediaPlayer != null) {
mMediaPlayer.release();
mMediaPlayer = null;
}
}
// mothod for raw folder (R.raw.fileName)
public void play(Context context, int rid){
stop();
mMediaPlayer = MediaPlayer.create(context, rid);
mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
stop();
}
});
mMediaPlayer.start();
}
// mothod for other folder
public void play(Context context, String name) {
stop();
//mMediaPlayer = MediaPlayer.create(c, rid);
mMediaPlayer = MediaPlayer.create(context, Uri.parse("android.resource://"+ context.getPackageName()+"/your_file/"+name+".mp3"));
mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
stop();
}
});
mMediaPlayer.start();
}
}
7条答案
按热度按时间ukxgm1gy1#
它是这样工作的:
它不能作为字符串文件路径正常工作...
ha5z0ras2#
和原始文件夹中的此播放。
**我的上下文=应用程序. this.**使用.
e7arh2l63#
下面是设置
MediaPlayer
以播放SD卡的代码:你可以看到完整的例子here。让我知道如果你有任何问题。
tzdcorbm4#
使用下面的代码,它为我工作.
gt0wga4j5#
我使用这个类的音频播放。如果你的音频位置是原始文件夹。
调用播放方法:
音频播放器.java类:
m2xkgtsf6#
这对我很有效:
dddzy1tm7#
在Kotlin
1)文件位于资源文件夹中:
2)文件位于路径(文件路径)中