我是这个Android的新手,我将创建一个示例应用程序,我可以播放音频文件。所以,我将向您展示我创建的课程的一部分:
public class BBOX {
public static final int FORWARD = 0x09;
public static final int BACKWARD = 0x06;
public static final int CLOCKWISE = 0x05;
public static final int COUNTERCLOCKWISE = 0x0a;
public static final int FIRE = 0x10;
static MediaPlayer audioControl;
public static BBOX send(int data){
Context context;
if(data == FORWARD){
audioControl = MediaPlayer.create(context, R.raw.forward_100hz);
audioControl.start();
}
else if(data == BACKWARD){
audioControl = MediaPlayer.create(context, R.raw.backward_200hz);
audioControl.start();
错误在forward_100hz和backward_200hz ...这是我的音频文件.. 我错过了什么?
答案 0 :(得分:0)
不确定你还有什么问题,但至少,你将它传递给MediaPlayer.create的上下文为空。
如果您静态使用此方法,则需要在调用时从Activity中传递上下文。
欢迎来到Stack,顺便说一句。不要忘记标记有助于提高选票的答案。
答案 1 :(得分:0)
在播放音频之前,请准备好媒体播放器。
try {
audioControl = MediaPlayer.create(context, R.raw.forward_100hz);
audioControl.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
audioControl.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer paramMediaPlayer) {
paramMediaPlayer.start();
}
});