c_breaker Опубликовано 31 января, 2016 Поделиться Опубликовано 31 января, 2016 В приложении есть коллекция медиаплееров, в каждый экземпляр медиаплеера загружен определенный файл. По таймеру проигрываются те или иные файлы. Проблема: не все звуки проигрываются. метод play вызывается, но звука нет. закономерности не обнаружил - просто какие-то съедаются. Если кто-то сталкивался с подобной проблемой, или знает, в чем дело - проконсультируйте. Цитата Ссылка на комментарий
0 Администраторы Brovin Yaroslav Опубликовано 31 января, 2016 Администраторы Поделиться Опубликовано 31 января, 2016 Какая платформа? Цитата Ссылка на комментарий
0 zairkz Опубликовано 31 января, 2016 Поделиться Опубликовано 31 января, 2016 (изменено) CurrentTime обнуляете? Например: MediaPlayer1.CurrentTime := 0; MediaPlayer1.Play; И еще для информации, mp3 на iOS не проигрываются вроде как. Сорян.. mp3 отлично проигрывается) а вот AAC как раз таки нет, странно... фаза луны совсем не та походу) Изменено 31 января, 2016 пользователем zairkz Цитата Ссылка на комментарий
0 c_breaker Опубликовано 31 января, 2016 Автор Поделиться Опубликовано 31 января, 2016 android тот же код под виндой работает как и предполагалось. currenttime обнуляю. begin Logger.Log(Format('-->>Enter TSoundBank.PlaySound(SoundType(%d))',[Ord(SoundType)])); if not FSounds.TryGetValue(SoundType, mp) then raise Exception.Create('Cannot find sound of such type : TSoundTypes('+ IntToStr(Ord(SoundType)) + ')'); case mp.State of TMediaState.Unavailable: raise Exception.Create('Sound of such type : TSoundTypes('+ IntToStr(Ord(SoundType)) + ') is UNAVAILABLE!') ; TMediaState.Playing: begin Logger.Log(Format(' mp.State = Playing',[Ord(SoundType)])); mp.Stop; end; end; mp.CurrentTime := 0; mp.Play; Logger.Log(Format('<<--Exit TSoundBank.PlaySound(SoundType(%d))',[Ord(SoundType)])); end; в метод входит и замечательно выходит, вероятность возникновения при этом звука - пока не определена) Цитата Ссылка на комментарий
0 c_breaker Опубликовано 15 февраля, 2016 Автор Поделиться Опубликовано 15 февраля, 2016 Может кому поможет - проблема решилась использованием андроидовского SoundPool: создание: FSoundPool := TJSoundPool.JavaClass.init(10, TJAudioManager.JavaClass.STREAM_MUSIC,0); добавление звуков: FSoundPool.load(StringToJString(FileName),1); проигрывание: FSoundPool.play(i,1,1,0,0,1); Maka, Rusland и Равиль Зарипов (ZuBy) 3 Цитата Ссылка на комментарий
0 Rusland Опубликовано 16 февраля, 2016 Поделиться Опубликовано 16 февраля, 2016 (изменено) c_breaker, спасибо за пример. Здесь еще одно демо проигрывания звуковых файлов. Изменено 16 февраля, 2016 пользователем Rusland Цитата Ссылка на комментарий
Вопрос
c_breaker
В приложении есть коллекция медиаплееров, в каждый экземпляр медиаплеера загружен определенный файл.
По таймеру проигрываются те или иные файлы.
Проблема: не все звуки проигрываются. метод play вызывается, но звука нет. закономерности не обнаружил - просто какие-то съедаются.
Если кто-то сталкивался с подобной проблемой, или знает, в чем дело - проконсультируйте.
Ссылка на комментарий
5 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.