Wenn ich versuche, das Mikrofon unter Android zu verwenden, kann ich nicht aufnehmen, wenn eine andere App es bereits verwendet. Wenn Sie einfach nicht aufnehmen können, bedeutet dies, dass der Ton, den Sie aufnehmen möchten, zu der App fließt, die das Mikrofon hält, wenn Sie nicht vorsichtig sind. Wenn VoIP-Apps gleichzeitig ausgeführt werden, kann die schlimmste Situation sein, dass die Stimme nur eine andere Person erreicht, nicht die Person, mit der Sie sprechen. .. ..
Erkennt, dass Ihre App das Mikrofon nicht verwenden kann, und beendet die Aufnahme.
Der Fluss ist bei der Aufnahme wie folgt. AudioRecord
AudioRecord audioRecord = new AudioRecord(,,,,);
audioRecord.setRecordPositionupdateListener(new AudioRecord.OnRecordPositionupdateListener() {
//Verarbeitung für jeden Frame
@Override
public void onPeriodicNotification(AudioRecord recorder) {
audioRecord.read();
}
});
audioRecord.setPositionNotificationPeriod();
audioRecord.startRecording();
audioRecord.read();
・
・
・
audioRecord.stop();
Es scheint jedoch, dass keine der Funktionen einen Fehler zurückgibt, selbst wenn andere Apps das Mikrofon verwenden. .. ..
Es gab jedoch einen Unterschied mit und ohne Konkurrenz um die Verwendung von Mikrofonen. Wenn Sie das Mikrofon nicht bekommen können, scheint es nicht onPeriodicNotification aufzurufen, was der Rückruf für die Frame-für-Frame-Verarbeitung ist.
Wenn onPeriodicNotification nach einer bestimmten Zeit nicht aufgerufen wird, kann daher festgestellt werden, dass eine andere App das Mikrofon erworben hat.
** Inhalt ** Stellen Sie sicher, dass onPeriodicNotification während eines Online-Anrufs, Facebook Messenger, nicht aufgerufen wird Umgebung Nexus 6 (7.1.1) , Nexus 7 (6.0.1)
――Bitte lassen Sie mich wissen, ob es einen besseren Weg gibt! ――Bitte lassen Sie mich wissen, wenn Sie es mit dieser Methode nicht erkennen können!
Recommended Posts