Как играть в Android в Android-телефоне

Месяц назад я начал работать с телефоном, html5, css3 и jQtouch. Я работаю над приложением, и мне нужно воспроизводить звук в приложении. У меня есть серьезная проблема с этой задачей. Сначала я узнал, что могу воспроизводить файлы .mp3 через телефонную трубку, используя новую функцию Media (...). Я не уверен в файлах .wav, могу ли я их воспроизвести? Во-вторых, я обнаружил, что файлы должны быть меньше 30 секунд, так ли это? В-третьих, я не могу найти подходящее место для своих звуковых файлов. Моя структура проекта следующая:

project
-- src
-- gen
-- assets
-- -- www
-- -- DANCE.mp3
-- -- jqtouch
-- -- -- (some folders and files)
-- -- phonegap.js
-- libs
-- res

Я попытался разместить файл в папке "www" и создать новый, называемый "audio". Ничто из этого не дало мне того, что я хотел. Я использую этот код для исполнения песни:

function playStream() {
    mp3file = new Media("DANCE.mp3",
            function() {
                alert("playAudio():Audio Success");
            },
                function(err) {
                    alert(err);
            }
            );
          mp3file.play();
}

Я использую Android 2.1 Simulator, и я пробовал 2.2, но без успеха. Надеюсь, я был достаточно ясен. Я с нетерпением жду услышать от вас. С уважением, Михаил Великов

Ответ 1

PhoneGap для Android позволяет хранить локальные аудиофайлы в двух местах:  android_asset: имя файла должно начинаться с /android _asset/sound.mp3  sdcard: имя файла просто sound.mp3

Если вы поместите свой файл DANCE.mp3 в свой каталог ресурсов проекта, вы можете воспроизвести его с помощью пути:

mp3file = new Media("/android_asset/DANCE.mp3",
        function() {
            alert("playAudio():Audio Success");
        },
            function(err) {
                alert(err);
        }
        );
      mp3file.play();

(Вы можете прочитать источник AudioPlayer.java в источниках Android PhoneGap, чтобы узнать, как это работает.)

Ответ 2

Могу ли я предложить совет.. Если вы используете проигрыватель PhoneGap Media.. Вам нужно удалить файл://из пути.. Он не принимает полный URI для локальных файлов С уважением Ким

Ответ 3

Я узнал, где была моя ошибка. Звуковой файл, который я хочу воспроизвести, не был помещен правильно, как я думал сначала. Я переместил его в папку /sdcard, и все было просто замечательно! Постскриптум Я использую только имя файла, никаких папок.

Ответ 4

почему вы просто не играете песни, используя тег HTML 5? Ваш взгляд на webView.. не имеет значения, он проще и у вас больше контроля.