仍然在我的Android应用程序上播放音频文件

时间:2012-01-02 08:34:29

标签: android android-mediaplayer

我是这个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 ...这是我的音频文件.. 我错过了什么?

2 个答案:

答案 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();
        }
    });