Поделиться через


AudioGroup Класс

Определение

AudioGroup — это звуковой концентратор для динамиков, микрофона и AudioStreams.

[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
Атрибуты

Комментарии

AudioGroup — это звуковой концентратор для динамиков, микрофона и AudioStreams. Каждый из этих компонентов можно логически включить или отключить с помощью вызова #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

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
Handle

Дескриптор базового экземпляра Android.

(Унаследовано от Object)
JniIdentityHashCode

AudioGroup — это звуковой концентратор для динамиков, микрофона и AudioStreams.

(Унаследовано от Object)
JniPeerMembers

AudioGroup — это звуковой концентратор для динамиков, микрофона и AudioStreams.

Mode

Возвращает текущий режим. -или- Изменяет текущий режим.

PeerReference

AudioGroup — это звуковой концентратор для динамиков, микрофона и AudioStreams.

(Унаследовано от Object)
ThresholdClass

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

ThresholdType

Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода.

Методы

Clear()

Удаляет каждую AudioStream из этих групп.

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
Dispose()

AudioGroup — это звуковой концентратор для динамиков, микрофона и AudioStreams.

(Унаследовано от Object)
Dispose(Boolean)

AudioGroup — это звуковой концентратор для динамиков, микрофона и AudioStreams.

(Унаследовано от Object)
Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
GetHashCode()

Возвращает значение хэш-кода для объекта.

(Унаследовано от Object)
GetStreams()

Возвращает значения AudioStreamв этой группе.

JavaFinalize()

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
Notify()

Пробуждение одного потока, ожидающего монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
SendDtmf(Int32)

Отправляет цифру DTMF каждому AudioStream из этих групп.

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
ToArray<T>()

AudioGroup — это звуковой концентратор для динамиков, микрофона и AudioStreams.

(Унаследовано от Object)
ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
UnregisterFromRuntime()

AudioGroup — это звуковой концентратор для динамиков, микрофона и AudioStreams.

(Унаследовано от Object)
Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>.

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)

Явные реализации интерфейса

IJavaPeerable.Disposed()

AudioGroup — это звуковой концентратор для динамиков, микрофона и AudioStreams.

(Унаследовано от Object)
IJavaPeerable.DisposeUnlessReferenced()

AudioGroup — это звуковой концентратор для динамиков, микрофона и AudioStreams.

(Унаследовано от Object)
IJavaPeerable.Finalized()

AudioGroup — это звуковой концентратор для динамиков, микрофона и AudioStreams.

(Унаследовано от Object)
IJavaPeerable.JniManagedPeerState

AudioGroup — это звуковой концентратор для динамиков, микрофона и AudioStreams.

(Унаследовано от Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

AudioGroup — это звуковой концентратор для динамиков, микрофона и AudioStreams.

(Унаследовано от Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

AudioGroup — это звуковой концентратор для динамиков, микрофона и AudioStreams.

(Унаследовано от Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

AudioGroup — это звуковой концентратор для динамиков, микрофона и AudioStreams.

(Унаследовано от Object)

Методы расширения

JavaCast<TResult>(IJavaObject)

Выполняет преобразование типа, проверяемого средой выполнения Android.

JavaCast<TResult>(IJavaObject)

AudioGroup — это звуковой концентратор для динамиков, микрофона и AudioStreams.

GetJniTypeName(IJavaPeerable)

AudioGroup — это звуковой концентратор для динамиков, микрофона и AudioStreams.

Применяется к