Задать вопрос
@potatos0777

Webview использование нескольких объектов MediaPlayer через @javascript interface параллельно?

Приветик :)

Есть небольшой интерфейс между Webview и AndroidSDK

public class AudioInterface {
        Context mContext;

        AudioInterface(Context c) {
            mContext = c;
        }

        //Play an audio file from the webpage
        @JavascriptInterface
        public void playAudio(String name, String src) { //String aud - file name passed
            //from the JavaScript function
            final MediaPlayer mp;
            try {
                AssetFileDescriptor fileDescriptor = mContext.getAssets().openFd(src);
                mp = new MediaPlayer();
                mp.setDataSource(fileDescriptor.getFileDescriptor(),fileDescriptor.getStartOffset(),fileDescriptor.getLength());
                fileDescriptor.close();
                mp.prepare();
                mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
                    @Override
                    public void onPrepared(MediaPlayer mp) {
                        mp.start();
                    }
                });
                mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                    @Override
                    public void onCompletion(MediaPlayer mp) {
                        mp.release();
                    }
                });
            } catch (IllegalArgumentException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IllegalStateException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }


И его вызов посредством Javascript
playSound("play_1","blabla.mp3");

Надо не только проиграть, но еще и уметь проиграть несколько, да еще и параллельно, к тому же иметь возможность контролировать (запускать, останавливать, удалять).
То-есть вероятно надо создавать обьект с именем из String name
playAudio(String name, String src)
вот тут
final MediaPlayer mp;
и далее

Или может быть у MediaPlayer есть какие то встроенные методы для этого.
Помогите супер-программисты, a.
Спасибо заранее!
  • Вопрос задан
  • 26 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы