2013-06-26 3 views
0

В настоящее время я создаю игру с corona sdk. При создании игры я столкнулся с проблемами при воспроизведении аудиофайлов. Проблема заключалась в том, что теннисный мяч отбрасывается на землю, и звук должен воспроизводиться. Но случилось то, что аудио было отложено на секунду. На эмуляторе звук был синхронизирован, но пока я портировал apk на мою галактику s2, версия Android 4.2.2 я столкнулся с задержкой. Ниже приведен код, который я использовал для воспроизведения звука.Задержка звука на эмуляторе в короне sdk

Я загрузил аудиофайл первого в программе выполняется:

local audio = audio.loadSound("hit ball.mp3") 

Тогда где-то в середине я столкновение и столкновение я играл, что аудиофайл:

local function onCollisionSound() 
     audio.play(audio) 
end 

ball:addEventListener("collision", onCollisionSound) 

Я также попытался с Media API, но он также не работал.

+0

Вы пытались установить на более высоких телефонах? – DevfaR

ответ

1

Это может быть проблема с OpenAL. Все методы audio.* основаны на OpenAL, который не поддерживается на основе Android NDK (который поддерживает OpenSL ES). Решение, чтобы сделать его работу еще немного глючит и может введена задержка с некоторыми Android версии/устройства:

(непосредственно из документации Corona SDK от audio.play())

Примечание: известная проблема с Android заставляет звук задерживаться на 1 до 2 секунд при запуске.

Вы можете попробовать использовать устаревшееmedia.* API вместо, который не использует OpenAL, это может решить вашу проблему.

+0

Спасибо за ответ. Я использовал media api, но теперь я чувствую паузу в игре, пока она играет звук. Например, если мяч должен касаться земли, прежде чем он сможет коснуться земли, он висит, а затем касается земли, но звук синхронизируется. – Kamran

0

Как правило, с Android 4.1 и более поздними версиями аудио. * API-вызовы не должны отставать. Google исправил ошибку в версии 4.1, но в старых версиях это все равно может быть проблемой. Однако это не означает, что производитель устройств не сделал некоторые вещи, которые ухудшили производительность звука. Когда требуется точное время, мы рекомендуем использовать медиа. * API-вызовы.

Также убедитесь, что ваш звуковой клип не имеет никаких задержек в начале.