【发布时间】:2014-03-07 14:59:45
【问题描述】:
我想使用MediaPlayer 播放原始文件夹中的声音文件,但我不想使用MediaPlayer.create() 方法,因为我想多次播放它并想保留MediaPlayer 对象。我成功编译了以下代码,但它什么也没播放,我也听不到任何声音。
public void STARTSOUND(SOUND sound) throws IOException {
switch(sound) {
case SOUND_MENUBG:
Uri uri = Uri.parse("R.raw.mainmenu");
PLAYSOUND(uri);
break;
}
}
public void PLAYSOUND(Uri file) throws IOException {
mPlayerLoopSound.setDataSource(GameManager.getInstance().getCurrentActivity(),file);
mPlayerLoopSound.prepareAsync();
mPlayerLoopSound.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
if (!mPlayerLoopSound.isPlaying()){
mPlayerLoopSound.setVolume(1.0f, 1.0f);
//start the player
mPlayerLoopSound.start();
}
}
});
}
onPrepared() 方法永远不会被调用。 我做错什么了吗?
【问题讨论】:
-
你将不得不使用我们的 eoncreate 方法..,就像这个 MediaPlayer mPlayer = MediaPlayer.create(FakeCallScreen.this, R.raw.mysoundfile);
-
@VinamraBhabal 你在实际设备上运行你的代码吗?
-
@Kanwaljit Singh 是的...
标签: android audio media-player