Странный звук зацикливается на клике - PullRequest
0 голосов
/ 08 октября 2011

У меня просто есть звук, который исполняется при нажатии кнопки.В эмуляторе все работает нормально, но звук # 2 воспроизводится в бесконечном цикле, когда я запускаю на своем телефоне.

Возможно, это проблема телефона. Я скачал с рынка другие приложения с такими странными звуковыми петлями.(У меня есть Droid 2)

Объявления:

final MediaPlayer mp1 = MediaPlayer.create(this, R.raw.sound1);
final MediaPlayer mp2 = MediaPlayer.create(this, R.raw.sound2);

Код кнопки 1 выглядит следующим образом.

button1.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {                       
                    mp1.start();
                    textView1.setText("Hello");
                  }
            });

Код кнопки 2 выглядит следующим образом (этозацикленный)

    button2.setOnClickListener(new OnClickListener() {      
        public void onClick(View v) {
            count++;      
            mp2.start();                
            iv1.setVisibility(View.VISIBLE);                                    
            if (count == 5) {                 
                //I do some enabling of components in here      
            }                   
        }         
    });

Я пытался

.stop()
.setLooping()
.pause()

, а также двигался .start() после и перед оператором if. Все это приводит к тому, что оно все еще зацикливается или не воспроизводит звук ввсе.

Ответы [ 2 ]

1 голос
/ 08 октября 2011

Если вы поменяете местами R.raw.sound1 с R.raw.sound2, проблема зацикливания останется со вторым медиаплеером или она будет следовать за sound2?

Я не эксперт по формату звукафайлы, но это может быть проблемой с самим файлом.Попробуйте открыть файл в Audacity и обрезать последние 10 мс, затем сохранить его как нечто новое и посмотреть, существует ли проблема в новом файле.

1 голос
/ 08 октября 2011

Попробуйте добавить OnCompletionListener для этого MediaPlayers с

mp.stop();

http://developer.android.com/reference/android/media/MediaPlayer.OnCompletionListener.html

Надеюсь, это поможет вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...