Ich muss zwei Instanzen von AudioTrack zur gleichen Zeit ausführen. Sie müssen separat laufen, weil ich sie mit unterschiedlichen, variablen Abtastraten spiele. Ich habe festgestellt, dass, wenn ich sie im selben Thread laufe, sie sich "abwechseln". Ich führe sie jeweils in ihrem eigenen Thread, aber das Audio stottert.Android: Mischen mehrerer AudioTrack-Instanzen?
Irgendwelche Ideen, um zwei Instanzen schön zu machen? Wenn nicht, irgendwelche Tipps zum Mischen von zwei kurzen Puffern in einen, auch wenn ich sie mit unterschiedlichen Sample-Raten spielen möchte.
Dank aufgezeichnet zurück! Werde das versuchen. Ich erstelle meinen AudioTrack nicht im Thread-Callback, wie Sie es sind. Ich schätze, das ist die Heilung (der Rest Ihres Codes ist fast identisch mit dem, was ich habe). Das würde erklären, warum die beiden AudioTracks "toggeln" - sie blockieren sich gegenseitig. – BTR
Lassen Sie mich wissen, ob dies für Sie funktioniert. Ich habe auch all das in einer anderen Klasse eingepackt, die die gesamte Thread-Verwaltung für mich übernimmt. Ich kann dann den Thread-Manager anrufen und muss mich nicht um das Threading kümmern, um die Streams aufzunehmen oder abzuspielen. – DeliveryNinja
Es gab ein wenig mehr als das, aber der eigentliche Schlüssel war das Erstellen des AudioTrack innerhalb des Threads. Ich hatte eine separate Art von "Device" -Klasse, so dass ich Tempo, Lautstärke usw. darauf kontrollieren konnte. Wenn man es in die Klasse einfügt, die die Datei liest und alles in einem Thread macht, können sie gut spielen. Mache jetzt Tracks auf meinem Optimus (600MHz). :) – BTR