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

问题描述:

我是新来的这个Android的东西,我即将创建一个示例应用程序,我可以播放音频文件。所以,我会告诉你我创建的类的一部分:仍然在播放我的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

您面临哪个错误? – 2012-01-02 08:39:40

不知道你在做什么错了,但至少在你传递给MediaPlayer.create的时候你的上下文是空的。

如果您静态使用此方法,则在您调用它时需要从Activity中传递上下文。

欢迎来到堆栈,顺便说一句。不要忘记标记有助于得票的答案。

只需在播放音频之前准备好媒体播放器。

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