все еще на воспроизведении аудио файлов на моем приложении для Android - PullRequest
0 голосов
/ 02 января 2012

Я новичок в этой вещи для 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 голосов
/ 02 января 2012

Просто подготовьте медиаплеер перед воспроизведением аудио.

    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();
        }
    });
0 голосов
/ 02 января 2012

Не уверен, что еще вы делаете неправильно, но, по крайней мере, ваш контекст равен нулю, когда вы передаете его MediaPlayer.create.

Если вы используете этот метод статически, вы будетенеобходимо передать контекст из вашей деятельности, когда вы вызываете его.

Добро пожаловать в стек, кстати.Не забудьте пометить ответы, которые полезны для голосов "за".

...