1ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano/* 2ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano * Copyright 2016 The Android Open Source Project 3ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano * 4ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano * Licensed under the Apache License, Version 2.0 (the "License"); 5ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano * you may not use this file except in compliance with the License. 6ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano * You may obtain a copy of the License at 7ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano * 8ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano * http://www.apache.org/licenses/LICENSE-2.0 9ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano * 10ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano * Unless required by applicable law or agreed to in writing, software 11ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano * distributed under the License is distributed on an "AS IS" BASIS, 12ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano * See the License for the specific language governing permissions and 14ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano * limitations under the License. 15ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano */ 16ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano 17ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozanopackage android.media; 18ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano 19653cc0ab6d5b714d1f26adcd08f9bc3269b62fa0jiabinimport android.media.MicrophoneInfo; 20653cc0ab6d5b714d1f26adcd08f9bc3269b62fa0jiabin 21f14db3c3ebc1ea29b3eb5b7e9b944cabcb5f83ffEric Laurent/* Native code must specify namespace media (media::IAudioRecord) when referring to this class */ 22ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozanointerface IAudioRecord { 23ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano 24ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano /* After it's created the track is not active. Call start() to 25ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano * make it active. 26ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano */ 27ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano void start(int /*AudioSystem::sync_event_t*/ event, 28ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano int /*audio_session_t*/ triggerSession); 29ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano 30ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano /* Stop a track. If set, the callback will cease being called and 31ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano * obtainBuffer will return an error. Buffers that are already released 32ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano * will be processed, unless flush() is called. 33ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano */ 34ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano void stop(); 35653cc0ab6d5b714d1f26adcd08f9bc3269b62fa0jiabin 36653cc0ab6d5b714d1f26adcd08f9bc3269b62fa0jiabin /* Get a list of current active microphones. 37653cc0ab6d5b714d1f26adcd08f9bc3269b62fa0jiabin */ 38653cc0ab6d5b714d1f26adcd08f9bc3269b62fa0jiabin void getActiveMicrophones(out MicrophoneInfo[] activeMicrophones); 39ff6900d8f991aac0b67b625f8a1d4d0461b4c50eIvan Lozano} 40