Объединение двух аудиофайлов

1

Я новичок в java. Я попытался воспроизвести их один за другим, но я получаю сообщение об ошибке. Как объединить два аудиофайла в один? Помоги мне, пожалуйста. Он должен воспроизводить разные звуки, если пользователь вводит другой текст. Я знаю, что между началом звуков должна быть пауза, но как я могу это сделать. Также я могу объединить все звуки для каждой буквы и после этого воспроизвести весь звук?

setContentView(R.layout.main);
    Button bStart = (Button) findViewById(R.id.bStart);
    final EditText etStart = (EditText) findViewById(R.id.etStart);
    final EditText etFinish = (EditText) findViewById(R.id.etFinish);
    final char[] arr = etStart.getText().toString().toCharArray();
    final MediaPlayer as = MediaPlayer.create(R2d2Activity.this, R.raw.as);
    final MediaPlayer bs = MediaPlayer.create(R2d2Activity.this, R.raw.bs);
    final SoundPool sp;
    final int a;
    sp = new SoundPool(2, AudioManager.STREAM_MUSIC, 0);
    a = sp.load(this, R.raw.as, 1);
    bStart.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            for (int i=0; i<1; i++){
                String value = etStart.getText().toString();
                String first = value.substring(i, i + 1);
                if(first.contentEquals("a")){
                sp.play(a, 100, 100, 0, 0, 1);
                }if(first.contentEquals("b")){
                sp.play(b, 100, 100, 0, 0, 1);
                }
            }
  • 2
    Какой-то код был бы хорош ...
  • 0
    попросите своего дизайнера, он сделает это один ...
Показать ещё 3 комментария
Теги:
audio

1 ответ

0
Лучший ответ

Основываясь на вашем комментарии, я думаю, вы должны прочитать документ SoundPool:

http://developer.android.com/reference/android/media/SoundPool.html

final void pause(int streamID); // Pause a playback stream.

Это должно помочь вам.


отредактировано: Если вы хотите заставить свою программу приостановить все звуки, вы можете отделить свой звук от отдельного потока. Просто спать свою нить в течение определенного периода времени.

  • 0
    это не поможет мне, потому что я хочу приостановить всю программу на время звука. Я пытался подождать (getDuration (звук)); используя MediaPlayer, но это не сработало
  • 0
    @ user1437450 Я отредактировал свой ответ. Пожалуйста, проверь это!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню