почему звук проигрывается не всегда?, phonon |
Здравствуйте, гость ( Вход | Регистрация )
почему звук проигрывается не всегда?, phonon |
mezmay |
22.3.2011, 14:07
Сообщение
#1
|
Активный участник Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: 1 |
Описываю медиа-объект:
Инициализирую вот так:
По нажатию на кнопку делаю:
По нажатию на кнопку нужный зук поначалу прогирывается, но через некотрое время по нажатию на кнопку звук перестает проигрываться. Почему?? p.s. все это на windows mobile 6.1 professional. Qt 4.6.1 Сообщение отредактировал mezmay - 22.3.2011, 14:08 |
|
|
mezmay |
23.3.2011, 11:42
Сообщение
#2
|
Активный участник Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: 1 |
Уточняю информацию - у меня могут проигрываться 2 звука одновременно. Первый проигрывается периодически (в моменты обнаружения радио-меток, это может произойти в любой момент), второй - только по нажатию на одну кнопку. Таким образом, возможно одновременное проигрыание двух звуков.
Инициализация медиа-объектов:
В функции обнаружения метки звук прогирывается так:
По нажатию на кнопку:
В таком состоянии звук первые пару минут прогрывается как надо (в том числе и одновременно, если совпадают нажатие и обнаружение), а потом перестают проигрываться и тот и другой... Но если закомментировать прогрывание звука в функции обнаружения
то по нажатию на кнопку звук будет стабильно проигрываться всегда. Выводы: одно из двух)): 1. Я неправильно работаю с медиа-объектами (в чем ошибка?) 2. Глючит Phonon... |
|
|
mezmay |
23.3.2011, 17:18
Сообщение
#3
|
Активный участник Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: 1 |
И все-таки даже когда только 1 медиа-объект - все равно глючит...
|
|
|
ufna |
23.3.2011, 17:59
Сообщение
#4
|
Активный участник Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: 5 |
чет мне кажется, что зря ты каждый раз при плее задаешь медиа сорс - скорее всего у тебя оперативка вся забивается после нескольких раз, т.к. сорс открывается заново, а старый - засчет path'а еще жив.
Задавай медиа сорс один раз, потом плей. При окончании проигрывания, откатывай на ноль (тупо стоп к примеру или seek(0)), и далее плей отлично заново идет. |
|
|
mezmay |
24.3.2011, 12:08
Сообщение
#5
|
Активный участник Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: 1 |
Да твой вариант работает. Только как быть если мне в различных ситуациях надо проигрывать до 15-ти аудиофайлов? Создавать массив из 15 медиаобъектов, каждому 1 раз задавать сорс, соединять их с 15-ю аудиоаутпутами...? И следить чтобы все это одновременно не проигрывалось?
Я сделал так, но при этом перестал работать дополнительный поток, который никак со звуком не связан. В общем пока какие-то неразрешимые проблемы с фононом. Может все-таки посоветуешь другую кроссплатформенную библиотеку чтобы Win CE поддерживала? |
|
|
ufna |
24.3.2011, 15:02
Сообщение
#6
|
Активный участник Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: 5 |
Другую никакую не посоветую, ибо поверь мне, там ты наимеешься еще больше, я прежде чем стал юзать фонон очень на многое ругался Можешь напрямую DirectShow юзать как вариант, но кроссплатформенно, для винце - фонон. FFMpeg крут, но его собирать... ))
Если перестал работать доп. поток, ищи проблему в другом. К примеру, память. Или еще что. В случае 15 файлов - останавливай, выгружай, загружай новый файл. А ты просто не выгружал предыдущий файл. |
|
|
mezmay |
24.3.2011, 17:12
Сообщение
#7
|
Активный участник Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: 1 |
Плюнул на Phonon и написал свой маленький класс. Главное что мне было нужно, кроме проигрывания - индикация завершения проигрывания:
Файл csound.h: Раскрывающийся текст
файл csound.cpp: Раскрывающийся текст
|
|
|
ufna |
24.3.2011, 21:51
Сообщение
#8
|
Активный участник Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: 5 |
вавки вопроизводить кстати не лучшая идея для бедных винце
а так - с фононом все ок, если что-то не ок, то проблема в логике |
|
|
mezmay |
25.3.2011, 15:34
Сообщение
#9
|
Активный участник Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: 1 |
|
|
|
ufna |
28.3.2011, 13:35
Сообщение
#10
|
Активный участник Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: 5 |
Ты не поменял логику использования, т.е. "интерфейс", но логика внутренняя в целом поменялась
|
|
|
Текстовая версия | Сейчас: 3.1.2025, 3:57 |