ループを使用して未加工のメディア ファイルを再生しようとしています。メディア ファイルを再生するための同期メソッドを作成しました。これはエミュレータでは機能しますが、実際のデバイスでは機能しません。
サウンドを再生する必要がある Question 用の単純な Bean を作成しました。
public class Question {
private String mQuestionString;
private int mSoundFile;
private int mAnswer;
private int mQuestionNo;
public Question() {
mQuestionNo = 0;
mQuestionString = "";
mSoundFile = 0;
mAnswer = 0;
}
public Question(int mQuestionNo, String mQuestionString, int mSoundFile,
int mAnswer) {
super();
this.mQuestionNo = mQuestionNo;
this.mQuestionString = mQuestionString;
this.mSoundFile = mSoundFile;
this.mAnswer = mAnswer;
}
public String getQuestionString() {
return mQuestionString;
}
public void setQuestionString(String mQuestionString) {
this.mQuestionString = mQuestionString;
}
public int getSoundFile() {
return mSoundFile;
}
public void setSoundFile(int mSoundFile) {
this.mSoundFile = mSoundFile;
}
public int getAnswer() {
return mAnswer;
}
public void setAnswer(int mAnswer) {
this.mAnswer = mAnswer;
}
public int getQuestionNo() {
return mQuestionNo;
}
public void setQuestionNo(int mQuestionNo) {
this.mQuestionNo = mQuestionNo;
}
@Override
public String toString() {
return "Question " + mQuestionNo + ". " + mQuestionString;
}
}
これはアクティビティの私のコードです
public class LQActivity extends Activity{
private Vector<Question> mQuestions = null;
private TextView tvQuestion = null;
private Button btnSubmit = null;
private Button btnNext = null;
...
private void prepareQuestions() {
// TODO Auto-generated method stub
mQuestions = new Vector<Question>();
mQuestions.add(new Question(1, "Count the number of the Tabala played",
R.raw.q1, 5));
mQuestions.add(new Question(2,
"Count the number of the persons visited temple", R.raw.q2, 3));
mQuestions
.add(new Question(3, "Count the number of frogs", R.raw.q3, 6));
mQuestions.add(new Question(4,
"Count the number of the cuckoo on the tree", R.raw.q4, 8));
mQuestions.add(new Question(5, "Count the number of the flute played",
R.raw.q5, 7));
}
private synchronized void playQuestion(Question question) {
mMediaPlayer = MediaPlayer.create(this, question.getSoundFile());
mMediaPlayer.start();
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
if (mMediaPlayer != null) {
mMediaPlayer.release();
}
}
mMediaPlayer.release();
}
}
問題はmMediaPlyer.create()
nullを返すことです
正確な問題がわかりません。あなたの助けに感謝します。前もって感謝します...