/*
 * Copyright (C) 2014 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.media;


An AudioPatch describes a connection between audio sources and audio sinks. An audio source can be an output mix (playback AudioBus) or an input device (microphone). An audio sink can be an output device (speaker) or an input mix (capture AudioBus). An AudioPatch is created by AudioManager.createAudioPatch() and released by AudioManager.releaseAudioPatch() It contains the list of source and sink AudioPortConfig showing audio port configurations being connected.
@hide
/** * An AudioPatch describes a connection between audio sources and audio sinks. * An audio source can be an output mix (playback AudioBus) or an input device (microphone). * An audio sink can be an output device (speaker) or an input mix (capture AudioBus). * An AudioPatch is created by AudioManager.createAudioPatch() and released by * AudioManager.releaseAudioPatch() * It contains the list of source and sink AudioPortConfig showing audio port configurations * being connected. * @hide */
public class AudioPatch { private final AudioHandle mHandle; private final AudioPortConfig[] mSources; private final AudioPortConfig[] mSinks; AudioPatch(AudioHandle patchHandle, AudioPortConfig[] sources, AudioPortConfig[] sinks) { mHandle = patchHandle; mSources = sources; mSinks = sinks; }
Retrieve the list of sources of this audio patch.
/** * Retrieve the list of sources of this audio patch. */
public AudioPortConfig[] sources() { return mSources; }
Retreive the list of sinks of this audio patch.
/** * Retreive the list of sinks of this audio patch. */
public AudioPortConfig[] sinks() { return mSinks; }
Get the system unique patch ID.
/** * Get the system unique patch ID. */
public int id() { return mHandle.id(); } @Override public String toString() { StringBuilder s = new StringBuilder(); s.append("mHandle: "); s.append(mHandle.toString()); s.append(" mSources: {"); for (AudioPortConfig source : mSources) { s.append(source.toString()); s.append(", "); } s.append("} mSinks: {"); for (AudioPortConfig sink : mSinks) { s.append(sink.toString()); s.append(", "); } s.append("}"); return s.toString(); } }