Мультимедийная служба Apple
Мультимедийная служба Apple является основной службой Bluetooth 4.0, служба UUID которой 89D3502B-0F36-433A-8EF4-C502AD55F8DC.
Только один экземпляр AMS может присутствовать на MS. Вследствие природы iOS AMS, как гарантируют, всегда не будет присутствовать. В результате MR должен искать и подписать на Службу Измененную характеристику службы GATT для контроля потенциальной публикации и непубликации AMS в любое время.
Базовые принципы
MS представляет информацию о ее состоянии способом предопределенных объектов, каждый из которых представляет свое состояние способом предопределенных атрибутов. AMS определяет 3 отличных объекта, каждого с различным набором атрибутов:
Проигрыватель: в настоящее время активное мультимедийное приложение. Атрибуты для этого объекта включают значения, такие как его имя, воспроизводят состояние и громкость воспроизведения.
Очередь: в настоящее время загруженная очередь воспроизведения. Атрибуты для этого объекта включают значения, такие как его размер и его перестановка и повторные режимы.
Дорожка: в настоящее время загруженная дорожка. Атрибуты для этого объекта включают значения, такие как его художник, заголовок и продолжительность.
Полный список атрибутов для каждого из этих объектов доступен в Приложении A, Ссылке.
MR может хотеть знать только значение определенного подмножества пар объекта/атрибута. Для каждого объекта MR должен указать один раз к MS, каких пар объекта/атрибута, если таковые имеются, он хочет контролировать. MS тогда уведомит MR начальной буквы, текущую стоимость всех зарегистрированных пар объекта/атрибута, и впоследствии уведомит MR каждый раз, когда изменяются эти значения.

Эксплуатационные характеристики
В его канонической форме AMS представляет три характеристики:
Удаленная команда:
UUID 9B3C81D8-57B1-4A8A-B8DF-0E56F7CA51C2(writeable)Обновление объекта:
UUID 2F7CABCE-808D-411F-9A0C-BB92BA96C102(writeable с ответом, подлежащим регистрации)Атрибут объекта:
UUID C6B2F38C-23AB-46D8-A6AB-A3A870BBD5D7(читаемый, writeable)
Любое подмножество этих характеристик может поддерживаться.
Удаленная команда
Удаленная характеристика Команды является характеристикой, которой MR может отправить удаленные команды для влияния на состояние воспроизведения MS, такого как Игра, Следующая Дорожка, Объем Увеличения, и т.д. Полный список возможных команд доступен в Приложении.
Формат Удаленного запроса Команды показан ниже:
Байт | Значение |
|---|---|
1 |
|
Удаленный запрос Команды содержит следующую информацию:
RemoteCommandID: команда носителей, которая будет выполняться.
Успешная запись подразумевает, что команда была успешно направлена к активному медиапроигрывателю. Это не гарантирует, что проигрыватель фактически действовал на него.
Обновление объекта
Характеристика Обновления Объекта является характеристикой, которой MR может сообщить MS, какие пары объекта/атрибута это интересуется, и быть информированным об изменениях на них каждый раз, когда они происходят. Например, MR можно сообщить о заголовке в настоящее время загруженной дорожки или имени активного мультимедийного приложения.
По умолчанию MR не получает информации ни о каком атрибуте никакого объекта. Для получения этих данных MR сначала должен подписаться для уведомлений GATT на характеристике Обновления Объекта. Затем MR пишет команды в характеристику Обновления Объекта для информирования MS, какие значения пары объекта/атрибута она хочет знать.
Формат команды Entity Update, отправленной MR, показан ниже:
Байт | Значение |
|---|---|
1 |
|
2 |
|
3 |
|
... | прочее. |
Команда Entity Update содержит следующую информацию:
EntityID: объект последующие атрибуты соответствует.
AttributeIDs: список атрибутов MR хочет знать.
Если запись будет успешна, то MR сразу начнет получать значения пар объекта/атрибута, которых она зарегистрировала для контроля в форме уведомлений GATT для той же характеристики.
Формат уведомлений GATT, поставленных MS, показан ниже:
Байт | Значение |
|---|---|
1 |
|
2 |
|
3 |
|
4... |
|
Уведомление GATT, поставленное через характеристику Обновления Объекта, содержит следующую информацию:
EntityID: объект, которому соответствует последующий атрибут.
AttributeID: атрибут, значение которого отправляется в уведомлении.
EntityUpdateFlags: битовая маска, биты набора которой дают MR определенную информацию об уведомлении. Например, MR можно было сообщить, что данные должны были быть усеченными для вписывания в уведомление GATT.
Значение: строка, соответствующая значению, связанному с данным атрибутом.
Атрибут объекта
Характеристика Атрибута Объекта является характеристикой, которой MR может получить расширенное значение атрибута.
Эта характеристика должна идеально только использоваться, если бы значение пары объекта/атрибута было отмечено как усеченное в соответствующем уведомлении Обновления Объекта, и MR хочет вывести на экран больше присваиваемого значения.
Для получения полной стоимости определенной пары объекта/атрибута MR должен сначала отправить команду путем записи в характеристику Атрибута Объекта.
Формат команды Entity Attribute показан ниже:
Байт | Значение |
|---|---|
1 |
|
2 |
|
Команда Entity Attribute содержит следующую информацию:
EntityID: объект последующий атрибут соответствует.
AttributeID: атрибут, значение которого должно быть загружено как значение характеристики.
Если запись успешна, значение соответствующей пары объекта/атрибута загружается как значение характеристики Атрибута Объекта и может просто быть считано MR в его удобстве.
Коды ошибки
При записи в любую характеристику, или при чтении Атрибута Объекта, MR может получить следующие специфичные для AMS коды ошибки:
Недопустимое состояние (0xA0): MR должным образом не установил AMS, например, это записало в характеристику Атрибута Обновления или Объекта Объекта, не подписываясь на уведомления GATT для характеристики Обновления Объекта.
Недопустимая Команда (0xA1): команда была неправильно отформатирована.
Отсутствующий Атрибут (0xA2): соответствующий атрибут пуст.
Схемы в качестве примера
Следующие примеры иллюстрируют типичные взаимодействия между MS и MR.


