Intereting Posts
Как ссылаться на строку в файле strings.xml библиотеки Android в коде? Android читает большой файл по строкам Как создать собственные компоненты для Android и использовать их из библиотеки jar? Как очистить кеш и перезагрузить изображение в Picasso? Android Stringblock.get Исключение NullPointer на Lollipop AlertDialog с положительной кнопкой и проверка пользовательского EditText Пользовательский вид EditText для Android и NextFocusDown Как найти xpath в мобильном приложении с помощью appium Как использовать адаптер во время заполнения макетов Как хранить и извлекать растровые изображения в sharedPreferences в Android? Android. Лучший способ дать разработчику возможность узнать об исключенных исключениях Google Analytics с Android: программно установить ga_reportUncaughtExceptions? Android Gradle 1.0. Вычисление кода версии в настройке с несколькими вкусами Лучший способ использовать Google API, используя OAuth 2.0 на Android Как получить уведомление, когда устройство подключается к вашему Wi-Fi-модему Wi-Fi Wi-Fi?

Phonegap 3.0 Media API – сломан?

Я пытаюсь играть и аудиофайл в Phonegap 3.0, работая на Windows, платформе Android, отлаживая Eclipse.

Я пытаюсь обновить свои рабочие, без ошибок, приложение до 3.0 и у меня много проблем.

Например, когда я воспроизвожу звук, он воспроизводится, тогда я получаю ошибку переименования файла в несуществующем файле tmp из API MediaRecorder? Однако я не называю переименование или запись.

  • Похоже, что после вызова успеха для команды воспроизведения звука вызывается API звуковой записи. Должны быть некоторые серьезные ошибки в работе 3.0.

Вот журнал. Поскольку вы можете видеть, что звуковой файл воспроизводится нормально, по какой-то причине MediaRecorder вызывается и он пытается переименовать файл tmp, который не существует. Готовьте, что мой код не изменился во время обновления, поэтому нет причин для каких-либо из этих ошибок. Я следую API Media Play из документации 3.0. Я также получаю новые предупреждения о предупреждении потока. Звуковой файл, который я воспроизвожу, – это короткий клип под 100 КБ.

Плагин добавлен с помощью инструмента CLI, я добавил код функции в файл config.xml, и я добавил разрешения в файл манифеста. Я читал, что у других возникает эта проблема, и нет никакого решения.

09-08 15:06:07.821: D/webview(9279): [WebView::UPDATE_SELECTION] ====== start 09-08 15:06:07.951: V/MediaRecorderJNI(9279): setup 09-08 15:06:07.951: V/MediaRecorderJNI(9279): setMediaRecorder E: mr = mr 09-08 15:06:07.951: V/MediaRecorderJNI(9279): setMediaRecorder X 09-08 15:06:07.961: W/PluginManager(9279): THREAD WARNING: exec() call to Media.create blocked the main thread for 31ms. Plugin should use CordovaInterface.getThreadPool(). 09-08 15:06:07.961: I/AudioSystem(9279): getting audio flinger 09-08 15:06:07.961: I/AudioSystem(9279): returning new audio session id 09-08 15:06:07.971: D/MediaPlayer(9279): setDataSource(FileDescriptor fd) in 09-08 15:06:07.981: D/dalvikvm(9279): GC_CONCURRENT freed 421K, 49% free 3166K/6151K, external 0K/0K, paused 2ms+3ms 09-08 15:06:08.021: D/MediaPlayer(9279): setDataSource(FileDescriptor fd) out 09-08 15:06:08.041: W/PluginManager(9279): THREAD WARNING: exec() call to Media.startPlayingAudio blocked the main thread for 78ms. Plugin should use CordovaInterface.getThreadPool(). 09-08 15:06:08.041: D/CordovaLog(9279): file:///android_asset/www/js/test.js: Line 1463 : maxTempCount: 1 09-08 15:06:08.041: I/Web Console(9279): maxTempCount: 1 at file:///android_asset/www/js/test.js:1463 09-08 15:06:08.041: D/AudioPlayer(9279): Send a onStatus update for the new seek 09-08 15:06:08.041: D/MediaPlayer(9279): start() in 09-08 15:06:08.051: D/MediaPlayer(9279): start() out 09-08 15:06:11.465: D/AudioPlayer(9279): on completion is calling stopped 09-08 15:06:11.545: D/CordovaLog(9279): file:///android_asset/www/js/test.js: Line 1391 : playAudio():Audio Success: sound.mp3 09-08 15:06:11.545: I/Web Console(9279): playAudio():Audio Success: sound.mp3 at file:///android_asset/www/js/test.js:1391 09-08 15:06:11.555: D/MediaPlayer(9279): release() in 09-08 15:06:11.565: D/MediaPlayer(9279): release() out 09-08 15:06:11.565: V/MediaRecorderJNI(9279): native_reset 09-08 15:06:11.565: V/MediaRecorderJNI(9279): getMediaRecorder E 09-08 15:06:11.565: V/MediaRecorderJNI(9279): process_media_recorder_call 09-08 15:06:11.565: D/AudioPlayer(9279): renaming /mnt/sdcard/tmprecording.3gp to /mnt/sdcard/Downloaded/sound.mp3 09-08 15:06:11.565: E/AudioPlayer(9279): FAILED renaming /mnt/sdcard/tmprecording.3gp to /mnt/sdcard/Downloaded/sound.mp3 09-08 15:06:11.565: V/MediaRecorderJNI(9279): release 09-08 15:06:11.565: V/MediaRecorderJNI(9279): setMediaRecorder E: mr = null 09-08 15:06:11.575: V/MediaRecorderJNI(9279): setMediaRecorder X 09-08 15:06:11.575: W/PluginManager(9279): THREAD WARNING: exec() call to Media.release blocked the main thread for 19ms. Plugin should use CordovaInterface.getThreadPool(). 09-08 15:06:11.585: D/CordovaLog(9279): file:///android_asset/www/js/test.js: Line 1628 : ==LOG== flag: sound.mp3 result: 3 09-08 15:06:11.585: I/Web Console(9279): ==LOG== flag: sound.mp3 result: 3 at file:///android_asset/www/js/test.js:1628 

Я чувствую твою боль. Я потратил много времени на прослушивание аудио и видео для работы на iOS и ANDROID в моем приложении PhoneGap … почти со слезами, когда у меня все работает. Как только я перешел на другую сторону, я сделал все, что мог, чтобы извлечь основные функциональные возможности в автономный набор файлов, чтобы я мог снова или снова использовать его повторно. Не стесняйтесь смотреть и тестировать, если хотите:

BTW – здесь функциональность использует API PhoneGap Media для аудио, когда это возможно. Дайте мне знать, если это вообще поможет.