Compartilhar via


AudioGroup Classe

Definição

Um AudioGroup é um hub de áudio para o alto-falante, o microfone e 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
Herança
AudioGroup
Atributos

Comentários

Um AudioGroup é um hub de áudio para o alto-falante, o microfone e AudioStreams. Cada um desses componentes pode ser logicamente ativado ou desativado chamando #setMode(int) ou RtpStream#setMode(int). O AudioGroup passará por esses componentes e os processará um a um dentro de seu loop de execução. O loop consiste em quatro etapas. Primeiro, para cada AudioStream que não está no RtpStream#MODE_SEND_ONLY, decodifica seus pacotes de entrada e armazena em seu buffer. Em seguida, se o microfone estiver ativado, processa o áudio gravado e armazena em seu buffer. Terceiro, se o alto-falante estiver ativado, mixa todos os buffers do AudioStream e reproduz. Finalmente, para cada AudioStream que não está no RtpStream#MODE_RECEIVE_ONLY, mistura todos os outros buffers e envia de volta os pacotes codificados. Um AudioGroup não faz nada se não houver AudioStream nele.

Poucas coisas devem ser notadas antes de usar essas classes. O desempenho está altamente relacionado à carga do sistema e à largura de banda da rede. Normalmente, um mais simples AudioCodec custa menos ciclos de CPU, mas requer mais largura de banda de rede, e vice-versa. Usar dois AudioStreams ao mesmo tempo dobra não apenas a carga, mas também a largura de banda. A condição varia de um dispositivo para outro, e os desenvolvedores devem escolher a combinação certa para obter o melhor resultado.

Às vezes, é útil manter vários AudioGroups ao mesmo tempo. Por exemplo, um aplicativo de voz sobre IP (VoIP) pode querer colocar uma chamada em conferência em espera para fazer uma nova chamada, mas ainda permitir que as pessoas na chamada em conferência falem umas com as outras. Isso pode ser feito facilmente usando dois AudioGroups, mas há algumas limitações. Como o alto-falante e o microfone são recursos compartilhados globalmente, apenas um AudioGroup por vez tem permissão para ser executado em um modo diferente do #MODE_ON_HOLD. Os demais não conseguirão adquirir esses recursos e fracassarão silenciosamente.

<p class="note">Usar essa classe requer android.Manifest.permission#RECORD_AUDIO permissão. Os desenvolvedores devem definir o modo de áudio para AudioManager#MODE_IN_COMMUNICATION usar AudioManager#setMode(int) e alterá-lo novamente quando nenhum dos AudioGroups estiver em uso.</p>

Este membro foi preterido. android.net.sip.SipManager e as classes associadas não são mais suportadas e não devem ser usadas como base de futuros aplicativos VOIP.

Documentação Java para android.net.rtp.AudioGroup.

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Android Open Source Project e usado de acordo com os termos descritos na Creative Commons 2.5 Attribution License.

Construtores

AudioGroup()

Cria um AudioGroup vazio.

AudioGroup(Context)

Cria um AudioGroup vazio.

AudioGroup(IntPtr, JniHandleOwnership)

Um construtor usado ao criar representações gerenciadas de objetos JNI; chamado pelo tempo de execução.

Propriedades

Class

Retorna a classe de tempo de execução deste Object.

(Herdado de Object)
Handle

O identificador para a instância subjacente do Android.

(Herdado de Object)
JniIdentityHashCode

Um AudioGroup é um hub de áudio para o alto-falante, o microfone e AudioStreams.

(Herdado de Object)
JniPeerMembers

Um AudioGroup é um hub de áudio para o alto-falante, o microfone e AudioStreams.

Mode

Retorna o modo atual. -ou- Altera o modo atual.

PeerReference

Um AudioGroup é um hub de áudio para o alto-falante, o microfone e AudioStreams.

(Herdado de Object)
ThresholdClass

Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

ThresholdType

Esta API suporta a infraestrutura Mono para Android e não se destina a ser usada diretamente do seu código.

Métodos

Clear()

Remove todos AudioStream neste grupo.

Clone()

Cria e retorna uma cópia desse objeto.

(Herdado de Object)
Dispose()

Um AudioGroup é um hub de áudio para o alto-falante, o microfone e AudioStreams.

(Herdado de Object)
Dispose(Boolean)

Um AudioGroup é um hub de áudio para o alto-falante, o microfone e AudioStreams.

(Herdado de Object)
Equals(Object)

Indica se algum outro objeto é "igual" a este.

(Herdado de Object)
GetHashCode()

Retorna um valor de código hash para o objeto.

(Herdado de Object)
GetStreams()

Retorna o AudioStreams neste grupo.

JavaFinalize()

Chamado pelo coletor de lixo em um objeto quando a coleta de lixo determina que não há mais referências ao objeto.

(Herdado de Object)
Notify()

Ativa um único thread que está aguardando no monitor deste objeto.

(Herdado de Object)
NotifyAll()

Ativa todos os threads que estão aguardando no monitor deste objeto.

(Herdado de Object)
SendDtmf(Int32)

Envia um dígito DTMF para cada AudioStream um neste grupo.

SetHandle(IntPtr, JniHandleOwnership)

Define a propriedade Handle.

(Herdado de Object)
ToArray<T>()

Um AudioGroup é um hub de áudio para o alto-falante, o microfone e AudioStreams.

(Herdado de Object)
ToString()

Retorna uma representação de cadeia de caracteres do objeto.

(Herdado de Object)
UnregisterFromRuntime()

Um AudioGroup é um hub de áudio para o alto-falante, o microfone e AudioStreams.

(Herdado de Object)
Wait()

Faz com que o thread atual aguarde até que ele seja ativado, normalmente sendo <em notificado</em> ou <em>interrompido</em>>.

(Herdado de Object)
Wait(Int64, Int32)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)
Wait(Int64)

Faz com que o thread atual aguarde até que ele seja despertado, normalmente sendo <em>notificado</em> ou <em interrompido</em>, ou até que>uma certa quantidade de tempo real tenha decorrido.

(Herdado de Object)

Implantações explícitas de interface

IJavaPeerable.Disposed()

Um AudioGroup é um hub de áudio para o alto-falante, o microfone e AudioStreams.

(Herdado de Object)
IJavaPeerable.DisposeUnlessReferenced()

Um AudioGroup é um hub de áudio para o alto-falante, o microfone e AudioStreams.

(Herdado de Object)
IJavaPeerable.Finalized()

Um AudioGroup é um hub de áudio para o alto-falante, o microfone e AudioStreams.

(Herdado de Object)
IJavaPeerable.JniManagedPeerState

Um AudioGroup é um hub de áudio para o alto-falante, o microfone e AudioStreams.

(Herdado de Object)
IJavaPeerable.SetJniIdentityHashCode(Int32)

Um AudioGroup é um hub de áudio para o alto-falante, o microfone e AudioStreams.

(Herdado de Object)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Um AudioGroup é um hub de áudio para o alto-falante, o microfone e AudioStreams.

(Herdado de Object)
IJavaPeerable.SetPeerReference(JniObjectReference)

Um AudioGroup é um hub de áudio para o alto-falante, o microfone e AudioStreams.

(Herdado de Object)

Métodos de Extensão

JavaCast<TResult>(IJavaObject)

Executa uma conversão de tipo verificada em tempo de execução do Android.

JavaCast<TResult>(IJavaObject)

Um AudioGroup é um hub de áudio para o alto-falante, o microfone e AudioStreams.

GetJniTypeName(IJavaPeerable)

Um AudioGroup é um hub de áudio para o alto-falante, o microfone e AudioStreams.

Aplica-se a