(机器人) 我正在制作一个带有几个按钮的应用程序,每个按钮都有一个与之关联的简短声音片段。他们有自己的OnClick语句。下面的代码按照我的预期播放SD卡中的文件......
public void Hello (View view) {
///ButtonClick Main Body.
//MediaPlayer mediaPlayer = MediaPlayer.create(getBaseContext(), R.raw.hello);
//mediaPlayer.start();
SoundPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp)
//TODO Auto-generated Method stub
{
SoundPlayer.start();
}
});
String file = "/sdcard/Music/Hello.mp3";
SoundPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try {
SoundPlayer.setDataSource(file);
} catch (IllegalArgumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
SoundPlayer.prepareAsync();
} catch (IllegalStateException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
...但是,如何将源设置为R.raw.hello(声音文件)而不会导致错误?当前的错误消息是“Media Player类型中的方法SetDataSource(String)不适用于arguements(int)”。如果您没有假设,我正在使用Eclipse。
感谢。
答案 0 :(得分:-1)
尝试使用此代码:
MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.sound_file_1);
mediaPlayer.start();