Введение в разработку приложений на платформе Atom/MeeGo. Граничин О.Н - 140 стр.

UptoLike

140
QStringList codecs = capture->supportedAudioCodecs();
capture->setAudioCodec( codecs.last() );
Теперь достаточно начать запись по средствам вызова метода:
capture->record();
и остановить её вызовом:
capture->stop();
Фреймворк использует обобщённый класс QMediaPlayer в качестве плеера для всех медиа
файлов. При этом воспроизводить файлы очень просто: необходимо создать экземпляр плеера,
передать имя файла, установить громкость, используемые параметры и инициировать игру. Всё!
QMediaPlayer *player = new QMediaPlayer;
...
player->setMedia(QUrl::fromLocalFile("test.raw"));
player->setVolume(50);
player->play();
Файл не обязан быть локальным, это может быть указатель на удаленный ресурс. Также с
помощью QMediaPlaylist класса из этого интерфейса можно играть список локальных или удаленных
файлов. QMediaPlaylist класс поддерживает построения, управления и воспроизведения плейлистов.
player = new QMediaPlayer;
playlist = new QMediaPlaylist(player);
playlist-> append(QUrl("http://example.com/myfile1.mp3"));
playlist-> append(QUrl("http://example.com/myfile2.mp3"));
...
playlist->setCurrentPosition(1);
player->play();
Для управления плейлистом существуют обычные функции управления (которые на самом деле
реализованы в виде слотов): previous (предыдущий файл), next (следующий), setCurrentPosition
(установка текущей позиции) и shuffle (случайный режим).
11.2.2. Видео
Кроме воспроизведения аудио, интерфейс предоставляет возможности по отображению видео
потоков. Есть определённые преимущества этого интерфейса (применительно к Qt). Во-первых,
разработчик может реализовывать основные функции мультимедиа минимальными силами, в
основном, потому что они уже реализованы. Второеисточник звука не обязан быть локальным
файлом устройстваэто может быть удалённый потоковый файл. А значит нет необходимости в
написании кода, который, определив тип источника (локальный/удалённый), будет скачивать его при
помощи интерфейсов Qt Network и уже дальше передавать на воспроизведениевсё делается парой
методов.
Рассмотрим аналогичный пример по воспроизведению набора видео-файлов.
player = new QMediaPlayer;
playlist = new QMediaPlaylist(player);
playlist->append(QUrl("http://example.com/myclip1.mp4"));
playlist->append(QUrl("http://example.com/myclip2.mp4"));
...
widget = new QVideoWidget(player);
widget->show();
playlist->setCurrentPosition(1);
player->play();
Переход с аудио к видео требует пары изменений в исходный код. Для воспроизведения, код
видео-плейлиста необходимо изменить таким образом, чтобы включить еще один новый мобильный
класс QVideoWidget. Этот класс позволит нам управлять видео-ресурсом, а также с помощью