1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/openharmony-telephony_call_manager

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

Управление вызовами

Введение

Модуль управления вызовами в основном управляет тремя типами вызовов: циркуит-свитчен (CS), IP multimedia subsystem (IMS) и over the top (OTT) вызовами. Он отвечает за запрос аудио- и видеоресурсов для вызова и решение конфликтов при многоканальном вызове. Модуль состоит из шести частей: взаимодействие с пользовательским интерфейсом (CallServiceAbility), управление службой (CallManagerService), управление вызовами (Management of Calls), управление аудио (Management of Audio), управление видео (Management of Video) и управление Bluetooth (Management of Bluetooth).1. CallServiceAbility: реализует взаимодействие с пользовательским интерфейсом вызова, например, запуск интерфейса клавиатуры для набора номера и передачу состояния входящего вызова пользовательскому интерфейсу. 2. CallManagerService: запускает и инициализирует управление вызовами. 3. Управление вызовами: обрабатывает действия по исходящим вызовам (например, набор, принятие и завершение) и состояние входящих вызовов (например, состояние входящего вызова и состояние ожидания вызова), а также решает конфликты, возникающие во время вызова. 4. Управление аудио: запрашивает аудиоресурсы для вызова и освобождает эти ресурсы после завершения вызова. Эта часть зависит от мультимедийной подсистемы и требует вызова её API для выполнения операций, связанных с аудио. 5. Управление видео: запрашивает видеоресурсы для вызова и освобождает эти ресурсы после завершения вызова. Эта часть зависит от мультимедийной подсистемы и требует вызова её API для выполнения операций, связанных с видео. 6. Управление Bluetooth: запрашивает Bluetooth-ресурсы для вызова и освобождает эти ресурсы после завершения вызова. Кроме того, эта часть обрабатывает вызовы, инициированные Bluetooth-устройствами, такие как принятие и завершение вызова.Следующая диаграмма показывает архитектуру модуля управления вызовами.

Рисунок 1 Архитектура модуля управления вызовами

Архитектура модуля управления вызовами## Структура каталога

/base/телефония/manager_вызовов
├─ figures                                 # Изображения README файлов
├─ frameworks                              # Фреймворки
│  ├─ js                                   # Код на JavaScript
│  └─ native                               # Нативный код
├─ interfaces                              # API
│  ├─ innerkits                            # Внутренние API
│  └─ kits                                 # Внешние API (например, JS API)
├─ профиль_sa                              # Профиль SA
├─ сервисы                                # Сервисный код
│  ├─ аудио                               # Управление аудио
│  ├─ блютуз                              # Управление вызовами через Bluetooth
│  ├─ вызов                               # Сервис вызова
│  ├─ сервис_менеджера_вызовов            # Сервис менеджера вызовов
│  ├─ отчет_вызовов                       # Отчет о состоянии вызовов
│  ├─ настройка_вызовов                   # Настройка вызовов
│  ├─ взаимодействие_телефонии            # Взаимодействие с основным сервисом телефонии
│  └─ видео                                # Код управления видео
├─ тест                                    # Тестовый код
│  ├─ fuzztest                             # Тестирование на основе случайных данных
│  ├─ mock                                 # Тестирование с использованием моков
│  └─ unittest                             # Единичные тесты
└─ utils                                   # Инструменты

Ограничения - Язык программирования: JavaScript

  • В плане программного обеспечения этот модуль должен работать с подсистемой Безопасности, подсистемой Мультимедиа, а также с подсистемой Интеллектуального Программного Автобуса (Bluetooth модуль) и сервисом основной телефонии (core_service) и модулем мобильных вызовов (cellular_call).
  • В плане аппаратного обеспечения устройство должно быть оснащено динамиком или наушниками, а также гарнитурой.

Доступные API Таблица 1 Внешние API, предоставляемые модулем Call Manager

Описание

Функционал

Необходимое разрешение

function dial(phoneNumber: string, options: DialOptions, callback: AsyncCallback<boolean>): void;

Выполняет операцию набора номера.

ohos.permission.PLACE_CALL

function isImsSwitchEnabledSync(slotId: number): boolean;

Проверяет, включена ли поддержка высококачественного голосового соединения VoLTE (параметр slotId представляет собой ID слота SIM, где 0 указывает на первую карту SIM, а 1 — на вторую).

ohos.permission.USE_IMS

ohos.permission.PLACE_CALL

**Таблица 2** Параметры API Dial

Параметр

Описание

phoneNumber: string

Номер телефона

options: DialOptions

Параметры подключения (подробнее см. следующую таблицу)

callback: AsyncCallback<boolean>

Результат асинхронного выполнения. Значение true указывает на успешное подключение, значение false указывает на неудачное подключение.

**Таблица 3** Описание параметров options: DialOptions

Параметр

Тип

Описание

Обязательный

Значение по умолчанию

extras

boolean

False: аудио; True: видео

Нет

False

Правила использования### Вызов API Dial для совершения звонка

  1. Создайте параметры phoneNumber и options.
  2. Вызовите API Dial в режиме обратного вызова или промиса.
  3. Получите результат вызова. API Dial работает асинхронно. Результат вызова возвращается через обратный вызов.
import call from "@ohos.telephony.call";

let phoneNumber = "12312312312";

// Вызов API в режиме обратного вызова.
call.dial(phoneNumber, { extras: false }, (err, value) => {
  if (err) {
    // Если вызов API провалился, err не пустой.
    console.error(`Не удалось совершить звонок из-за ошибки: ${err.message}`);
    return;
  }
  // Если вызов API прошел успешно, err пустой.
  console.log(`Успешно выполнен звонок: ${value}`);
});

// Вызов API в режиме промиса.
let promise = call.dial(phoneNumber, { extras: false });
promise.then((value) => {
  // Вызов API прошел успешно.
  console.log(`Успешно выполнен звонок: ${value}`);
}).catch((err) => {
  // Вызов API провалился.
  console.error(`Не удалось совершить звонок из-за ошибки: ${err.message}`);
});

Проверьте, включен ли сервис VoLTE HD

  1. Вы можете проверить, включен ли сервис VoLTE HD, вызывая метод isImsSwitchEnabledSync.

  2. Этот интерфейс является синхронным, и результат выполнения метода isImsSwitchEnabledSync будет возвращен вместе с любыми связанными результатами выполнения.

import call from "@ohos.telephony.call";

try {
  // Вызов интерфейса [метод Sync]
  let isEnabled: boolean = call.isImsSwitchEnabledSync(0);
  // Успешный вызов интерфейса
  console.log(`isImsSwitchEnabledSync успешен: ${isEnabled}`);
} catch (error) {
  // Неудачный вызов интерфейса
  console.log(`isImsSwitchEnabledSync неудачен`);
}
```Представленный текст требует перевода следующих частей:

```markdown
## Вовлечённые репозитории

[Телефония](https://gitee.com/openharmony/docs/blob/master/en/readme/telephony.md)

**telephony_call_manager**

[telephony_core_service](https://gitee.com/openharmony/telephony_core_service/blob/master/README.md)

[telephony_cellular_call](https://gitee.com/openharmony/telephony_cellular_call/blob/master/README.md)

Однако, поскольку нет конкретного текста внутри этих ссылок, который был бы нужен для перевода, то есть текст внутри ссылок не представлен здесь, то перевод невозможен без доступа к этим страницам.

Для того чтобы выполнить перевод, вам следует предоставить конкретный текст внутри этих ссылок. Если вы хотите, чтобы я извлёк текст из этих ссылок, это потребует доступа к интернету и времени для его извлечения.

Также стоит отметить, что названия репозиториев и ссылки остаются без изменений, так как они являются частью адреса и не требуют перевода.

Если вы хотите, чтобы я перевёл какие-то конкретные части текста, пожалуйста, предоставьте этот текст.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Управление всеми типами соединений вызовов. Развернуть Свернуть
Apache-2.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/openharmony-telephony_call_manager.git
git@api.gitlife.ru:oschina-mirror/openharmony-telephony_call_manager.git
oschina-mirror
openharmony-telephony_call_manager
openharmony-telephony_call_manager
master