AudioGroup Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
AudioGroup — это аудиоцентр для динамиков, микрофона и AudioStream
.
[Android.Runtime.Register("android/net/rtp/AudioGroup", DoNotGenerateAcw=true)]
public class AudioGroup : Java.Lang.Object
[<Android.Runtime.Register("android/net/rtp/AudioGroup", DoNotGenerateAcw=true)>]
type AudioGroup = class
inherit Object
- Наследование
- Атрибуты
Комментарии
AudioGroup — это аудиоцентр для динамиков, микрофона и AudioStream
. Каждый из этих компонентов можно логически включить или отключить путем вызова #setMode(int)
или RtpStream#setMode(int)
. AudioGroup будет проходить через эти компоненты и обрабатывать их по очереди в цикле выполнения. Цикл состоит из четырех этапов. Во-первых, для каждого AudioStream, не в RtpStream#MODE_SEND_ONLY
, декодирует входящие пакеты и сохраняет их в буфере. Затем, если микрофон включен, обрабатывает записанный звук и сохраняет его в буфере. В-третьих, если динамик включен, смешивает все буферы AudioStream и воспроизводит его. Наконец, для каждого AudioStream, не в RtpStream#MODE_RECEIVE_ONLY
, смешивает все остальные буферы и отправляет обратно закодированные пакеты. AudioGroup ничего не делает, если в ней нет AudioStream.
Прежде чем использовать эти классы, необходимо обратить внимание на некоторые моменты. Производительность сильно связана с нагрузкой на систему и пропускной способностью сети. Обычно для более AudioCodec
простого требуется меньше циклов ЦП, но требуется больше пропускной способности сети и наоборот. Одновременное использование двух аудиопотоков удваивает не только нагрузку, но и пропускную способность. Условия зависят от устройства к другому, и разработчики должны выбрать правильное сочетание, чтобы получить наилучший результат.
Иногда бывает полезно хранить несколько audioGroup одновременно. Например, приложению голосовой связи по IP (VoIP) может потребоваться поставить конференцию на удержание, чтобы сделать новый звонок, но по-прежнему позволить людям в конференции общаться друг с другом. Это можно легко сделать с помощью двух AudioGroup, но существуют некоторые ограничения. Так как динамик и микрофон являются глобальными общими ресурсами, только одна группа AudioGroup за раз может работать в режиме, отличном от #MODE_ON_HOLD
. Остальные не смогут получить эти ресурсы и выполнить сбой в автоматическом режиме.
<p class="note">Для использования этого класса требуется android.Manifest.permission#RECORD_AUDIO
разрешение. Разработчики должны установить режим звука на AudioManager#MODE_IN_COMMUNICATION
использование AudioManager#setMode(int)
и изменить его, если ни одна из групп AudioGroup не используется.</P>
Этот элемент устарел. android.net.sip.SipManager
и связанные классы больше не поддерживаются и не должны использоваться в качестве основы для будущих приложений VOIP.
Документация по Java для android.net.rtp.AudioGroup
.
Части этой страницы являются изменениями, основанными на работе, созданной и совместно используемой проектом и используемой в соответствии с условиями, Creative Commons 2.5 Attribution License Creative Commons 2.5 Attribution License.
Конструкторы
AudioGroup() |
Создает пустую audioGroup. |
AudioGroup(Context) |
Создает пустую audioGroup. |
AudioGroup(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
Свойства
Class |
Возвращает класс среды выполнения данного объекта |
Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
JniIdentityHashCode |
AudioGroup — это аудиоцентр для динамиков, микрофона и |
JniPeerMembers |
AudioGroup — это аудиоцентр для динамиков, микрофона и |
Mode |
Возвращает текущий режим. -или- Изменяет текущий режим. |
PeerReference |
AudioGroup — это аудиоцентр для динамиков, микрофона и |
ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
Методы
Clear() |
Удаляет все |
Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
Dispose() |
AudioGroup — это аудиоцентр для динамиков, микрофона и |
Dispose(Boolean) |
AudioGroup — это аудиоцентр для динамиков, микрофона и |
Equals(Object) |
Указывает, равен ли какой-то другой объект этому объекту. (Унаследовано от Object) |
GetHashCode() |
Возвращает значение хэш-кода для объекта. (Унаследовано от Object) |
GetStreams() |
Возвращает объекты в |
JavaFinalize() |
Вызывается сборщиком мусора для объекта , когда сборка мусора определяет, что больше нет ссылок на объект . (Унаследовано от Object) |
Notify() |
Пробуждение одного потока, ожидающего на мониторе этого объекта. (Унаследовано от Object) |
NotifyAll() |
Активирует все потоки, ожидающие на мониторе этого объекта. (Унаследовано от Object) |
SendDtmf(Int32) |
Отправляет цифру DTMF каждому |
SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
ToArray<T>() |
AudioGroup — это аудиоцентр для динамиков, микрофона и |
ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
UnregisterFromRuntime() |
AudioGroup — это аудиоцентр для динамиков, микрофона и |
Wait() |
Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления/><em> или <прерывания></em>. (Унаследовано от Object) |
Wait(Int64) |
Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> em, либо до истечения определенного количества реального времени. (Унаследовано от Object) |
Wait(Int64, Int32) |
Заставляет текущий поток ждать, пока он не будет пробужден, как правило, из-за <уведомления</>em>, <>прерывания< или> em, либо до истечения определенного количества реального времени. (Унаследовано от Object) |
Явные реализации интерфейса
IJavaPeerable.Disposed() |
AudioGroup — это аудиоцентр для динамиков, микрофона и |
IJavaPeerable.DisposeUnlessReferenced() |
AudioGroup — это аудиоцентр для динамиков, микрофона и |
IJavaPeerable.Finalized() |
AudioGroup — это аудиоцентр для динамиков, микрофона и |
IJavaPeerable.JniManagedPeerState |
AudioGroup — это аудиоцентр для динамиков, микрофона и |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
AudioGroup — это аудиоцентр для динамиков, микрофона и |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
AudioGroup — это аудиоцентр для динамиков, микрофона и |
IJavaPeerable.SetPeerReference(JniObjectReference) |
AudioGroup — это аудиоцентр для динамиков, микрофона и |
Методы расширения
JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверенное средой выполнения Android. |
JavaCast<TResult>(IJavaObject) |
AudioGroup — это аудиоцентр для динамиков, микрофона и |
GetJniTypeName(IJavaPeerable) |
AudioGroup — это аудиоцентр для динамиков, микрофона и |