Название: QSound ??? или нет Отправлено: jatsuk от Февраль 24, 2012, 07:28 Задача - проиграть звук 1 раз.
нужна пауза, остановка и проигрывание звука с определенного места (например передавать через Slider). Реально ли это сделать с помощью QSound ?? или нужно использовать что то другое ?? P.S. сделал только проигрывание и стоп... Название: Re: QSound ??? или нет Отправлено: Bepec от Февраль 24, 2012, 08:12 Лучше Phonon использовать.
Насколько я знаю - QSound позволяет производить/зацикливать/останавливать звук. Т.е. проигрывания с определённой точки - не видать. Только с начала файла ;) Phonon может сделать всё то, что ты хочешь ;) Название: Re: QSound ??? или нет Отправлено: jatsuk от Февраль 24, 2012, 08:44 Спасибо, так не хотелось разбираться с фононом, но видимо придется ;)
Название: Re: QSound ??? или нет Отправлено: Bepec от Февраль 24, 2012, 09:17 В путь (А ещё лучше удали темку, особой информации ведь не содержит :) )
Название: Re: QSound ??? или нет Отправлено: QtCoder от Февраль 24, 2012, 09:27 Минусы QSound - нельзя проигрываемый файл положить в ресурсы.
У фонона можно играть прямо из ресурсов, но при первой загрузке фонон грузит кодеки и подтормаживает программу. Даже если там простой wav. Название: Re: QSound ??? или нет Отправлено: Bepec от Февраль 24, 2012, 09:41 QSound проигрывает файлы откуда угодно, исключая сетевые ресурсы.
Из своего файла ресурсов файл играет так же превосходно, как и из чистого файла. QtCoder - не пробовал, не вводи людей в заблуждение ;) Название: Re: QSound ??? или нет Отправлено: popper от Февраль 24, 2012, 09:48 Делал подобную задачу через QAudioOutput.
Во вложенном архиве исходники с реализацией простого виджета управления проигрыванием звука. Название: Re: QSound ??? или нет Отправлено: QtCoder от Февраль 24, 2012, 10:06 QSound проигрывает файлы откуда угодно, исключая сетевые ресурсы. Из своего файла ресурсов файл играет так же превосходно, как и из чистого файла. QtCoder - не пробовал, не вводи людей в заблуждение ;) Из доки для Qt 4.7.1 Цитировать Note that QSound does not support resources. This might be fixed in a future Qt version. И да, я пробовал. Кто тут вводит в заблуждение еще вопрос Название: Re: QSound ??? или нет Отправлено: Bepec от Февраль 24, 2012, 10:13 Версия 4.7.2 - поддерживат :D номер правки и её статус найдёшь сам, если захочешь ;)
Название: Re: QSound ??? или нет Отправлено: kirill от Февраль 29, 2012, 21:09 Версия 4.7.2 - поддерживат :D номер правки и её статус найдёшь сам, если захочешь ;) Проверил на 4,7,2 - не работает.Зачем ты вводишь людей в заблуждение? Дай пруфлинк что оно работает хоть в какой-то версии Qt. Открыл доку по 4.8 "Note that QSound does not support resources. This might be fixed in a future Qt version." >:( Название: Re: QSound ??? или нет Отправлено: Bepec от Март 01, 2012, 07:05 up
Название: Re: QSound ??? или нет Отправлено: kolob от Май 21, 2012, 22:36 А документации написано вот что:
Цитировать Note that QSound does not support resources. Цитировать QSound проигрывает файлы откуда угодно, исключая сетевые ресурсы. Из своего файла ресурсов файл играет так же превосходно, как и из чистого файла. Если у тебя получилось, примерчик можешь показать? Название: Re: QSound ??? или нет Отправлено: Kurt от Май 22, 2012, 12:00 QSound в 4.8.1 под Windows не использует Qt-ресурсы, так как вызов QSound:play просто запускает в отдельном потоке соответствующую winapi функцию:
Код: int flags = SND_FILENAME|SND_ASYNC; Для себя делал костыль, wav-файлы складывал все таки в Qt-ресурсы и при запуске копировал в директорию с приложением: Код: //================================================================================================= Название: Re: QSound ??? или нет Отправлено: Kurles от Май 22, 2012, 12:15 QSound в 4.8.1 под Windows не использует Qt-ресурсы, так как вызов QSound:play просто запускает в отдельном потоке соответствующую winapi функцию: Не совсем корректный костыль - далеко не всегда у пользователя есть права писать в директорию с папкой программы, более правильно использовать либо QTemporaryFile, если QSound наплевать на расширение, либо связку QString QDir::tempPath () [static] + QFile и удалять файлы при выходе из программы или по окончании их использования.Для себя делал костыль, wav-файлы складывал все таки в Qt-ресурсы и при запуске копировал в директорию с приложением: |