Как играть в 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.. не имеет значения, он проще и у вас больше контроля.