|
Поддержка проигрывания MP3 в WebView веб-приложении, как сделать stop()?
|
|||
---|---|---|---|
#18+
Всем привет! Делаю приложение для Android как web-based. Поддержку <audio> ввели только с Gingerbread, а до этого приходится искать обходной путь с проигрыванием аудио в HTML5-приложениях :) После долгих поисков на просторах Интернета был найден класс, добавляющий поддержку MP3-файлов через JavaScript с HTML-страницы (автор Kyle Barrows ), вот он: Код AudioInterface.java Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48.
К сожалению, в нем нет поддержки функции stop() или остановки предыдущего файла, то есть, запустив долгий mp3-файл, затем запустив другой файл, старый файл не останавливается и новый файл "накладывается" звучанием. Моя проблема в том, что я полный ноль в Java, поэтому и была выбрана форма web-based приложения (т.к. работаю на js), где из Java только компонент WebView, а само приложение в виде HTML-файла в папке /assets. Можно в этом классе сделать функцию stop() для остановки файла или, как вариант, предварительно останавливать играющий файл? Пробовал вставлять перед mp.start() функции mp.stop(), mp.release(), mp.reset() и с условием if (mp.isPlaying()), но из-за кривизны моих рук приложение либо не реагирует, либо поддержка аудио вообще перестает работать. Даже просто остановка предыдущих поможет, т.к. можно для остановки проигрывать 1-секундный тихий файл, "эмулируя" stop(). Уважаемые Java-программисты, если это не трудно, пожалуйста подскажите. Большое спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
26.04.2014, 14:51 |
|
Поддержка проигрывания MP3 в WebView веб-приложении, как сделать stop()?
|
|||
---|---|---|---|
#18+
Добавляю в AudioInterface.java после объявления класса медиаплеера "mp = new MediaPlayer();" такой код: Код: sql 1. 2. 3. 4.
Но он как будто его не видит, также продолжает "наслаивать" следующие аудиофайлы, не останавливая предыдущие! Пожалуйста ткните меня носом, в какую сторону копать, перерыл весь stackoverflow, 48 раз пересобирал приложение, но так и не решил эту проблему. Заранее огромное спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2014, 00:18 |
|
Поддержка проигрывания MP3 в WebView веб-приложении, как сделать stop()?
|
|||
---|---|---|---|
#18+
вообще логично, вы же каждый раз новый объект MediaPleer создаете. я бы, попробовал как то так переделать. на вскидку в принципе сильно думать лень. Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49.
... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2014, 11:37 |
|
Поддержка проигрывания MP3 в WebView веб-приложении, как сделать stop()?
|
|||
---|---|---|---|
#18+
Джибс , огромное спасибо! Работает остановка предыдущего аудиофайла! :) Дополнительно сейчас поштудировал про видимость переменных, вынес ссылочную переменную mp из функций в сам класс, сделал ее видимость public вместо final, а в класс добавил функцию stopAudio() с остановкой объекта - и стала работать и отдельно остановка проигрывающегося аудиофайла. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.04.2014, 19:57 |
|
|
start [/forum/topic.php?fid=13&fpage=25&tid=1331640]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
30ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 128ms |
0 / 0 |