2013-07-16 2 views
4

Выполняет ли звуковой тег приложение для Android?
Я искал какое-то время, но я не могу найти сообщение, которое говорит мне, поддерживается ли оно или нет, или что мне нужно сделать, чтобы оно работало.html5 аудио на apache cordova родное приложение Android

<audio id="Multimedia1" controls="controls" width="100%" height="30px"> 
<source src="file:///android_asset/www/Resources/audio.mp3"> 
Your browser does not support audio. 
</audio> 

Он не загружает аудио. Я пробовал разные пути, такие как:

Resources/audio.mp3 
www/Resources/audio.mp3 
file:///android_asset/www/Resources/audio.mp3 

Если я просматриваю index.html в браузере (не родное приложение), звук играет хорошо с относительным путем.

Но я просто не могу заставить его работать с приложением apache cordova.

Любые идеи? Спасибо заранее!

ответ

3

У меня была такая же проблема с тегами audio из HTML5 в Cordova 2.3.0. То, что я в конечном итоге делает было просто играть их с помощью JavaScript:

Вот что audio.js Я положил в JS папку:

function playAudio(src) { 
    src = '/android_asset/www/' + src; 
    var media = new Media(src, success, errorThrown); 
    media.play(); 
} 

function success() {} 
function errorThrown(e) { 
    alert('Error while playing the sound!'); 
} 

И тогда в вашем HTML код, который вы делаете:

<script src="js/audio.js"></script> 

И играть звук добавить это в <script> блоке:

playAudio("media/your_sound.wav"); 
+0

Спасибо! Я отказался от попыток сделать звуковой тег работать и использовал ту же стратегию. –

2

Такая же проблема: я обнаружил, что проблема заключается в том, что для использования функции .play() в аудио HTML5 она должна выполняться в обработчике событий пользовательского интерфейса (например, щелчок), как описано здесь:

https://code.google.com/p/chromium/issues/detail?id=178297

Это общая политика в мобильных браузерах, чтобы попытаться избежать сайтов, которые AutoPlay материала и прогореть данные это кажется. Можно использовать этот https://gist.github.com/blairvanderhoof/9380545, чтобы настроить веб-просмотр, используемый приложением, чтобы обойти это. Я работаю над созданием плагина, который при установке изменит это поведение.

-Mike