Я очень плохо знаком с разработкой для Android и хотел бы знать, как воспроизводить звук SoundPool в вещательном приемнике?
Я где-то читал, что использование SoundPool - это способ воспроизвести звук, но я не знаю, как правильно его настроить.
У меня в папке Eclipse res \ raw есть несколько звуковых файлов, таких как wave и mp3. Я хотел бы воспроизвести файл с именем half.wav
Можете ли вы показать пример кода, который мне нужно поместить в мой приемник?
Вот первая попытка кода, но я получаю сообщение об ошибке, утверждающее, что soundID = soundPool.load (this, R.raw.half, 1);
«Загрузка метода (Context, Int, Int) в типе SoundPool не применима ...»
Вот код для класса:
package ChimeMe.BigBen;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
import android.os.Bundle;
import android.media.AudioManager;
import android.media.SoundPool;
import android.media.SoundPool.OnLoadCompleteListener;
public class AlarmReceiver extends BroadcastReceiver {
private SoundPool soundPool;
private int soundID;
boolean loaded = false;
@Override
public void onReceive(Context context, Intent intent) {
try {
// Load the sound
soundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0);
soundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
@Override
public void onLoadComplete(SoundPool soundPool, int sampleId,
int status) {
loaded = true;
}
});
soundID = soundPool.load(this, R.raw.half, 1);
Toast.makeText(context, "This is the alarm.", Toast.LENGTH_SHORT)
.show();
} catch (Exception e) {
Toast.makeText(
context,
"There was an error somewhere, but we still received an alarm",
Toast.LENGTH_SHORT).show();
e.printStackTrace();
}
}
}
Заранее спасибо.
Действительно,
Эмад