AudioGroup Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
AudioGroup — это звуковой концентратор для динамиков, микрофона и AudioStream
s.
[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
s. Каждый из этих компонентов можно логически включить или отключить с помощью вызова #setMode(int)
или RtpStream#setMode(int)
отключения. AudioGroup будет проходить через эти компоненты и обрабатывать их по одному в цикле выполнения. Цикл состоит из четырех шагов. Во-первых, для каждого аудиопотока, не входящего RtpStream#MODE_SEND_ONLY
, декодирует входящие пакеты и сохраняет их в буфере. Затем, если микрофон включен, обрабатывает записанный звук и сохраняет его в буфере. В-третьих, если динамик включен, перемешивает все буферы AudioStream и воспроизводит их обратно. Наконец, для каждого аудиопотока, не входящего RtpStream#MODE_RECEIVE_ONLY
, смешивает все остальные буферы и отправляет обратно закодированные пакеты. AudioGroup ничего не делает, если в нем нет AudioStream.
Прежде чем использовать эти классы, необходимо заметить несколько вещей. Производительность очень связана с системной нагрузкой и пропускной способностью сети. Обычно более простое AudioCodec
затраты меньше циклов ЦП, но требуют больше пропускной способности сети и наоборот. Использование двух аудиопотоков одновременно увеличивает не только нагрузку, но и пропускную способность. Условие зависит от одного устройства к другому, и разработчики должны выбрать правильное сочетание, чтобы получить лучший результат.
Иногда полезно хранить несколько звуковых групп одновременно. Например, приложение Voice over IP (VoIP) может потребоваться поместить конференц-звонок на удержание, чтобы сделать новый звонок, но по-прежнему разрешать людям в конференц-звоноке друг с другом. Это можно сделать легко с помощью двух аудиогрупп, но есть некоторые ограничения. Так как динамик и микрофон являются глобально общими ресурсами, только одна аудиогруппа за раз может выполняться в режиме, отличном от #MODE_ON_HOLD
режима. Остальные не смогут получить эти ресурсы и безмолвно.
<p class="note">Using this class требует android.Manifest.permission#RECORD_AUDIO
разрешения. Разработчики должны задать режим AudioManager#MODE_IN_COMMUNICATION
звука для использования AudioManager#setMode(int)
и изменить его обратно, если ни одна из аудиогрупп не используется.</P>
Этот элемент считается нерекомендуемым. android.net.sip.SipManager
и связанные классы больше не поддерживаются и не должны использоваться в качестве основы будущих приложений VOIP.
Документация по Java для android.net.rtp.AudioGroup
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.
Конструкторы
AudioGroup() |
Создает пустую аудиогруппу. |
AudioGroup(Context) |
Создает пустую аудиогруппу. |
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, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>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 — это звуковой концентратор для динамиков, микрофона и |